ELSE Call cEcho('Please enter a nick to send the file 'Bold||Arguements.0||Bold' to.')
End
End
ELSE DO
IF DATATYPE(Arguements.0,'W')&~Exists('T:SoundList') THEN DO
IF Play THEN DO
Call cEcho("Now bringing up your soundlist..")
Call List()
End
End
ELSE DO
IF Arguements.0='ARGUEMENTS.0' THEN DO
IF Play=1 THEN Action='play'
ELSE Action='send'
Call cEcho('Please enter a number or sound filename to 'Action'.')
End
ELSE Call cEcho(Arguements.0' sound file does not exist.')
End
End
End
Return()
WriteError:
Call cEcho("An error was encountered while "Arg(1)||NL||" the sound file")
IF Arg(1)~='closing' THEN DO;Call Close(SoundFile);IF result=0 THEN Call WriteError('closing');End
Exit
Return()
CloseFile:
Call Close(SoundFile)
IF result~=1 THEN Call WriteError('closing')
Call Depart()
Return()
NBan:
IF Channel='' THEN DO;Call cEcho('No channel joined!');Call Depart();End
IF Arguements.0='ARGUEMENTS.0'|Arguements.0='' THEN DO
Arguements.0=rtgetstring(,"Enter nick of the person you wish to nickban",Tags,"_Ok|_Cancel",Screen)
IF rtresult=0 THEN Call Depart()
End
Nick=Arguements.0
Call FindUser()
IF Found~=-1&Found~=0 THEN Call Reason()
ELSE DO;Call cEcho(Nick' is not in 'Channel);Call Depart();End
IF NoTime=0 THEN DO
Time=rtgetlong(,"Enter the time wish to ban "Nick||NL||"0 equals forever",Tags,"_Seconds|_Mins|_Hours|_Days|_Forever|_Cancel","rtgl_min=0 rtgl_max=31536000" Screen)
Call TimeBan()
End
ELSE DO
Time='0'
Action=''
End
IF Verbose THEN DO
IF Compress(Arguements.1)=''|Arguements.1='ARGUEMENTS.1' THEN Reason=''
ELSE Reason=' with the reason 'Bold||Arguements.1
Call cEcho("Doing a nickban on "Bold||Nick||Bold" on "Bold||Channel||Bold||Action||Reason)
End
'RAW MODE 'Channel' -o+b 'Nick Nick'!*@*'
'RAW KICK 'Channel Nick ':'Arguements.1
IF DATATYPE(Time,'W')&Time>1&Time<31536000&NoTime=0 THEN DO
Delay(f*Time)
'RAW MODE 'Channel' -b 'Nick'!*@*'
End
Return()
IPBan:
IF ZBan THEN BanType='Z'
ELSE BanType=''
IF Arguements.0='ARGUEMENTS.0'|Arguements.0='' THEN DO
Arguements.0=rtgetstring(,"Enter nick of the person you wish to "BanType"Ban",Tags,"_Ok|_Cancel",Screen)
IF rtresult=0 THEN Call Depart()
End
"USERHOST" Arguements.0
UHost=Result
IF ZBan THEN DO
IF Channel='' THEN DO
Channel=rtgetstring(,"In what channel you wish to do your ZBan in?",Tags,"_Ok|_Cancel",Screen)
IF rtresult=0 THEN Call Depart()
IF Compress(Left(Channel,1))~='#' THEN Channel='#'||Compress(Channel)
End
Call Reason()
End
ELSE DO
IF Channel='' THEN DO;Call cEcho('No channel joined!');Call Depart();End
Call FindUser()
IF Found~=-1&Found~=0 THEN Call Reason()
ELSE DO;Call cEcho("User "Bold||Arguements.0||Bold" is not on the channel "Bold||Channel||Bold".");Call Depart();End
End
Full=Arguements.0"!"UHost
IF Full=Arguements.0||'!' THEN DO
Call cEcho('Could not get the IP address of 'Arguements.0'.')
/* ***** Add possible support for NickBan/Manual input of IP Addy */
Call Depart()
End
Parse Var Full Nick"!"Username"@"IP
IF Left(Username,1)='~' THEN Username='*'||SubStr(Username,2)
IF ZBan=1 THEN DO
Time=rtgetlong(,"Enter the time in Hours/Days you wish to ZBan "Nick,Tags,"_Hours|_Days|_Cancel","rtgl_min=1 rtgl_max=1440" Screen)
Call ZTimeBan()
Level=rtgetlong(,"Enter the ZBan level on "Nick,Tags,"_Ok|_Cancel","rtgl_min=1 rtgl_max=500" Screen)
IF rtresult=0 THEN Call Depart()
End
ELSE DO
IF NoTime=0 THEN DO
Time=rtgetlong(,"Enter the time wish to ban "Nick||NL||"0 equals forever",Tags,"_Seconds|_Mins|_Hours|_Days|_Forever|_Cancel","rtgl_min=0 rtgl_max=31536000" Screen)
Call TimeBan()
End
ELSE DO
Time=''
Action=''
End
End
IF Simple THEN Call Simple()
ELSE Call Complex()
Return()
ZDeOp:
IF ZOp THEN Action='Op'
ELSE Action='DeOp'
IF Arguements.0~='ARGUEMENTS.0'&Arguements.0~='' THEN DO
i=0
DO FOREVER
IF Arguements.i='ARGUEMENTS.'||i THEN Leave
ELSE IF i~=0 THEN Arguements.0=Arguements.0||' '||Arguements.i
i=i+1
End
End
ELSE DO
Arguements.0=rtgetstring(,"Enter the nick(s) you wish to "Action" via Z",Tags,"_Ok|_Cancel",Screen)
IF rtresult=1 THEN Arguements.0=Translate(Arguements.0," ",".,-+@*/\")
IF Arguements.0='ARGUEMENTS.0'|Arguements.0='' THEN DO
Arguements.0=rtgetstring(,"Enter the nick you wish to suspend on Z",Tags,,Screen)
IF rtresult=0 THEN Call Depart()
End
IF ~DATATYPE(Time,'W')|Time<1|Time>31536000 THEN DO
Time=rtgetlong(,"Enter the time wish to suspend "Arguements.0" from using Z",Tags,"_Seconds|_Mins|_Days|_Cancel","rtgl_min=0 rtgl_max=31536000" Screen)
End
ELSE DO
rtezrequest("Enter the base for "Time" to suspend "Arguements.0" from using Z","_Seconds|_Mins|_Days|_Cancel",Tags,Screen)
End
Call ZSuspensionDisplay()
Call TimeBan()
IF Time=0 THEN Time=''
"GetUsers"
Users=Result
IF Find(Users,'@'MyNick)~=0|Find(Users,'%'MyNick)~=0 THEN DO
IF BanType~='Z' THEN DO;IF Find(Users,'@'MyNick)=0&Find(Users,'%'MyNick)=0 THEN DO;Call cEcho("You cannot do a ban when you are not opped");Call Depart();End;End
Return()
Reason:
SELECT
WHEN NoReason THEN Arguements.1=''
WHEN Arguements.1~='ARGUEMENTS.1'&Arguements.1~='' THEN DO
i=2
DO FOREVER
IF Arguements.i='ARGUEMENTS.'||i THEN Leave
ELSE IF i~=0 THEN Arguements.1=Arguements.1||' '||Arguements.i
i=i+1
End
End
OTHERWISE
Arguements.1=rtgetstring(,"Enter the reason why ya wish to "BanType"ban the person"||NL||"A reason is not always necessary",Tags,"_Ok|_Cancel|_No Reason",Screen)
SELECT
WHEN rtresult=0 THEN Arguements.1=''
WHEN rtresult=2 THEN Call Depart()
OTHERWISE NOP
End
End
Return()
Complex:
Call rtezrequest("Please select a type of Hotmask "BanType"Ban or"||NL||"Simple for the Simple "BanHost"Ban menu","*!*U_sername@*.Host|*@*_Host|_Nick!*@*|*!*_Username@*|Si_mple|_Cancel",Tags,Screen)
IF Verbose THEN DO
IF Compress(Arguements.1)=''|Arguements.1='ARGUEMENTS.1' THEN Reason=''
ELSE Reason=' with the reason 'Bold||Arguements.1
Call cEcho("Doing a ban on "Bold||Arguements.0||Bold" on "Bold||Channel||Bold||Reason)
End
SELECT
WHEN rtresult=5 THEN DO
Simple=1
Call Simple()
End
WHEN rtresult=0 THEN NOP
OTHERWISE Call Ban()
End
Return()
Simple:
Call rtezrequest("Please select a type of Simple "BanType"Ban or"||NL||"Hotmask for the Hotmask "BanType"Ban menu","*!*U_sername@Host|*!*@_Host|_Nick!*@*|*!_Username@*|Hot_mask|_Cancel",Tags,Screen)
IF Verbose THEN DO
IF Compress(Arguements.1)=''|Arguements.1='ARGUEMENTS.1' THEN Reason=''
ELSE Reason=' with the reason 'Bold||Arguements.1
Call cEcho("Doing a ban on "Bold||Arguements.0||Bold" on "Bold||Channel||Bold||Reason)
End
SELECT
WHEN rtresult=5 THEN DO
Simple=0
Call Complex()
End
WHEN rtresult=0 THEN NOP
OTHERWISE Call Ban()
End
Return()
Ban:
IF Simple=0 THEN DO
IF DATATYPE(Compress(IP,'.'),'N') THEN IP=SubStr(IP,1,LastPos('.',IP))||'*'
ELSE IP='*'||SubStr(IP,Pos('.',IP))
End
SELECT
WHEN rtresult=1 THEN BanHost='*!'Username'@'IP
WHEN rtresult=2 THEN BanHost='*!*@'IP
WHEN rtresult=3 THEN BanHost=Nick'!*@*'
WHEN rtresult=4 THEN BanHost='*!'Username'@*'
OTHERWISE cEcho('An error has occured! Please email the command used to sykoe@sub.net.au')
End
IF Verbose THEN Call cEcho(BanType'Banning 'Bold||Nick||Bold||Action'.')
IF ZBan THEN DO
IF Level<76 THEN "RAW MODE "Channel" -o "Nick
ELSE "RAW PRIVMSG Z@Channels.Oz.Org :Ban" Channel Strip(BanHost) Time Level Arguements.1
End
ELSE DO
'RAW MODE 'Channel' -o+b 'Nick BanHost
'RAW KICK 'Channel Nick ':'Arguements.1
End
IF Time~=0&DATATYPE(Time,'W')&BanType~='Z' THEN Call BanTime()
Return()
BanTime:
Delay(f*Time)
IF Verbose THEN Call cEcho('UnBanning 'Bold||Nick||Bold' at 'Bold||BanHost)
'RAW MODE 'Channel' -b 'BanHost
Return()
Run:
i=0
IF Exists(Arguements.i)&Arguements.i~='ARGUEMENTS.'||i&Arguements.i~="" THEN DO
Arguements=Arguements.i
DO UNTIL Arguements.i='ARGUEMENTS.'||i
IF i>1 THEN Arguements=Arguements||' '||Arguements.i
i=i+1
End
End
ELSE DO
IF Verbose THEN DO
IF Arguements.i='ARGUEMENTS.'i|Arguements.i="" THEN Call cEcho('No program on the command line was entered. Now starting the GUI.')
ELSE Call cEcho("The program '"Arguements.0"' does not exist! Now starting the GUI.")
End
Arguements=rtgetstring(,"Enter Filename, Path, and Arguments of the program to run"||NL||"EG: Miami:MiamiTelnet localhost 23",Tags,"_Ok|File _Requestor|_Cancel",Screen)
SELECT
WHEN rtresult=0 THEN Call Depart()
WHEN rtresult=1 THEN DO
IF Exists(Word(Arguements,1)) THEN ADDRESS COMMAND Arguements
ELSE Call cEcho("File '"Word(Arguements,1)"' does not exist!")
Call Depart()
End
OTHERWISE
File=rtfilerequest(,,'Select the program...',Screen)
IF rtresult=0 THEN Call Depart()
ELSE DO
IF ~Exists(File) THEN DO
Call cEcho("The program '"File"' does not exist!")
Call Depart()
End
Arguements=rtgetstring(,"Enter the Arguments for the program you want to run"||NL||"localhost 23",Tags,"_Ok|_Cancel|_No Arguements",Screen)
SELECT
WHEN rtresult=2 THEN Call Depart()
WHEN rtresult=0 THEN Arguements=''
OTHERWISE NOP
End
Arguements=File||' '||Arguements
End
End
End
IF Verbose THEN Call cEcho('Now running: 'Arguements)
ADDRESS COMMAND 'Run >NIL:' Arguements
Return()
NewNick:
IF Arguements.0='ARGUEMENTS.0'|Arguements.0='' THEN DO
Arguements.0=rtgetstring(,"Enter your new nickname to use",Tags,"_Ok|_Cancel",Screen)
IF rtresult=0 THEN Call Depart()
End
IF Verbose THEN Call cEcho('Changing nick to 'Arguements.0)
'Say /Nick 'Arguements.0
Return()
Type:
IF Arguements.0=""|Arguements.0="ARGUEMENTS.0" THEN DO
Arguements.0=rtfilerequest('Text',,'File to type to AmIRC..','_Type', Screen)
IF rtresult=0 THEN Call Depart()
IF Arguements.1=""|Arguements.1="ARGUEMENTS.1" THEN DO
Arguements.1=rtgetstring(,"Enter the persons Nick to show the text privately to"||NL||"Enter a channel name to send it to send it by a Notice"||NL||"Leave Empty or hit Public to send it publically in the current channel window",Tags,"_Type|_Public",Screen)
IF rtresult=0 THEN Nick=""
End
End
IF ~Exists(Arguements.0) THEN DO
Check=Pos(':',Arguements.0)
IF Check>0 THEN DO;Call cEcho('Specified file "'BOLD||Arguements.0||BOLD'" does not exist.');Call Depart();End
Arguements.0='Text/'Arguements.0
IF ~Exists(Arguements.0) THEN DO;Call cEcho('Specified file "'BOLD||Arguements.0||BOLD'" does not exist.');Call Depart();End
End
IF Arguements.1="" THEN Call cEcho('Typing file "'BOLD||Arguements.1||BOLD'" publically.')
ELSE DO;Arguements.1=Compress(Arguements.1);Call cEcho('Typing file "'BOLD||Arguements.0||BOLD'" to 'BOLD||Arguements.1||BOLD'.');End
IF ~OPEN('F',Arguements.0,'R') THEN DO;Call cEcho('The specified file "'BOLD||Arguements.0||BOLD'" could not be opened.');Call Depart();End