SysOp IRC Services — File Browser
SysOpIRCServicesv0.1 / SysOpIRCServicesv0.1 / system / commands.mrc
commands.mrc — 23.75 KB — Download this file
; Copying or editing of any of the scripts included in this module is strictly prohibited, you may distribute the package
; in its entireity un edited in any form. Support can only be given to those who do not edit these files please do not ask
; if you plan to edit them yourself. Credits and links back to us must remain in the script we do not advertise using your
; network unless the .VERSION command is triggered. You must also agree when connecting the service to any IRC net
; that you have the correct permission to connect the service, you MUST NOT connect the service to Digi-Net and you
; connect the service at your own risk. For support see http://www.digi-net.org
alias data_in {
data $1-
if ($mid($4,2,1) == $chr(1)) && ($2 != notice) && ($4 != :ACTION) { A_CTCP $mid($1,2,$len($1)) $3 $4- | Return }
if ($1 == PING) { .sockwrite -tn serv : $+ $sserver PONG $2 }
;oper commands
if ($2 == privmsg) && ($4 == :globalnotice) && ($3 == $netconf(system,nickname)) { system.globalnotice $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :renick) && ($3 == $netconf(system,nickname)) { system.renick $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :xset) && ($3 == $netconf(system,nickname)) { system.xset $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :restart) && ($3 == $netconf(system,nickname)) { system.reconnect $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :opercmd) && ($3 == $netconf(system,nickname)) { system.opercmd $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :chancmd) && ($3 == $netconf(system,nickname)) { system.chancmd $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :kill) && ($3 == $netconf(system,nickname)) { system.kill $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :gline) && ($3 == $netconf(system,nickname)) { system.gline $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :randomnews) && ($3 == $netconf(system,nickname)) { system.randomnews $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :logonnews) && ($3 == $netconf(system,nickname)) { system.logonnews $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :opernews) && ($3 == $netconf(system,nickname)) { system.opernews $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :operaccess) && ($3 == $netconf(system,nickname)) { system.operaccess $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :channotice) && ($3 == $netconf(system,nickname)) { system.channelnotice $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :whois) && ($3 == $netconf(system,nickname)) { system.whois $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :operaset) && ($3 == $netconf(system,nickname)) { system.opersetaccount $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :jupe) && ($3 == $netconf(system,nickname)) { system.jupe $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :pending) && ($3 == $netconf(system,nickname)) { system.pending $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :operabuse) && ($3 == $netconf(system,nickname)) { system.operabuse $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :purgeseen) && ($3 == $netconf(system,nickname)) { system.purgeseen $remove($1,:) | return }
; Private Message Commands
; Nickname Commands
if ($2 == privmsg) && ($4 == :nickreg) && ($3 == $netconf(system,nickname)) { system.nickreg $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :nickdrop) && ($3 == $netconf(system,nickname)) { system.nickdrop $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :identify) && ($3 == $netconf(system,nickname)) { system.identify $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :tac) && ($3 == $netconf(system,nickname)) { system.tac $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :password) && ($3 == $netconf(system,nickname)) { system.password $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :editemail) && ($3 == $netconf(system,nickname)) { system.editemail $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :forgotpass) && ($3 == $netconf(system,nickname)) { system.forgotpass $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :aset) && ($3 == $netconf(system,nickname)) { system.setaccount $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :note) && ($3 == $netconf(system,nickname)) { system.note $remove($1,:) $5- | return }
; Channel Commands
if ($2 == privmsg) && ($4 == :chanreg) && ($3 == $netconf(system,nickname)) { system.chanreg $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :adduser) && ($3 == $netconf(system,nickname)) { system.adduser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :deluser) && ($3 == $netconf(system,nickname)) { system.adduser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :set) && ($3 == $netconf(system,nickname)) { system.chanset $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :uset) && ($3 == $netconf(system,nickname)) { system.chanuset $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :staff) && ($3 == $netconf(system,nickname)) { system.ircops $remove($1,:) | return }
if ($2 == privmsg) && ($4 == :ircops) && ($3 == $netconf(system,nickname)) { system.ircops $remove($1,:) | return }
if ($2 == privmsg) && ($4 == :ircops) && ($3 == $netconf(system,nickname)) { system.ircops $remove($1,:) | return }
if ($2 == privmsg) && ($4 == :account) && ($3 == $netconf(system,nickname)) { system.myaccount $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :users) && ($3 == $netconf(system,nickname)) { system.userlist $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :kick) && ($3 == $netconf(system,nickname)) { system.kickuser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :op) && ($3 == $netconf(system,nickname)) { system.opuser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :deop) && ($3 == $netconf(system,nickname)) { system.deopuser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :up) && ($3 == $netconf(system,nickname)) { system.opup $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :down) && ($3 == $netconf(system,nickname)) { system.opdown $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :kickban) && ($3 == $netconf(system,nickname)) { system.kickbanuser $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :drop) && ($3 == $netconf(system,nickname)) { system.chandrop $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :seen) && ($3 == $netconf(system,nickname)) { system.seen $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :stats) && ($3 == $netconf(system,nickname)) { sysop.stats $remove($1,:) $5- | return }
if ($2 == privmsg) && ($4 == :say) && ($3 == $netconf(system,nickname)) { sysop.say $remove($1,:) $5- | return }
; Misc
if ($2 == privmsg) && ($4 == :help) && ($3 == $netconf(system,nickname)) { system.help $remove($1,:) $5- | return }
elseif ($2 == privmsg) && ($3 == $netconf(system,nickname)) {
sysnotice $remove($1,:) -
sysnotice $remove($1,:) %color $+ No Such Command
sysnotice $remove($1,:) %color Cannot find a command matching your request.
sysnotice $remove($1,:) %color $+ Try: /msg SysOp HELP
sysnotice $remove($1,:) -
return
}
; Public Commands
set -u10 %cmd $right($4,-1)
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ pending) { system.pending $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ badwords) { system.badwords $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ help) { system.help $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ version) { system.version $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ adduser) { system.adduser $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ deluser) { system.deluser $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ set) { system.chanset $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ uset) { system.chanuset $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ users) { system.userlist $remove($1,:) $3 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ up) { system.opup $remove($1,:) $3 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ op) { system.opuser $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ deop) { system.deopuser $remove($1,:) $3 $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ down) { system.opdown $remove($1,:) $3 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ access) { system.access $remove($1,:) $3 $5 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ lamer) { system.adduser $remove($1,:) $3 $5 Lamer | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ coowner) { system.adduser $remove($1,:) $3 $5 Co-Owner | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ ircops) { system.ircops $remove($1,:) | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ staff) { system.ircops $remove($1,:) | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ myaccount) { system.myaccount $remove($1,:) | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ xset) { system.xset $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ opercmd) { system.opercmd $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ chancmd) { system.chancmd $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ kill) { system.kill $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ operaccess) { system.operaccess $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ stats) { sysop.stats $remove($1,:) | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ whois) { system.whois $remove($1,:) $5- | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ chaninfo) { system.chaninfo $remove($1,:) $3 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ seen) { system.seen $remove($1,:) $5 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ k) { system.kickuser $remove($1,:) $3 $5 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ kb) { system.kickbanuser $remove($1,:) $3 $5 | return }
if ($2 == privmsg) && (%cmd == $iif($readchan($3,char),$ifmatch,.) $+ selftest) { system.selftest $remove($1,:) | return }
; General Procedures
;spam filter
if ($2 == PRIVMSG) {
if (http isin $remove($4-,:)) && ($readchan($3,spamfilter) == on) {
if ($readaccess($remove($1,:),$3,level) < $netconf(chanlevel,spamlevel)) || (!$readaccess($remove($1,:),$3,level)) && (!$readadmin($remove($1,:),nickname)) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) KICK $3 $remove($1,:) No Spamming In $3 please.
}
}
}
;CAPS filter
if ($2 == PRIVMSG) && ($readchan($3,capkick) > 0) {
if ($readaccess($addy($remove($1,:)),$3,level) >= $netconf(chanlevel,spamlevel)) || ($readadmin($remove($1,:),nickname)) { return }
var %caps = $len($strip($remove($4-,:)))
%caps = %caps - $len($removecs($strip($remove($4-,:)),Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M,$chr(32)))
if ($round($calc((%caps / $len($remove($4-,:))) * 100),2) >= $readchan($3,capkick)) && (%caps > 5) {
sockwrite -tn serv : $+ $netconf(system,nickname) KICK $3 $remove($1,:) :Excessive Caps - %caps $+ / $+ $len($remove($4-,:)) ( $+ $round($calc((%caps / $len($remove($4-,:))) * 100),2)) $+ % $+ )
}
}
;bantimeout
if ($2 == MODE) && ($4 == +b) {
if ($readchan($3,bantimeout) == 1) { //timerban $+ $3 $+ $ctime 1 900 /removeban $3 $5 }
if ($readchan($3,bantimeout) == 2) { //timerban $+ $3 $+ $ctime 1 3600 /removeban $3 $5 }
if ($readchan($3,bantimeout) == 3) { //timerban $+ $3 $+ $ctime 1 10800 /removeban $3 $5 }
}
;swearkick
if ($2 == PRIVMSG) && ($readchan($3,badlang) == on) {
var %x = 1
while $gettok(%bwords,%x,44) {
if ($gettok(%bwords,%x,44) isin $remove($4-,:)) && ($readaccess($addy($remove($1,:)),$2,level) < $netconf(chanlevel,swearkicker)) {
.sockwrite -tn serv $+(:,$netconf(system,nickname)) KICK $3 $remove($1,:) No Swearing In $3 please.
}
inc %x
}
}
;scottish fun
if ($2 == PRIVMSG) && ($readchan($3,owner)) && (*touches sysop* isin $remove($4-,:)) {
.sockwrite -tn serv $+(:,$netconf(system,nickname)) PRIVMSG $3 $+ :ock aye the nooooo $remove($1,:) $+ , dinne be touchin me thank ye very much
}
if ($2 == NICK) {
addseen seen $3 $ctime
addseen seen $remove($1,:) $ctime
swapclient $remove($1,:) $3
var %x = 1
while ($ini(data/activechans.db,%x)) {
if ($readini(data/activechans.db,$ini(data/activechans.db,%x),$remove($1,:))) { remini data/activechans.db $ini(data/activechans.db,%x) $remove($1,:) | writeini data/activechans.db $ini(data/activechans.db,%x) $3 ison }
inc %x
}
if ($readadmin($remove($1,:),nickname)) {
addadmin $3 nickname $3
addadmin $3 status active
addadmin $3 when $ctime
addadmin $3 rank $readadmin($remove($1,:),rank)
wipeadmin $remove($1,:)
}
if ($readnick($3,nickname)) && ($readnick($3,protect) == on) && (!$addy($3)) {
if ($readnick($3,protectaction) == warn) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color $+ Nickname Registered.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color The nickname $+ $3 $+ is registered to another user.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color If this is your nickname please IDENTIFY to login.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color $+ Type: /msg SysOp IDENTIFY <password>
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 :-
}
if ($readnick($3,protectaction) == renick) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color $+ Nickname Registered.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color The nickname $+ $3 $+ is registered to another user.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color If this is your nickname please IDENTIFY to login.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color Please login within 60 seconds or i will change your
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color nickname for you.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 : $+ %color $+ Type: /msg SysOp IDENTIFY <password>
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $3 :-
timer $+ $3 $+ renick 1 60 /sockwrite -tn serv :SysOp SVSNICK $3 Guest $+ $rand(1,99) $ctime
}
}
}
if ($1 == NICK) {
if ($netconf(system,searchirc) == on) {
if (scrawl isin $2) { return | halt }
}
sockwrite -tn serv : $+ $netconf(nickname,nick) SVS2MODE $2 -o
addseen seen $2 $ctime
report CONNECTING: $+($2,!,$5,@,$6) - $7
addclient $2 nickname $2
addclient $2 ident $5
addclient $2 host $6
addclient $2 server $7
addclient $2 time $4
if ($netconf(server,welcome)) { sysnotice2 $2 $netconf(server,welcome) }
var %x = 1
while ($ini(data/news.db,random,%x)) {
sysnotice2 $2 Random News * $+ $ini(data/news.db,random,%x) $+ * $readini(data/news.db,random,$ini(data/news.db,random,%x))
inc %x
}
if ($readnick($2,nickname)) && ($readnick($2,protect) == on) {
if ($readnick($2,protectaction) == warn) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color $+ Nickname Registered.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color The nickname $+ $2 $+ is registered to another user.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color If this is your nickname please IDENTIFY to login.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color $+ Type: /msg SysOp IDENTIFY <password>
}
if ($readnick($2,protectaction) == renick) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color $+ Nickname Registered.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color The nickname $+ $2 $+ is registered to another user.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color If this is your nickname please IDENTIFY to login.
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color You have 60 seconds to login or i will change your nickname
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 : $+ %color $+ Type: /msg SysOp IDENTIFY <password>
timer $+ $2 $+ renick 1 60 /sockwrite -tn serv :SysOp SVSNICK $2 Guest $+ $rand(1,99) $ctime
}
}
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $2 :-
return
}
if ($2 == MODE) && (+ isin $4) && ($netconf(server,nickname) != $remove($1,:)) {
if (o isin $4) {
var %cmod = $remove($4,+)
if ($readchan($3,strictop) == on) && (!$readaccess($5,$3,level)) { chanmode $3 -o $5 }
if ($readchan($3,strictop) == on) && ($readaccess($5,$3,level) < $netconf(chanlevel,op)) { chanmode $3 -o $5 }
}
}
if ($2 == QUIT) {
if ($netconf(system,searchirc) == on) {
if (scrawl isin $remove($1,:)) { return | halt }
}
addseen seen $remove($1,:) $ctime
report QUIT: $+($remove($1,:),!,$readclient($remove($1,:),ident),@,$readclient($remove($1,:),host)) - $readclient($remove($1,:),server)
var %x = 1
while ($ini(data/activechans.db,%x)) {
if ($readini(data/activechans.db,$ini(data/activechans.db,%x),$remove($1,:))) { remini data/activechans.db $ini(data/activechans.db,%x) $remove($1,:) }
if ($ini(data/activechans.db,$ini(data/activechans.db,%x),0) < 1) { remini data/activechans.db $ini(data/activechans.db,%x) }
inc %x
}
if ($readadmin($remove($1,:),nickname)) {
wipeadmin $remove($1,:)
}
remini data/id.db id $readclient($remove($1,:),host)
delclient $remove($1,:)
return
}
if ($2 == JOIN) {
;channel blacklist here close channels that aint allowed by admin
;if channel isnt registered set the system default modes for the channel
if (!$readchan($3,owner)) { sockwrite -tn serv : $+ $netconf(server,server) MODE $3 +nt | sockwrite -tn serv : $+ $netconf(server,server) MODE $3 -o $remove($1,:) }
if ($readaccess($remove($1,:),$3,level) == 1) {
sockwrite -tn serv : $+ $netconf(system,nickname) MODE $3 +b $mask($+($remove($1,:),!,$userhost($remove($1,:))),2)
.sockwrite -tn serv $+(:,$netconf(system,nickname)) KICK $3 $remove($1,:) Lamer
halt
}
if ($readchan($3,joinmsg)) { sockwrite -tn serv $+(:,$netconf(system,nickname)) notice $remove($1,:) :< $+ $3 $+ > $readchan($3,joinmsg) }
if ($readuserinfoline($remove($1,:),$3)) && ($addy($remove($1,:))) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) PRIVMSG $3 :< $+ $remove($1,:) $+ > $readuserinfoline($remove($1,:),$3)
}
if ($readaccess($remove($1,:),$3,autovoice) == on) && ($addy($remove($1,:))) && ($readchan($3,voice) == on) {
chanopuser $3 +v $remove($1,:)
}
if ($readaccess($remove($1,:),$3,autoop) == on) && ($addy($remove($1,:))) && ($readchan($3,autoop) == on) {
if ($readaccess($addy($remove($1,:)),$3,level) == 5) { chanopuser $3 +o $remove($1,:) }
if ($readaccess($addy($remove($1,:)),$3,level) == 4) { chanopuser $3 +o $remove($1,:) }
if ($readaccess($addy($remove($1,:)),$3,level) == 3) { chanopuser $3 +o $remove($1,:) }
}
var %x = 1
while ($gettok($3-,%x,44)) {
writeini data/activechans.db $gettok($3-,%x,44) $remove($1,:) ison
inc %x
}
}
if ($2 == TOPIC) {
if ($readchan($3,owner)) && ($readchan($3,topiclock) != off) {
if ($readaccess($addy($remove($1,:)),$3,level) < $readchan($3,topiclock)) {
.sockwrite -tn serv $+(:,$netconf(system,nickname)) TOPIC $3 $netconf(system,nickname) $ctime : $+ $remove($read(data/set_topics.txt, s, $3 $+ :),$3 $+ :)
}
}
}
if ($2 == AWAY) && (!$3) {
echo -a > Removed away message
remini data/clients.db $remove($1,:) awaymsg
}
if ($2 == AWAY) && ($len($3-) > 1) {
addclient $remove($1,:) awaymsg $remove($3-,:)
}
if ($2 == KICK) {
remini data/activechans.db $3 $4
if ($ini(data/activechans.db,$3,0) < 1) { remini data/activechans.db $3 }
}
if ($2 == PART) {
remini data/activechans.db $3 $remove($1,:)
if ($ini(data/activechans.db,$3,0) < 1) { remini data/activechans.db $3 }
}
if ($2 == SENDSNO) {
if (*is now a* iswm $6-) {
if ($readini(data/blacklist.db,opers,$remove($4,:))) {
sockwrite -tn serv : $+ $netconf(nickname,nick) SVS2MODE $remove($4,:) -oghaAN
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) : $+ %color $+ IRC Operator Status Blacklisted
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) : $+ %color Sorry network admin have suspended your IRCop access!
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) :-
halt
}
report $remove($4,:) $7-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) :-
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) : $+ %color $+ IRC Operator Status
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) : $+ %color You are identified as an $10-
if ($ini(data/pending.db,0) > 0) {
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) : $+ %color There are $+ $ini(data/pending.db,0) $+ pending IRCop Items
}
sockwrite -tn serv $+(:,$netconf(system,nickname)) NOTICE $remove($4,:) :-
addadmin $remove($4,:) nickname $remove($4,:)
addadmin $remove($4,:) status active
addadmin $remove($4,:) when $ctime
addadmin $remove($4,:) rank $10-
if ($readnick($remove($4,:),vhost)) { sockwrite -tn serv $+(:,$netconf(server,server)) CHGHOST $remove($4,:) $readnick($remove($4,:),vhost) }
else { sockwrite -tn serv $+(:,$netconf(server,server)) CHGHOST $remove($4,:) $lower($remove($4,:) $+ .staff.digi-net.org) }
var %x = 1
while ($ini(data/news.db,oper,%x)) {
sysnotice2 $remove($4,:) Oper News * $+ $ini(data/news.db,oper,%x) $+ * $readini(data/news.db,oper,$ini(data/news.db,oper,%x))
inc %x
}
}
}
}