With this shitlist on your bot, it's almost impossible to a nick, listed on it, to stay on the same channel as the bot.
!addshit adds a nickname to bot shitlist
!delshit Removes a nickname from bot shilist
!shitlist Shows all the nickanmes on bot's shitlist
!shitreset Removes all the nicknames from bot shitlist
Note: You must change the LEVEL on the first "on text" event, to the level you have on the bot, so you can use it.
on LEVEL:text:*:#: {
if ($strip($1) == !addshit) {
.auser shitlist $2
set %shits $addtok(%shits,$2,32)
msg $chan added $2 to my shitlist
if ($2 ison $chan) && ($me isop $chan) {
var %x = 1, %y = $comchan($2,0)
while (%x <= %y) {
if ($me isop $comchan($2,%x)) {
mode $comchan($2,%x) -ov+b $2 $2 $address($2,2)
kick $comchan($2,%x) $2 4-=( ShItLiSted // Bot-Kick 4)=-
notice $2 4>> .|. ShItLiSted .|.
}
inc %x
}
}
}
if ($strip($1) == !delshit) {
if (!$2) {
msg $chan You have to input a shitlisted nickname for me to remove.
msg $chan I have $numtok(%shits,32) shitlisted nicks. %shits
halt
}
if ($2) && ($istok(%shits,$2,32)) {
.ruser shitlist $2
set %nonick $findtok(%shits,$2,32)
set %shits $deltok(%shits,%nonick,32)
unset %nonick
msg $chan User $2 successfully removed from my shitlist
halt
}
else {
if ($2) && (!$istok(%shits,$2,32)) {
msg $chan User $2 is not on my shitlist
halt
}
}
}
if ($strip($1) == !shitlist) {
if ($numtok(%shits,32) > 0) {
msg $chan At this time, my shitlisted nicks are:
msg $chan %shits
halt
}
else {
if ($numtok(%shits,32) == 0) {
msg $chan There are no shitlisted nicknames for me to show
halt
}
}
}
if ($strip($1) == !shitreset) {
rlevel shitlist
unset %shits
msg $chan Shitlist deleted
}
}
on !*:join:#: {
if ($level($nick) == shitlist) && ($me isop $chan) {
mode $chan -ov+b $nick $nick $address($nick,2)
kick $chan $nick 4-=( ShItLiSted // Bot-Kick 4)=-
notice $2 4>> .|. ShItLiSted .|.
halt
}
}
on *:nick: {
if ($level($newnick) == shitlist) {
var %x = 1, %y = $comchan($newnick,0)
while (%x <= %y) {
if ($me isop $comchan($newnick,%x)) {
mode $comchan($newnick,%x) -ov+b $newnick $newnick $address($newnick,2)
kick $comchan($newnick,%x) $newnick 4-=( ShItLiSted // Bot-Kick 4)=-
notice $newnick 4>> .|. ShItLiSted .|.
}
inc %x
}
}
}
on *:op:#: {
if ($opnick == $me) {
var %x = 1, %y = $nick($chan,0)
while (%x <= %y) {
if ($me isop $chan) && ($level($nick($chan,%x)) == shitlist) {
mode $chan -ov+b $nick($chan,%x) $nick($chan,%x) $address($nick($chan,%x),2)
kick $chan $nick($chan,%x) 4-=( ShItLiSted // Bot-Kick 4)=-
notice $nick($chan,%x) 4>> .|. ShItLiSted .|.
}
inc %x
}
}
}