@Alvira Sets Mode on #Test to: +b *!*@*.irccloud.com
@simo Sets Mode on #Test to: -b *!*@*.irccloud.com
@simo Sets Mode on #Test to: +b *!id-293766@*
@Alvira Sets Mode on #Test to: +b *!*@*.tooting.irccloud.com
@simo Sets Mode on #Test to: -b *!*@*.tooting.irccloud.com
@simo Sets Mode on #Test to: +b *!id-293766@*
bind mode - "#% +b" ircCloud
proc ircCloud {nick uhost hand chan mod ban} {
if {![botisop $chan]} return
if {![string match -nocase "*.irccloud.com" $ban]} return
scan $ban {%[^!]!%[^@]@%s} n u h
puthelp "MODE $chan -b+b $ban *!$u@*"
}
Haven't tested this so give it a try and reply back.
Last edited by caesar on Thu Apr 19, 2018 12:43 am, edited 1 time in total.
Once the game is over, the king and the pawn go back in the same box.
the botisisop seems off i corrected that and got this:
simo Sets Mode on #Cappuccino to: +b *!*@id-180354.highgate.irccloud.com
@Cappuccino Sets Mode on #Cappuccino to: -b+b *!*@id-180354.highgate.irccloud.com *!*@*
in msl i use the kick event to get nick ident host of the kicked irccloud user
im not sure if eggdrop would need that as well to get full info nick!user@host
proc ircCloud {nick uhost hand chan mod ban} {
if {![botisop $chan]} return
if {![string match -nocase "*.irccloud.com" $ban]} return
set id [lindex [split [lindex [split $ban @] 1] .] 0]
if {[string match "id-*" $id]} {
pushmode $chan +b *!$id@*
}
pushmode $chan -b $ban
}
Keep in mind that this will work on bans that have the id in the address, for example: *!*@id-180354.highgate.irccloud.com or Amigo!id-293766@id-293766.tooting.irccloud.com but won't work on *!*@*.tooting.irccloud.com or *!*@*.irccloud.com for instance, it will just lift the ban.
In case of wide ones like *!*@*.tooting.irccloud.com or *!*@*.irccloud.com would have to add extra code that would find what users match the ban and from there get their id.
Once the game is over, the king and the pawn go back in the same box.
well since there are various irccloud servers we need them all else it wouldnt be as effective so we would need all available paterns ( and possibly IPs to check against as well )
If you set a ban on *!*@*.irccloud.com how many users would be affected by this? You should set more restrictive bans and not wide ones like this one cos then if let's say you have 10 people with irccloud.com on their address then the bot would remove the *!*@*.irccloud.com ban and set 10 bans for each of the 10 id's it would find, basically filling the banlist.
Anyway, if you insist into adding this behavior then give try this and let me know if works or not:
ON ^*:KICK:#: {
haltdef
if (%ircloudnick == on) {
var %irccloudbanmazk = 1
while ($chan(%irccloudbanmazk)) {
var %ircloudChan $ifmatch
if ($nick(%ircloudChan,$me,@&~%)) { mode $chan +b $+(*!,$gettok($mid($address($knick,0),3),1,64),@*) }
inc %irccloudbanmazk
}
unset %ircloudnick
}
}
On *:BAN:#:{
if ($nick(#,$me,@%&~)) {
if ($regex($banmask,/(irccloud)/i)) { mode $chan -b $banmask | set %ircloudnick on }
}
}
Not triggering on *!*@*.irccloud.com is something will have to properly test. As for the weird behavior, it's actually normal. For some reason I was under the impression the id in hostname is what you wanted to ban in the first place. Will correct this as well tomorrow.
Once the game is over, the king and the pawn go back in the same box.