on *:text:!*:#: {
if ($nick isop $chan) {
if ($1 == !op) {
if ($2 == $null) .notice $nick Syntax: !op <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 isop $chan) .notice $nick $2 is already an op in $+($chan,.)
else { cs op $chan $2 }
}
elseif ($1 == !deop) {
if ($2 == $null) .notice $nick Syntax: !deop <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 !isop $chan) .notice $nick $2 is not an op in $+($chan,.)
else { cs deop $chan $2 }
}
elseif ($1 == !halfop) {
if ($2 == $null) .notice $nick Syntax: !halfop <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 ishop $chan) .notice $nick $2 is already an halfop in $+($chan,.)
else { cs halfop $chan $2 }
}
elseif ($1 == !dehalfop) {
if ($2 == $null) .notice $nick Syntax: !halfop <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 !ishop $chan) .notice $nick $2 is not an halfop in $+($chan,.)
else {cs dehalfop $chan $2 }
}
if (($nick isop $chan) || ($nick ishop $chan)) {
if ($1 == !voice) {
if ($2 == $null) .notice $nick Syntax: !voice <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 isvoice $chan) .notice $nick $2 is already an voice in $+($chan,.)
else { cs voice $chan $2 }
}
elseif ($1 == !devoice) {
if ($2 == $null) .notice $nick Syntax: !devoice <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($2 !isvoice $chan) .notice $nick $2 is not an voice in $+($chan,.)
else { cs devoice $chan $2 }
}
elseif ($1 == !kick) {
if ($2 == $null) .notice $nick Syntax: !kick <nickname> [reason]
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($nick($chan,$nick,~)) kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,]))
elseif ($nick($chan,$nick,&)) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not kick $2 $+ .
else { kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,])) }
}
elseif ($nick isop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not kick $2 $+ .
else { kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,])) }
}
elseif ($nick ishop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~)) || ($nick isop $chan)) .notice $nick You may not kick $2 $+ .
else { kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,])) }
}
}
elseif ($1 == !help) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~)) || ($nick isop $chan)) .notice $nick Commands avaliable to you: !op,!deop,!voice,!devoice,!halfop, !dehalfop, !kick, !ban, !unban, !help, !kickban, !kb. Say !command for more help.
else { .notice $nick Commands avaliable to you: !voice, !devoice, !kick, !ban, !unban, !help, !kickban, !kb. Say !command for more help. }
}
elseif ($1 == !ban) {
if ($2 == $null) .notice $nick Syntax: !ban <nickname>
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($nick($chan,$nick,~)) {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
}
elseif ($nick($chan,$nick,&)) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not ban $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
}
}
elseif ($nick isop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not ban $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
}
}
elseif ($nick ishop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~)) || ($nick isop $chan)) .notice $nick You may not kick $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
}
}
}
elseif ($1 == !unban) {
if ($readini(ban.ini,bans,$2) == $null) .notice $nick I dont remember $+($2,'s) address.
else {
var %address = $readini(ban.ini,bans,$2)
var %n = $ibl($chan,0)
while (%n > 0) {
if ($ibl($chan,%n) iswm %address) {
mode $chan -b $ibl($chan,%n)
var %try = true
}
dec %n
}
var %n = $ibl($chan,0)
var %address = $replace(%address,1,?,2,?,3,?,4,?,5,?,6,?,7,?,8,?,9,?,0,?)
while (%n > 0) {
if ($ibl($chan,%n) iswm %address) {
mode $chan -b $ibl($chan,%n)
var %try = true
}
dec %n
}
if (%try != true) .notice $nick $2 is not banned. It may be a ~c:#channel ban.
else msg $chan $2 has been unbaned.
}
}
elseif (($1 == !kb) || ($1 == !kickban)) {
if ($2 == $null) .notice $nick Syntax: <!kb|!kickban> <nickname> [reason]
elseif ($2 !ison $chan) .notice $nick $2 is not in $+($chan,.)
elseif ($nick($chan,$nick,~)) {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
}
elseif ($nick($chan,$nick,&)) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not ban $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,]))
}
}
elseif ($nick isop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~))) .notice $nick You may not ban $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,]))
} }
elseif ($nick ishop $chan) {
if (($nick($chan,$2,&)) || ($nick($chan,$2,~)) || ($nick isop $chan)) .notice $nick You may not kick $2 $+ .
else {
mode $chan +b $address($2,12)
writeini ban.ini bans $2 $address($2,5)
kick $chan $2 Requested: $nick $iif($3 == $null,,$+([,$3-,]))
}
}
}
}
}
on *:join:#:/writeini ban.ini bans $nick $address($nick,5)