aIRC — File Browser
aIRCv0.8.69 / aIRCv0.8.69 / script / services.mrc
services.mrc — 27.52 KB — Download this file
;/**********************************************************************
; *
; * aIRC
; * Services
; *
; **********************************************************************/
;;
;
; -( Registered Channels )-
;
;;
alias _schanfile { return $_chfile($_usrdir(schan.ini)) }
; /_schan.modify <network> <channel> [pass|level|bot] [new value]
alias _schan.modify {
var %file = $_schanfile,%line,%pass,%level,%bot,%services
%line = $read -ns" $+ $1 $2 $+ " %file
if ($readn) {
%line = $read -nl $+ $readn %file
%pass = $gettok(%line,4,32)
if (%pass != $null) { %pass = $_decrypt(%pass) }
%level = $gettok(%line,5,32)
%bot = $gettok(%line,6,32)
}
%services = $_readini($_snetworkini,$1,services)
if ($3 == pass) { %pass = $4 }
if ($3 == level) { %level = $4 }
if ($3 == bot) { %bot = $4 }
if (%pass != $null) { %pass = $_crypt(%pass) }
write -s" $+ $1 $2 $+ " $"(%file) $1 $2 $iif(%services != $null,%services,$null) $iif(%pass != $null,%pass,$null) $iif(%level != $null,%level,$null) $iif(%bot != $null,%bot,$null)
if ($show) && ($3) {
if ($4 != $null) { info.a Modified $^'($3) for channel $^'($2) on $^'($1) $+ : $iif($3 == pass,$str(*,$len($4)),$4) }
else { info.a Cleared $^'($3) for channel $^'($2) on $^'($1) }
}
}
;
;;
;
; $_schan(network,chan,[pass|level|bot])
;
alias _schan {
var %file = $_schanfile,%line
_dummy $read -ns" $+ $1 $2 $+ " %file
if ($readn) {
if ($3 == $null) { return 1 }
%line = $read -nl $+ $readn %file
if ($3 == pass) {
if ($gettok(%line,4,32) != $null) { return $_decrypt($ifmatch) }
}
if ($3 == level) {
if ($gettok(%line,5,32) != $null) { return $ifmatch }
}
if ($3 == bot) {
if ($gettok(%line,6,32) != $null) { return $ifmatch }
}
}
elseif ($3 == $null) { return 0 }
}
;;
;
; -( Registered Nicks )-
;
;;
alias _snickfile { return $_chfile($_usrdir(snick.ini)) }
;
;;
;
; $_snick(network,nick,[pass])
;
alias _snick {
var %file = $_snickfile,%line
_dummy $read -ns" $+ $1 $2 $+ " %file
if ($readn) {
if ($3 == $null) { return 1 }
%line = $read -nl $+ $readn %file
if ($3 == pass) {
if ($gettok(%line,4,32) != $null) { return $_decrypt($ifmatch) }
}
}
elseif ($3 == $null) { return 0 }
}
;;
;
; -( Services Commands )-
;
;;
;
alias ns {
if ($server == $null) {
error.a You are not connected
return
}
_network 0
var %bot = Nickserv,%title
if (%.network == IRC-Hispano) { %bot = NiCK }
elseif (%.network == GalaxyNet) { %bot = NS }
%title = %.network %bot [/ns]
tokenize 32 $upper($_parameter($1,1,%title,1,help,Command:)) $2-
if ($1 == help) { }
elseif ($1 == identify) || ($1 == auth) {
if (%.services == GalaxyNet) { tokenize 32 auth $me $_parameterpass($iif($2 != $null,$2,$_snick(%.network,$me,pass)),1,%title,1,$null,Password to identify [ $me ] :) }
else {
tokenize 32 identify $_parameterpass($iif($2 != $null,$2,$_snick(%.network,$me,pass)),1,%title,1,$null,Password to identify [ $me ] :) $3-
}
}
elseif ($1 == list) { tokenize 32 $1 $_parameter($2,1,%title,1,$null,Search pattern:) }
elseif ($1 == link) {
tokenize 32 $1 $_parameter($2,1,%title,1,$null,Link with:)
tokenize 32 $1-2 $_parameterpass($3,1,%title,1,$null,Password:)
}
elseif ($1 == unlink) { }
elseif ($1 == register) {
if (%.services == IRC-Hispano) { tokenize 32 $1 $_parameter($2,1,%title,ismail,$null,Write your email<CRLF>[the password will be sent to your email]) }
elseif ($istok(croom GalaxyNet,%.services,32)) || (*.dal.net iswm $server) { tokenize 32 $1 $_parameterpass($2,1,%title,1,$null,Password:) $_parameter($3,1,%title,ismail,$null,Write your email:) }
else { tokenize 32 $1 $_parameterpass($2,1,%title,1,$null,Password:) }
}
elseif ($1 == pass) {
if (%.services == GalaxyNet) {
tokenize 32 $1 $_parameterpass($iif($2,$2,$_snick(%.network,$me,pass)),1,%title,1,$null,Old password for [ $me ] :)
tokenize 32 $1-2 $_parameterpass($3,1,%title,1,$null,New password for [ $me ] :)
}
}
elseif ($1 == unregister) {
if (%.services == GalaxyNet) {
if ($_not($_yesno(1,%title,1,Unregister [ $me ] ?))) { return }
}
}
elseif ($1 == drop) {
if (%.services == IRC-Hispano) {
if ($_not($_yesno(1,%title,1,Drop [ $me ] ?))) { return }
}
else {
tokenize 32 $1 $_parameter($2,1,%title,1,$me,Nick to DROP:)
if ($_not($_yesno(1,%title,1,Drop [ $2 ] ?))) { return }
}
}
elseif ($1 == ghost) || ($1 == recover) || ($1 == release) || ($1 == remove) {
if ($1 == ghost) { tokenize 32 $1 $_parameter($2,1,%title,1,$null,Ghost nick:) }
else { tokenize 32 $1 $_parameter($2,1,%title,1,$null,Nick to [ $1 ] ) }
tokenize 32 $1-2 $_parameterpass($iif($3,$3,$_snick(%.network,$2,pass)),1,%title,1,$null,Password for [ $2 ] :)
}
elseif ($1 == info) || ($1 == whois) { tokenize 32 $1 $_parameter($2,1,%title,1,$_activequery,Nick:) }
elseif ($1 == acc) { tokenize 32 $1 $_parameter($2,1,%title,1,$_activequery,Nick:) }
elseif ($1 == access) {
var %t = add del list $iif(%.services == croom,wipe)
tokenize 32 $1 $_selectedit($2,1,%title,1,list,32,%t,Access [option]:)
if ($2 == add) || ($2 == del) { tokenize 32 $1-2 $_parameter($3,1,%title,isuser@host,$gettok($_mask(%.myaddress,%_masknorm),2,33),Mask to [ $iif($2 == add,add to,remove from) ] your access list:<CRLF>[user@host format]) }
}
elseif ($1 == set) {
var %s
if (%.services == croom) { %s = passwd url email kill nomemo noop showemail }
elseif (%.services == IRC-Hispano) { %s = passwd url email kill secure private hide }
elseif (%.services == NewNet) { %s = kill secure password }
else { %s = passwd url email kill nomemo noop secure showemail }
tokenize 32 $1 $_selectedit($2,1,%title,1,$null,32,%s,Set [option]:) $3-
if ($2 == passwd) || ($2 == password) {
tokenize 32 $1 passwd $3-
if (%.services == croom) {
tokenize 32 $1-2 $_parameterpass($iif($3,$3,$_snick(%.network,$me,pass)),1,%title,1,$null,Old password for [ $me ] :)
tokenize 32 $1-3 $_parameterpass($4,1,%title,1,$null,New password for [ $me ] :)
}
elseif (%.services == IRC-Hispano) { tokenize 32 $1 password $_parameterpass($3,1,%title,1,$null,New password for [ $me ] :) }
else { tokenize 32 $1-2 $_parameterpass($3,1,%title,1,$null,New password for [ $me ] :) }
}
elseif ($2 == url) { tokenize 32 $1-2 $_parameter($3-,0,%title,normal,$_aircweb,URL for [ $me ] :) }
elseif ($2 == email) { tokenize 32 $1-2 $_parameter($3,0,%title,ismail,$null,e-mail for [ $me ] :) }
elseif ($2 == kill) {
if (%.services == IRC-Hispano) { tokenize 32 $1-2 $_select($3,1,%title,istok on quick off,quick,32,on quick off,Set Kill Nick Enforce for<CRLF> [ $me ] <CRLF>[ON:1 minute - QUICK:20 seconds]) }
else { tokenize 32 $1 $2 $_onoff($3,1,%title,0,Set Nick Kill enforce for [ $me ] :) }
}
elseif ($2 == nomemo) { tokenize 32 $1-2 $_onoff($3,1,%title,1,Prevent people from sending memos to you?) }
elseif ($2 == noop) { tokenize 32 $1-2 $_onoff($3,1,%title,1,Prevent people from adding your nick to AOP/SOP lists on channels?) }
elseif ($2 == showemail) { tokenize 32 $1-2 $_onoff($3,1,%title,0,Show your email to anybody?) }
elseif ($2 == secure) { tokenize 32 $1-2 $_onoff($3,1,%title,0,Always ask for a password?) }
elseif ($2 == private) { tokenize 32 $1-2 $_onoff($3,1,%title,1,Hide in List?) }
elseif ($2 == hide) {
if (%.services == IRC-Hispano) {
tokenize 32 $1-2 $_select($3,1,%title,istok email usermask quit,$null,32,email usermask quit,Hide:)
var %h = Hide your $iif($3 == email,e-mail?,$iif($3 == usermask,last usermask?,last Quit?))
tokenize 32 $1-3 $_onoff($3,1,%title,1,%h)
}
}
}
_ns $$1-
}
alias cs {
if ($server == $null) {
error.a You are not connected
return
}
_network 0
var %bot = Chanserv,%title
if (%.network == IRC-Hispano) { %bot = CHaN }
elseif (%.network == GalaxyNet) { %bot = Q }
%title = %.network %bot [/cs]
tokenize 32 $upper($_parameter($1,1,%title,1,help,Command:)) $2-
if ($1 == help) { }
elseif ($1 == list) {
if (%.services == GalaxyNet) { tokenize 32 $1 $_parameter($iif($_ischan($2),#$2,$chan),1,%title,ischan,$chan(1),Channel:) }
else { tokenize 32 $1 $_parameter($2-,1,%title,normal,$null,Search pattern:) }
}
elseif ($1 == gaccess) && (%.services == GalaxyNet) { }
elseif ($1 == users) && (%.services == GalaxyNet) { }
elseif ($1 == version) && (%.services == GalaxyNet) { }
elseif ($1 == chansup) && (%.services == GalaxyNet) { tokenize 32 $1 $_onoff($2,1,%title,0,Can your nick be used as a supporter when a user is applying for a channel with Nova ?) }
else {
tokenize 32 $1 $_parameter($iif($_ischan($2),#$2,$chan),1,%title,ischan,$chan(1),Channel:) $iif($_ischan($2),$3-,$2-)
%title = %.network %bot [/cs] ( $+ $2 $+ )
if ($3- == $null) { tokenize 32 $1-2 }
if ($1 == identify) { tokenize 32 $1-2 $_parameterpass($iif($3 != $null,$3,$_schan(%.network,$2,pass)),1,%title,1,$null,Founder password:) }
elseif ($1 == register) {
tokenize 32 $1-2 $_parameterpass($3,1,%title,1,$null,Password:)
tokenize 32 $1-3 $_parameter($4,1,%title,normal,$null,Description:)
}
elseif ($1 == drop) {
if ($_not($_yesno(1,%title,1,Drop channel?))) { return }
}
elseif ($1 == set) {
var %s
if (%.services == croom) { %s = founder passwd desc url mlock ident opguard topiclock restrict }
elseif (%.services == IRC-Hispano) { %s = founder password desc url email entrymsg topic mlock keeptopic topiclock restricted secure secureops }
elseif (%.services == GalaxyNet) { %s = noop strictops strictmode stricttopic defmode deftopic chaninfo }
elseif (%.services == NewNet) { %s = founder password url desc greet topic mlock keeptopic topiclock private secureops restricted secure }
else { %s = founder passwd desc url mlock ident opguard keeptopic topiclock restrict leaveops unsecure private topiclock memo }
tokenize 32 $1-2 $_selectedit($3,1,%title,1,$null,32,%s,Set [option]:) $4-
if ($3 == founder) {
if ($istok(croom IRC-Hispano NewNet,%.services,32)) { tokenize 32 $1-3 $_parameter($4,1,%title,1,$null,New founder:) }
}
elseif ($3 == passwd) || ($3 == password) {
if (%.services == croom) {
tokenize 32 $1-3 $_parameterpass($4,1,%title,1,$null,Old founder access password:)
tokenize 32 $1-4 $_parameterpass($5,1,%title,1,$null,New founder access password:)
}
else { tokenize 32 $1-3 $_parameterpass($4,1,%title,1,$null,New founder access password:) }
}
elseif (%.services == GalaxyNet) && (($3 == noop) || ($3 == strictops) || ($3 == strictmode) || ($3 == stricttopic)) { tokenize 32 $1-3 $_onoff($4,1,%title,1, [ $3 ] ) }
elseif (%.services == GalaxyNet) && (($3 == Defmode) || ($3 == Chaninfo)) { tokenize 32 $1-3 $_parameter($4-,1,%title,normal,$null, [ $3 ] ) }
elseif ($3 == desc) { tokenize 32 $1-3 $_parameter($4,1,%title,normal,$null,Description:) }
elseif ($3 == url) { tokenize 32 $1-3 $_parameter($4,1,%title,normal,$null,URL:) }
elseif ($3 == mlock) { tokenize 32 $1-3 $_parameter($4,1,%title,normal,$iif($me ison $2,$chan($2).mode,+nt-ikl),Modelock: (sug:+nt-ikl)) }
elseif ($3 == ident) || (($1 == secure) && (%.services == NewNet)) { tokenize 32 $1-3 $_onoff($4,1,%title,0,Ops on channel must identify with NickServ before accessing any channel functions?) }
elseif ($3 == keeptopic) { tokenize 32 $1-3 $_onoff($4,1,%title,0,Remember topic between sessions?) }
elseif ($3 == opguard) || ($3 == secureops) || ($3 == strictops) { tokenize 32 $1-3 $_onoff($4,1,%title,0,Only users in the userlist will be allowed to have ops on the channel?) }
elseif ($3 == restrict) || ($3 == secure) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Disallow anyone on the channel except for the founder<COMMA> or Sops/Aops?) }
elseif ($3 == restricted) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Kick non aops/sops/founder?) }
elseif ($3 == leaveops) { tokenize 32 $1-3 $_onoff($4,1,%title,1,ChanServ will not de-op users who are the first to join the channel?) }
elseif ($3 == unsecure) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Allow founder access without identify?) }
elseif ($3 == private) { tokenize 32 $1-3 $_onoff($4,1,%title,1, [ %bot ] will keep the channel's existence secret from those who do not explicitly know about it.?) }
elseif ($3 == topiclock) {
if (%.services == IRC-Hispano) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Topiclock?) }
elseif (%.services == croom) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Only founder can change the topic?) }
elseif (%.services == NewNet) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Topic can only be changed with SET TOPIC?) }
else { tokenize 32 $1-3 $_selectedit($4,1,%title,1,$null,32,FOUNDER SOP OFF,Access level required to change the channel topic) }
}
elseif ($3 == memo) { tokenize 32 $1-3 $_selectedit($4,1,%title,1,$null,32,AOP SOP FOUNDER NONE,Access level required to send channel memos:) }
elseif ($3 == email) { tokenize 32 $1-3 $_parameter($4,0,%title,ismail,$null,email:) }
elseif ($3 == entrymsg) { tokenize 32 $1-3 $_parameter($4,0,%title,normal,$null,Welcome message:) }
elseif ($3 == topic) || ($3 == deftopic) { tokenize 32 $1-3 $_parameter($4-,0,%title,normal,$chan($2).topic,Topic:) }
elseif ($3 == noop) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Nobody may be a Channel Operator except [ %bot ] :) }
elseif ($3 == greet) { tokenize 32 $1-3 $_onoff($4,1,%title,1,Greet users on join?) }
}
elseif ($1 == cycle) { }
elseif ($1 == forget) { }
elseif ($1 == reset) { }
elseif ($1 == info) { }
elseif ($1 == chaninfo) { }
elseif ($1 == bans) { }
elseif ($1 == status) { }
elseif ($1 == removeme) { }
elseif ($1 == access) {
if ($istok(IRC-Hispano NewNet,%.services,32)) {
tokenize 32 $1-2 $_select($3,1,%title,istok list add del,list,32,LIST ADD DEL,Access [option]:) $4-
if ($3 == add) || ($3 == del) { tokenize 32 $1-3 $_parameter($4,1,%title,1,$null,Nick|Mask:) $5 }
if ($3 == add) { tokenize 32 $1-4 $_parameter($5,1,%title,1,$null,Level:) }
}
elseif (%.services == GalaxyNet) { }
else { tokenize 32 $1-2 $_parameter($3,1,%title,1,$me,Check access level from:) $4- }
}
elseif ($1 == invite) { }
elseif ($1 == key) { }
elseif ($1 == why) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Find out why a certain user is being opped by [ %bot ] :) }
elseif ($1 == count) { }
elseif (($1 == aop) || ($1 == avoice)) && (%.services == GalaxyNet) {
tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick:)
tokenize 32 $1-3 $_onoff($4,1,%title,0,Set [ $1 ] for [ $3 ] in [ $2 ] :)
}
elseif ($1 == sop) || ($1 == aop) || ($1 == vop) || ($1 == akick) {
var %nivelt = add del list wipe $iif(%.services != croom && %.services != IRC-Hispano && $1 != akick,clean)
tokenize 32 $upper($1) $2 $_selectedit($3,1,%title,1,$null,32,%nivelt, [ $upper($1) ] [option]:) $4-
if ($3 == add) || ($3 == del) {
tokenize 32 $1-3 $_parameter($4,1,%title,1,$null,Nick or mask to [ $iif($3 == add,add,remove) ] [ $1 ] )
if ($1 == akick) && ($3 == add) && (%.services == IRC-Hispano) { tokenize 32 $1-4 $_parameter($5-,0,%title,normal,$null,Reason:<CRLF>[Optional]) }
}
if ($3 == wipe) {
if ($_not($_yesno(1,%title,1,¿Wipe all [ $_nospaces($1,s?) ] ))) { return }
}
}
elseif ($1 == chtopic) { tokenize 32 $1-2 $_parameter($3-,0,%title,normal,$chan($2).topic,Topic:) }
elseif ($1 == voiceme) { }
elseif ($1 == devoiceme) { }
elseif ($1 == opme) { }
elseif ($1 == deopme) { }
elseif ($1 == voice) || ($1 == devoice) {
if (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3-,1,%title,1,$iif($1 == voice,$me),Nick to [ $1 ] :) }
}
elseif ($1 == op) || ($1 == deop) {
if ($istok(IRC-Hispano GalaxyNet NewNet,%.services,32)) { tokenize 32 $1-2 $_parameter($3-,1,%title,1,$iif($1 == op,$me),Nick to [ $1 ] :) }
else { tokenize 32 $1-2 $_parameter($3-,1,%title,replace 44 32,$iif($1 == op,$me),Nick[s] to [ $1 ] :) }
}
elseif ($1 == mkick) { }
elseif ($1 == mdeop) { }
elseif ($1 == clear) {
if ($istok(IRC-Hispano NewNet,%.services,32)) { tokenize 32 $1-2 $_select($3,1,%title,istok bans modes users ops voices,list,32,BANS MODES USERS OPS VOICES,Clear [option]:) }
elseif (%.services == GalaxyNet) { }
}
elseif ($1 == clearbans) { }
elseif ($1 == clearmodes) { }
elseif ($1 == clearops) { }
elseif ($1 == clearlist) { }
elseif ($1 == clearpbans) { }
elseif ($1 == deopnu) { }
elseif ($1 == kick) || ($1 == kickban) {
if (%.services == GalaxyNet) {
tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick to [ $1 ] :) $4-
if ($4- != $null) { _recent.add kickreason 20 $replace($4-,$2,<CHAN>) }
else { tokenize 32 $1-3 bye }
}
}
elseif ($1 == ban) {
if (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick or mask to ban:) }
}
elseif ($1 == unban) {
if ($istok(Dalnet IRC-Hispano NewNet,%.services,32)) { }
elseif (%.services == croom) { tokenize 32 $1-2 $_parameter($3,1,%title,1,ME,Mask to unban:<CRLF>["ME" to unban yourself]) }
elseif (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick<COMMA> mask or ban number to unban:) }
else { tokenize 32 $1-2 $_selectedit($3,1,%title,1,ME,32,ME ALL,Unban::<CRLF>ME - yourself<CRLF>ALL - Everybody) }
}
elseif ($1 == pban) {
if (%.services == GalaxyNet) {
tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick or mask to perm ban:) $4-
tokenize 32 $1-3 $_parameter($4-,1,%title,normal,$null,Perm ban Reason:)
_recent.add banreason 20 $replace($4-,$2,<CHAN>)
}
}
elseif ($1 == pbans) { }
elseif ($1 == unpban) {
if (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick<COMMA> mask or permban number to unban:) }
}
elseif ($1 == suspend) || ($1 == unsuspend) {
if (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick to [ $1 ] ) }
}
elseif ($1 == levels) {
if ($istok(IRC-Hispano NewNet,%.services,32)) {
var %tmp = AUTOOP AUTOVOICE AUTODEOP NOJOIN INVITE AKICK SET CLEAR UNBAN OPDEOP $iif(IRC-Hispano == %.services,ACC-LIST ACC-CHANGE MEMO) $iif(NewNet == %.services,ACCESS)
tokenize 32 $1-2 $_select($3,1,%title,istok dis disable list reset set,$null,32,DIS SET LIST RESET,Levels [option]:) $4-
if ($3 == reset) {
if ($_not($_yesno(1,%title,1,Restore access levels?))) { return }
}
elseif ($3 == set) || ($3 == dis) || ($3 == disable) { tokenize 32 $1-3 $_select($4,1,%title,istok [ %tmp ] ,$null,32,%tmp,Option to [ $iif($3 == set,modify,disable) ] :) $5- }
if ($3 == set) { tokenize 32 $1-4 $_parameter($5,1,%title,isnum,$null,New [ $iif($istok(autodeop nojoin,$4,32),max,min) ] level for [ $4 ] :) }
}
}
elseif ($1 == add) {
if (%.services == GalaxyNet) {
tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick to add:)
tokenize 32 $1-3 $_parameter($4,1,%title,isnum 0-499,100,Level for [ $3 ] :<CRLF>[0-499])
}
}
elseif ($1 == remove) || ($1 == check) {
if (%.services == GalaxyNet) { tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick to [ $1 ] :) }
}
elseif ($1 == chlv) {
if (%.services == GalaxyNet) {
tokenize 32 $1-2 $_parameter($3,1,%title,1,$null,Nick to modify level:)
tokenize 32 $1-3 $_parameter($4,1,%title,isnum 0-499,100,Level for [ $3 ] :<CRLF>[0-499])
}
}
}
_cs $$1-
}
alias ms {
if ($server == $null) {
error.a You are not connected
return
}
_network 0
var %bot = Memoserv,%title
if (%.network == IRC-Hispano) { %bot = MeMO }
elseif (%.network == GalaxyNet) { %bot = MS }
%title = %.network %bot [/ms]
tokenize 32 $_parameter($1,1,%title,1,help,Command:) $2-
if ($1 == help) { }
elseif ($1 == list) { }
elseif ($1 == email) { tokenize 32 $1 $_parameter($2,0,%title,ismail,$null,e-mail:) }
elseif ($1 == read) {
if (%.services == IRC-Hispano) { tokenize 32 $1 $_parameter($2,1,%title,1,LAST,Read memo number:<CRLF>["LAST" to read the last memo]) }
elseif ($istok(GalaxyNet NewNet,%.services,32)) { tokenize 32 $1 $_parameter($2,1,%title,isnum>0,$null,Read memo number:) }
else { tokenize 32 $1 $_parameter($2,1,%title,replace 32 44,$null,Read memo[s]:<CRLF>[Separated by commas]) }
}
elseif ($1 == send) || ($1 == note) {
if (%.services == GalaxyNet) { tokenize 32 note $2- }
tokenize 32 $1 $_parameter($2,1,%title,1,$null,Send memo to:<CRLF>< Nick | #Channel >)
tokenize 32 $1-2 $_parameter($3-,1,%title,len < 250,$null,Memo:)
}
elseif ($1 == sendsop) {
tokenize 32 $1 $_parameter($iif($_ischan($2),#$2,#),1,%title,ischan,$null,Send memo to SOPs in channel:) $iif($_ischan($2),$3-,$2-)
tokenize 32 $1-2 $_parameter($3-,1,%title,len < 250,$null,Memo:)
}
elseif ($1 == erase) { tokenize 32 $1 $_parameter($2,1,%title,isnum>0,$null,Erase memo number:) }
elseif ($1 == del) { tokenize 32 $1 $_parameter($2,1,%title,1,ALL,Erase memo number: [ $iif(%.services == IRC-Hispano,<CRLF>separated by "<COMMA>" or "-") ] <CRLF>["ALL" to remove all]) }
elseif ($1 == undel) { tokenize 32 $1 $_parameter($2,1,%title,isint,$null,Undelete memo number:) }
elseif ($1 == purge) { }
elseif ($1 == forward) { tokenize 32 $1 $_parameter($2,1,%title,1,$null,Nick:) }
elseif ($1 == set) {
if ($istok(IRC-Hispano NewNet,%.services,32)) {
var %tmp = NOTIFY $iif(%.services == IRC-Hispano,LIMIT)
tokenize 32 $1 $_select($2,1,%title,istok [ %tmp ] ,$null,32,%tmp,Set [option]:) $3-
if ($2 == notify) { tokenize 32 $1-2 $_select($3,1,%title,istok on logon new off,ON,32,ON LOGON NEW OFF,Memo notify:) }
else {
var %l = Max nuumber of memos $iif($_ischan($3),in [ $3 ] ) :
tokenize 32 $1-2 $iif($_ischan($3),$3) $_parameter($iif($_ischan($3),$4,$3),1,%title,isnum 0-20,20,%l)
}
}
}
_ms $$1-
}
alias _cs {
if (*.dal.net iswm $server) { var %bot = CHANSERV,%send = .quote privmsg chanserv@services.dal.net : $+ $$1- }
elseif (*.irc-hispano.org iswm $server) { var %bot = CHaN,%send = .quote privmsg CHaN@deep.space : $+ $$1- }
elseif (*.galaxynet.org iswm $server) { var %bot = Q,%send = .quote privmsg Q : $+ $$1- }
elseif (%.services == NewNet) { var %bot = CHANSERV,%send = .quote privmsg %bot : $$1- }
else { var %bot = CHANSERV,%send = .quote chanserv $$1- }
%send
if ($show) {
if ($1 == identify) { tokenize 32 $deltok($1-,$0,32) $str(*,$len($gettok($1-,-1,32))) }
elseif ($1 == register) { tokenize 32 $1-2 $str(*,$len($3)) $4- }
elseif ($1 == set) && (($2 == passwd) || ($2 == password)) { tokenize 32 $1-3 $str(*,$len($4)) $str(*,$len($5)) }
lechol.a $colour(info) $^service(%bot,$1-)
}
}
alias _ns {
if (*.dal.net iswm $server) { var %bot = NICKSERV,%send = .quote privmsg nickserv@services.dal.net : $+ $$1- }
elseif (*.irc-hispano.org iswm $server) { var %bot = NiCK,%send = .quote privmsg NiCK@deep.space : $+ $$1- }
elseif (*.galaxynet.org iswm $server) { var %bot = NS,%send = .quote privmsg NS@services.galaxynet.org : $+ $$1- }
elseif (%.services == NewNet) { var %bot = NICKSERV,%send = .quote privmsg %bot : $$1- }
else { var %bot = NICKSERV,%send = .quote nickserv $$1- }
%send
if ($show) {
if ($istok(ghost identify link recover release,$1,32)) { tokenize 32 $deltok($1-,$0,32) $str(*,$len($gettok($1-,-1,32))) }
elseif ($1 == register) { tokenize 32 $1 $str(*,$len($2)) $3 }
elseif ($1 == set) && ($2 == passwd) { tokenize 32 $1-2 $str(*,$len($3)) $str(*,$len($4)) }
elseif ($1 == pass) { tokenize 32 $1 $str(*,$len($2)) $str(*,$len($3)) }
lechol.a $colour(info) $^service(%bot,$1-)
}
}
alias _ms {
if (*.dal.net iswm $server) { var %bot = MEMOSERV,%send = .quote privmsg memoserv@services.dal.net : $+ $$1- }
elseif (*.irc-hispano.org iswm $server) { var %bot = MeMO,%send = .quote privmsg MeMO@deep.space : $+ $$1- }
elseif (*.galaxynet.org iswm $server) { var %bot = MS,%send = .quote privmsg MS : $+ $$1- }
elseif (%.services == NewNet) { var %bot = MEMOSERV,%send = .quote privmsg %bot : $$1- }
else { var %bot = MEMOSERV,%send = .quote memoserv $$1- }
%send
if ($show) { lechol.a $colour(info) $^service(%bot,$1-) }
}
alias _os {
.quote operserv $$1-
if ($show) { lechol.a $colour(info) $^service(OPERSERV,$$1-) }
}
alias id { ns identify $_parameterpass($1,1,Identify nick with [ $iif(*.irc-hispano.org iswm $server,NiCK,Nickserv) ] [/id],1,$_snick(%.network,$me,pass),Password:) }
alias _autoidnick {
var %nick = $iif($newnick != $null,$newnick,$me),%item = _autoidnick_ $+ %nick,%mainnick = $_readini($_snetworkini,%.network,main_nick)
if ($calc($hget(_aircjunk,%item) + 60) > $ctime) && ($event != connect) { return }
hadd _aircjunk %item $ctime
if ($_getsetup(script,_autologin)) {
if ($_snick(%.network,%nick,pass) != $null) { .ns identify $ifmatch }
if (%mainnick != $null) && (%nick != %mainnick) {
if ($_snick(%.network,%mainnick,pass) != $null) { .ns identify %mainnick $ifmatch }
}
}
}
;
alias _services.load {
tokenize 32 $iif($1 != $null,$1,%.network)
if ($1 == $null) { return }
var %b,%g,%s,%file = $_snetworkini,%sfile
if ($ini(%file,$1)) {
%s = $_readini(%file,$1,services)
%b = $replace($_readini(%file,$1,bots),$chr(44),$chr(32))
if (%s != %.services) || (%b != %.netbots) { _services.unload }
%.services = %s
%g = #service. $+ %s
%sfile = script\ $+ %s $+ .mrcn
_loadremotefile + %sfile
if ($group(%g)) { .enable %g }
if (%b != $null) { %.netbots = %b }
}
else { _services.unload }
}
alias _services.unload {
.disable #service.*
unset %.services %.netbots
_dummy $findfile($_fixdir($_scriptdir),*.mrcn,0,_services.unloadfile $1-)
}
alias _services.unloadfile {
if ($script($1-)) { .unload -rs " $+ $1- $+ " }
}
alias _network {
if ($server == $null) {
unset %.network
return
}
if ($_getsetup(serv2net,$server) != $null) { %.network = $ifmatch }
elseif (*.dal.net iswm $server) { %.network = DALnet }
elseif (*.irc-hispano.org iswm $server) { %.network = IRC-Hispano }
elseif (*.undernet.org iswm $server) { %.network = Undernet }
elseif (*.chatnet.org iswm $server) { %.network = Chatnet }
elseif (*.GalaxyNet.Org iswm $server) { %.network = GalaxyNet }
elseif (*.austnet.org iswm $server) { %.network = Austnet }
elseif (irc.terra.es == $_server) { %.network = Terra-ES }
elseif (irc.ircII.org == $server) { %.network = OpenNET }
elseif ($network == dalnet) || ($network == undernet) { unset %.network }
elseif ($network != $null) || (%.network != $null) { %.network = $upper($left($ifmatch,1)) $+ $right($ifmatch,-1) }
else { unset %.network }
if (%.network == $null) {
var %group = $server($server).group
if (%group != $null) && (%group !isnum) { %.network = %group }
}
if (%.network == $null) && ($_not($1)) {
if ($replace($gettok($server,$_nospaces($calc($numtok($server,46) - 1),-),46),.,_) != $null) { %.network = $ifmatch }
}
return %.network
}