i've one additional problem and my tcl knowledge is not the best
If a channel is set to number 3 (private) in chantype, every user should be kicked/banned which is not in list for this channel.
I could only be some if-statement where he checks chantype and if type is number 3, he should op/voice/kickban and nothing else (ban on *@host and not qauth.usr.quakenet.org)
i hope you could help me again
EDIT: here what my idea is:
in the part "initjoin" a if-statement which checks for chantype - if this type is 3, then he doesn't continue this part with "dojoiningcommands" - he should go to a new part called eg. "dojoiningprivatcommands" and there he has only the option Op/Voice/Kickban (so if a user has no flag in a chan, he'll be banned automatically).
Would be great if the ban could be on *@host and not to *@$qauth.usr.quakenet.org because not everyone uses +x
EDIT 2: here are my tests:
the part in "initjoin":
Code: Select all
variable chantypes;
if {[channel get $chan chantype] == "3"}
{ doprivatcommands $nick $auth $chan; }
else
the "new" part:
Code: Select all
proc qbot::doprivatcommands {nick auth chan host} {
if {[getaccess $auth b $chan]} {
putquick "MODE $chan +b *!*@$host"
putquick "KICK $chan $nick :You are BANNED from this channel."
} elseif {[getaccess $auth o $chan] && [getaccess $auth a $chan]} {
putquick "MODE $chan +o $nick"
} elseif {[getaccess $auth v $chan] && [getaccess $auth a $chan]} {
putquick "MODE $chan +v $nick"
}^M elseif {
putquick "MODE $chan +b *!*@$host"
putquick "KICK $chan $nick :You are BANNED from this channel."
}
}