It Can Be Used As A Channel Bot For Any Access Levels
menu nicklist,channel {
Auser:
.Voice $1:/guser 50 $1
.Halfop $1:/guser 100 $1
.Op $1:/guser 200 $1
.Admin $1:/guser 300 $1
.SuperAdmin $1:/guser 400 $1
}
on *:LOAD: { set %chan $?="Channel" | auser 1000 $me | join %chan }
on 50:TEXT:!voice:#: { mode %chan +v $nick }
on 50:TEXT:!devoice:#: { mode %chan -v $nick }
on 50:TEXT:!commands:#: { notice $nick !voice !devoice }
on 100:TEXT:!halfop:#: { mode # +h $nick }
on 100:TEXT:!dehalfop:#: { mode # -h $nick }
on 100:TEXT:!voice &:#: { mode # +v $2 }
on 100:TEXT:!kick &:#: { if ($nick > $2) { kick # $2 Reason: Requested by: $nick }
on 100:TEXT:!commands:#: { notice $nick !voice !devoice !halfop !dehalfop !voice nick !devoice nick !kick !k }
on 200:TEXT:!op:#: { mode # +o $nick }
on 200:TEXT:!deop:#: { mode # -o $nick }
on 200:TEXT:!voice &:#: { mode # +v $2 }
on 200:TEXT:!devoice &:#: {mode # -v $2 }
on 200:TEXT:!halfop &:#: { mode # +h $2 }
on 200:TEXT:!dehalfop &:#: { mode # -h $2 }
on 200:TEXT:!op &:#: { mode # +o $2 }
on 200:TEXT:!deop &:#: { mode # - o $2 }
on 200:TEXT:!kick &:#: { if ($nick > $2) { kick # $2 Reason: kicked } }
on 200:TEXT:!k &:#: { if ($nick > $2) { kick # $2 Reason: Requested by: $nick } }
on 200:TEXT:!ban &:#: { if ($nick > $2) { ban -k # $2 Reason: Banned } }
on 200:TEXT:!b &:#: { if ($nick > $2) { ban -k # $2 Reason: Requested by: $nick } }
on 200:TEXT:!kb &:#: { if ($nick > $2) { ban -k # $2 Reason: Requested by: $nick } }
on 200:TEXT:!kickban &:#: { if ($nick > $2) { ban -k $chan $2 Reason: Kicked/Banned } }
on 200:TEXT:!commands:#: { notice $nick !voice nick - !devoice nick - !halfop - nick !dehalfop nick - !voice nick - !devoice nick - !halfop nick - !dehalfop nick - !op nick - !deop nick - !kick nick - !k nick - !ban nick - !b nick - !kickban nick }
on 300:TEXT:!op:#: { mode # +o $nick }
on 300:TEXT:!deop:#: { mode # -o $nick }
on 300:TEXT:!voice &:#: { mode # +v $2 }
on 300:TEXT:!devoice &:#: { mode # -v $2 }
on 300:TEXT:!halfop &:#: { mode # +h $2 }
on 300:TEXT:!dehalfop &:#: { mode # -h $2 }
on 300:TEXT:!op &:#: { mode # +o $2 }
on 300:TEXT:!deop &:#: { mode # - o $2 }
on 300:TEXT:!protect:#: { mode # +a $nick }
on 300:TEXT:!deprotect:#: { cs deprotect # $nick }
on 300:TEXT:!kick &:#: { if ($nick > $2) { kick # $2 Reason: kicked } }
on 300:TEXT:!k &:#: { if ($nick > $2) { kick # $2 Reason: Requested by: $nick } }
on 300:TEXT:!ban &:#: { if ($nick > $2) { ban -k # $2 Reason: Banned } }
on 300:TEXT:!b &:#: { if ($nick > $2) { ban -k # $2 Reason: Requested by: $nick } }
on 300:TEXT:!kb &:#: { if ($nick > $2) { ban -k # $2 Reason: Requested by: $nick } }
on 300:TEXT:!kickban &:#: { if ($nick > $2) { ban -k $chan $2 Reason: Kicked/Banned } }
on 300:TEXT:!quote:#: { msg %chan -- Random Quote -- $read(quote.txt) }
on 300:TEXT:!aq &:#: { write quote.txt $2- -- added by $nick }
on 300:TEXT:!commands:#: { notice $nick !voice nick - !devoice nick - !halfop - nick !dehalfop nick - !voice nick - !devoice nick - !halfop nick - !dehalfop nick - !op nick - !deop nick - !kick nick - !k nick - !ban nick - !b nick - !kickban nick Quotes: Add - !aq Play - !quote }
on 400:TEXT:!commands:#: { notice $nick !voice nick - !devoice nick - !halfop - nick !dehalfop nick - !voice nick - !devoice nick - !halfop nick - !dehalfop nick - !op nick - !deop nick - !kick nick - !k nick - !ban nick - !b nick - !kickban nick Quotes: Add - !aq Play - !quote - Master Add users: !cline - !auV - !auH - !auO - !auA - !auSA }
on 50:JOIN:#: { mode $chan +v $nick }
on 100:JOIN:#: { mode $chan +h $nick }
on 200:JOIN:#: { mode $chan +o $nick }
on 300:JOIN:#: { mode $chan +o $nick }
on 400:TEXT:!auV &:#: { /guser 50 $2 }
on 400:TEXT:!auH &:#: { /guser 100 $2 }
on 400:TEXT:!auO &:#: { /guser 200 $2 }
on 400:TEXT:!auA &:#: { /guser 300 $2 }
on 400:TEXT:!auSA &:#: { /guser 400 $2 }
on 400:TEXT:!c-line *:#: {
var %_ban.cur = 1, %_ban.tch = $chan(0)
while (%_ban.cur <= %_ban.tch) {
if ($me isop $chan(%_ban.cur)) {
ban -u10800 $chan(%_ban.cur) $2 2
if ($nick($chan(%_ban.cur),$2,a) > 0) kick $chan(%_ban.cur) $2 C-lined for 3 hours
}
inc %_ban.cur
}
set -u10800 $+(%,ban.,$nick) $nick
}