Difference between revisions of "Clear-Chanlev Script for QuakeNet"
From Scriptwiki
BlackShroud (talk | contribs) |
(links enabled) |
||
Line 2: | Line 2: | ||
This script removes all known users on a #channel except owners or removes Q/L completely from #channel. | This script removes all known users on a #channel except owners or removes Q/L completely from #channel. | ||
− | + | ; # Clear-Chanlev Script by Kickchon (for [[Q]] and [[L]] on QuakeNet) (v2.0) | |
− | ; # This script removes all known users on a #channel except owners or removes Q/L completely from #channel. | + | ; # This script removes all known users on a #channel except owners or removes Q/L completely from #channel. |
− | ; # Please do nothing after typing /clearchanlev until you get a finish/error message. | + | ; # Please do nothing after typing /clearchanlev until you get a finish/error message. |
− | ; | + | ; |
− | ; # Needs Owner Access on specified #channel and you have to be authed. | + | ; # Needs Owner Access on specified #channel and you have to be authed. |
− | ; # It will not remove other Owners. | + | ; # It will not remove other Owners. |
− | ; | + | ; |
− | ; # Use /clearchanlev #channel or /clearchanlev #channel -remove if you want to remove Q/L from a channel. | + | ; # Use /clearchanlev #channel or /clearchanlev #channel -remove if you want to remove Q/L from a channel. |
− | ; | + | ; |
− | ; # Kickchon, staff member on Quakenet | + | ; # Kickchon, staff member on Quakenet |
− | ; | + | ; |
− | ; # If you think there's a bug in this Script, please contact someone in #help.script on Quakenet. | + | ; # If you think there's a bug in this Script, please contact someone in #help.script on Quakenet. |
− | + | ||
− | alias clearchanlev { | + | [[Aliases|alias]] clearchanlev { |
− | + | [[if-Then-Else|if]] (!$1) { | |
− | + | [[echo]] [[$color]](info) -at *** Clear-Chanlev: You need to specify the channel. | |
− | + | } | |
− | + | [[if-Then-Else|elseif]] (Q !ison $1) && (L !ison $1) { | |
− | + | echo $color(info) -at *** Clear-Chanlev: There is no Q or L bot on $1 $+ . | |
− | + | } | |
− | + | [[if-Then-Else|else]] { | |
− | + | set %cc.what getlname | |
− | + | set %cc.bot $iif(Q ison $1,Q,L) | |
− | + | set %cc.chan $1 | |
− | + | if ($2 == -remove) { [[set]] %cc.remove $true } | |
− | + | echo $color(info) -at *** Clear-Chanlev: Getting your %cc.bot $+ -Account Name. | |
− | + | .enable #clearchanlev | |
− | + | .[[msg]] %cc.bot whois [[$me]] | |
+ | } | ||
} | } | ||
− | + | ||
− | + | #[[Creating Groups|clearchanlev]] off | |
− | #clearchanlev off | + | |
− | + | [[On_notice|on ^*:NOTICE]]:*:*:{ | |
− | on ^*:NOTICE:*:*:{ | + | if ($nick == %cc.bot) { |
− | + | if (%cc.what == getlname) { | |
− | + | if ($1 == $me) && ($3 == authed) { | |
− | + | set %cc.account $left($5,-1) | |
− | + | } | |
− | + | if ($1- == End of list.) { | |
− | + | if (%cc.account) { | |
− | + | echo $color(info) -at *** Clear-Chanlev: Getting Userlist of %cc.chan $+ . | |
− | + | set %cc.what getchanlev | |
− | + | .msg %cc.bot chanlev %cc.chan | |
− | + | } | |
− | + | else { | |
− | + | echo $color(info) -at *** Clear-Chanlev: You are not authed. Please auth before trying to clear a chanlev-list. | |
− | + | unset %cc.* | |
− | + | .[[disable]] #clearchanlev | |
− | + | } | |
− | + | } | |
− | + | } | |
− | + | elseif (%cc.what == getchanlev) { | |
− | |||
if ($1 != %cc.account) && (End of* !iswm $1-) && (Users for channel* !iswm $1-) && (Authname* !iswm $1-) && ($1- != $str(-,29)) && $& | if ($1 != %cc.account) && (End of* !iswm $1-) && (Users for channel* !iswm $1-) && (Authname* !iswm $1-) && ($1- != $str(-,29)) && $& | ||
− | + | ($1 != Channeltype:) && (Known users* !iswm $1-) { | |
− | + | if (n !isin $iif(%cc.bot == Q,$3,$2)) { | |
− | + | [[write]] clearchanlev.txt CHANLEV %cc.chan # [ $+ [ $1 ] ] $iif(%cc.bot == Q,-amotv,-amovg) | |
− | + | } | |
− | + | elseif (n isin $iif(%cc.bot == Q,$3,$2)) { | |
− | + | set %cc.noremove $true | |
− | + | } | |
− | + | } | |
− | + | elseif ($1 == %cc.account) && (n !isin [[$iif]](%cc.bot == Q,$3,$2)) { | |
− | + | .[[remove]] "clearchanlev.txt" | |
− | + | [[unset]] %cc.* | |
− | + | .disable #clearchanlev | |
− | + | echo $color(info) -at *** Clear-Chanlev: You are not the owner of that channel. Halting... | |
− | + | } | |
− | + | elseif (End* [[iswm]] $1-) { | |
− | + | if (%cc.remove) { | |
− | + | if (%cc.noremove) { | |
− | + | echo $color(info) -at *** Clear-Chanlev: You may not remove %cc.bot $+ . You are not the only owner on %cc.chan $+ . | |
− | + | .remove "clearchanlev.txt" | |
− | + | unset %cc.* | |
− | + | .disable #clearchanlev | |
− | + | [[halt]] | |
− | + | } | |
− | + | else { | |
− | + | write clearchanlev.txt CHANLEV %cc.chan # [ $+ [ %cc.account ] ] $iif(%cc.bot == Q,-amnotv,-amnovg) | |
− | + | } | |
− | + | } | |
− | + | set %cc.what removeusers | |
− | + | echo $color(info) -at *** Clear-Chanlev: There are $lines(clearchanlev.txt) Users to remove. It will take about $& | |
− | + | [[$calc]]([[$lines]](clearchanlev.txt)*2) seconds. Removing... | |
− | + | .[[play]] %cc.bot clearchanlev.txt 2000 | |
− | + | } | |
− | + | } | |
− | + | [[haltdef]] | |
+ | } | ||
} | } | ||
− | + | ||
− | + | [[On_playend|on *:PLAYEND]]:{ | |
− | on *:PLAYEND:{ | + | if ([[$nopath]]([[$filename]]) == clearchanlev.txt) { |
− | + | echo $color(info) -at *** Clear-Chanlev: Successfully Removed $iif(%cc.remove,$iif(%cc.bot == Q,Q,L) from,all Non-Owners on) %cc.chan $+ . | |
− | + | if (!%cc.remove) { .msg %cc.bot chanlev %cc.chan } | |
− | + | unset %cc.* | |
− | + | .remove "clearchanlev.txt" | |
− | + | .disable #clearchanlev | |
− | + | } | |
} | } | ||
− | + | ||
+ | #clearchanlev end | ||
− | |||
[[Category:Script Archive]] | [[Category:Script Archive]] |
Revision as of 15:49, 25 August 2005
Clear-Chanlev Script by Kickchon (for Q and L on QuakeNet) (v2.0) This script removes all known users on a #channel except owners or removes Q/L completely from #channel.
; # Clear-Chanlev Script by Kickchon (for Q and L on QuakeNet) (v2.0) ; # This script removes all known users on a #channel except owners or removes Q/L completely from #channel. ; # Please do nothing after typing /clearchanlev until you get a finish/error message. ; ; # Needs Owner Access on specified #channel and you have to be authed. ; # It will not remove other Owners. ; ; # Use /clearchanlev #channel or /clearchanlev #channel -remove if you want to remove Q/L from a channel. ; ; # Kickchon, staff member on Quakenet ; ; # If you think there's a bug in this Script, please contact someone in #help.script on Quakenet. alias clearchanlev { if (!$1) { echo $color(info) -at *** Clear-Chanlev: You need to specify the channel. } elseif (Q !ison $1) && (L !ison $1) { echo $color(info) -at *** Clear-Chanlev: There is no Q or L bot on $1 $+ . } else { set %cc.what getlname set %cc.bot $iif(Q ison $1,Q,L) set %cc.chan $1 if ($2 == -remove) { set %cc.remove $true } echo $color(info) -at *** Clear-Chanlev: Getting your %cc.bot $+ -Account Name. .enable #clearchanlev .msg %cc.bot whois $me } } #clearchanlev off on ^*:NOTICE:*:*:{ if ($nick == %cc.bot) { if (%cc.what == getlname) { if ($1 == $me) && ($3 == authed) { set %cc.account $left($5,-1) } if ($1- == End of list.) { if (%cc.account) { echo $color(info) -at *** Clear-Chanlev: Getting Userlist of %cc.chan $+ . set %cc.what getchanlev .msg %cc.bot chanlev %cc.chan } else { echo $color(info) -at *** Clear-Chanlev: You are not authed. Please auth before trying to clear a chanlev-list. unset %cc.* .disable #clearchanlev } } } elseif (%cc.what == getchanlev) { if ($1 != %cc.account) && (End of* !iswm $1-) && (Users for channel* !iswm $1-) && (Authname* !iswm $1-) && ($1- != $str(-,29)) && $& ($1 != Channeltype:) && (Known users* !iswm $1-) { if (n !isin $iif(%cc.bot == Q,$3,$2)) { write clearchanlev.txt CHANLEV %cc.chan # [ $+ [ $1 ] ] $iif(%cc.bot == Q,-amotv,-amovg) } elseif (n isin $iif(%cc.bot == Q,$3,$2)) { set %cc.noremove $true } } elseif ($1 == %cc.account) && (n !isin $iif(%cc.bot == Q,$3,$2)) { .remove "clearchanlev.txt" unset %cc.* .disable #clearchanlev echo $color(info) -at *** Clear-Chanlev: You are not the owner of that channel. Halting... } elseif (End* iswm $1-) { if (%cc.remove) { if (%cc.noremove) { echo $color(info) -at *** Clear-Chanlev: You may not remove %cc.bot $+ . You are not the only owner on %cc.chan $+ . .remove "clearchanlev.txt" unset %cc.* .disable #clearchanlev halt } else { write clearchanlev.txt CHANLEV %cc.chan # [ $+ [ %cc.account ] ] $iif(%cc.bot == Q,-amnotv,-amnovg) } } set %cc.what removeusers echo $color(info) -at *** Clear-Chanlev: There are $lines(clearchanlev.txt) Users to remove. It will take about $& $calc($lines(clearchanlev.txt)*2) seconds. Removing... .play %cc.bot clearchanlev.txt 2000 } } haltdef } } on *:PLAYEND:{ if ($nopath($filename) == clearchanlev.txt) { echo $color(info) -at *** Clear-Chanlev: Successfully Removed $iif(%cc.remove,$iif(%cc.bot == Q,Q,L) from,all Non-Owners on) %cc.chan $+ . if (!%cc.remove) { .msg %cc.bot chanlev %cc.chan } unset %cc.* .remove "clearchanlev.txt" .disable #clearchanlev } } #clearchanlev end