I haven't gotten around to writing a full command list for Remote Control yet, but type .commands and it will display most of them. To set up the bot, once you've copied and pasted the code into your remotes section, you will need to create a variable in the variables section, called %Owner and set your hostmask in there. I recommend you type '//echo -a $address($me,1)' as RemoteControl uses that format for owner identification. Once you have done that it should all be fine.
on *:TEXT:.setbotmaster *:*:{
if ($address($nick,1) isin %Owner) {
set % [ $+ [ $2 ] $+ ] .botmaster $2
set % [ $+ [ $2 ] $+ ] .account Bot Master
notice $nick $2 is now a Bot Master
notice $2 You are now a Bot Operator of me. Please type .grabaddress for me to be able to recognise you from your hostmask instead of your nickname. This only needs to be done once.
}
else { notice $nick You do not have permission to use this command. Only the Bot Owner may. }
}
on *:JOIN:#:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) { mode # +o $nick | msg # Welcome $nick $+ (Bot Master) }
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) { mode # +o $nick | msg # Welcome $nick $+ (Bot Operator) }
elseif ($address($nick,1) isin %Owner) { mode # +ohve $nick $nick $nick $nick | msg # Welcome $nick $+ (Bot Owner) }
else { halt }
}
on *:TEXT:.setbotop *:*:{
if ((% [ $+ [ $wildsite ] $+ ] .account == Bot Master) || ($address($nick,1) isin %Owner)) {
if ($2 == $me) { notice $nick I cannot set myself as a Bot Operator }
set % [ $+ [ $2 ] $+ ] .botop $2
set % [ $+ [ $2 ] $+ ] .account Bot Operator
notice $nick $2 is now a Bot Operator
notice $2 You are now a Bot Operator of me. Please type .grabaddress for me to be able to recognise you from your hostmask instead of your nickname. This only needs to be done once.
}
else { notice $nick You do not have permission to use this command. Only the Bot Owner and Bot Masters may. }
}
on *:TEXT:.grabaddress:*:{
if (% [ $+ [ $nick ] $+ ] .account == Bot Master) {
set % [ $+ [ $wildsite ] $+ ] .account Bot Master
unset % [ $+ [ $nick ] $+ ] .account
notice $nick I shall now recognise you by your hostmask.
}
elseif (% [ $+ [ $nick ] $+ ] .account == Bot Operator) {
set % [ $+ [ $wildsite ] $+ ] .account Bot Operator
unset % [ $+ [ $nick ] $+ ] .account
notice $nick I shall now recognise you by your hostmask.
}
else { notice $nick You do not have permission to use this command. Only the Bot Owner, Bot Masters and Bot Operators may. }
}
on *:TEXT:.opme:#:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +o $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +o $nick
}
elseif ($address($nick,1) isin %Owner) {
mode # +o $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.smirror:*:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
notice $nick Halting mirroring on %mirror
unset %mirror
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
halt
}
elseif ($address($nick,1) isin %Owner) {
notice $nick Halting mirroring on %mirror
unset %mirror
}
else { kick # $nick Did it work? }
}
on *:TEXT:.mirror *:*:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
if (%mirror != $null) { notice $nick Currently mirroring on %mirror $+ . You must halt mirroring on %mirror before you can mirror on another channel. | halt }
notice $nick Now mirroring $2
join $2
set %mirror $2
msg $nick Mirrored text will be displayed here, please keep this window open.
set %mirrorto $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
halt
}
elseif ($address($nick,1) isin %Owner) {
if (%mirror != $null) { notice $nick Currently mirroring on %mirror $+ . You must halt mirroring on %mirror before you can mirror on another channel. | halt }
notice $nick Now mirroring $2
join $2
set %mirror $2
msg $nick Mirrored text will be displayed here, please keep this window open.
set %mirrorto $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.say *:*:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
/msg $2 $nick $+ -> $3-
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
if ($2 != #ScriptCenter) { notice $nick Bot Ops can only use .say in #ScriptCenter | halt }
/msg $2 $nick $+ -> $3-
}
elseif ($address($nick,1) isin %Owner) {
/msg $2 $nick $+ -> $3-
}
else { kick # $nick Did it work? }
}
on *:TEXT:.part *:*:{
if (# isin %mirror) { msg %mirrorto Halting mirroring in %mirror | unset %mirror | unset %mirrorto }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
part $2 Part command used remotely by $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
halt
}
elseif ($address($nick,1) isin %Owner) {
part $2 Part command used remotely by $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.join *:*:{
if (# isin %mirror) { msg %mirrorto $nick has joined %mirror }
if (# != #ScriptCenter) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
join $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
halt
}
elseif ($address($nick,1) isin %Owner) {
join $2
}
}
on *:TEXT:.voiceme:#:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +v $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +v $nick
}
elseif ($address($nick,1) isin %Owner) {
mode # +v $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.hopme:#:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +h $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +h $nick
}
elseif ($address($nick,1) isin %Owner) {
mode # +h $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.op *:#:{
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +o $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +o $2
}
elseif ($address($nick,1) isin %Owner) {
mode # +o $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.deop *:#:{
if ($2 isin %Owner.name) { notice $nick I will not deop $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not deop $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not deop $2 }
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # -o $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # -o $2
}
elseif ($address($nick,1) isin %Owner) {
mode # -o $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.hop *:#:{
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +h $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +h $2
}
elseif ($address($nick,1) isin %Owner) {
mode # +h $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.dehop *:#:{
if ($2 isin %Owner.name) { notice $nick I will not dehalfop $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not dehalfop $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not dehalfop $2 }
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # -h $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # -h $2
}
elseif ($address($nick,1) isin %Owner) {
mode # -h $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.voice *:#:{
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +v $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +v $2
}
elseif ($address($nick,1) isin %Owner) {
mode # +v $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.devoice *:#:{
if ($2 isin %Owner.name) { notice $nick I will not devoice $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not devoice $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not devoice $2 }
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # -v $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # -v $2
}
elseif ($address($nick,1) isin %Owner) {
mode # -v $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.kick *:#:{
if ($2 isin %Owner.name) { notice $nick I will not kick $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not kick $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not kick $2 }
if ($2 == $me) { halt }
if ($address($2,1) isin %Owner) { msg # I shall not kick my Owner | halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
kick # $2 Kick used remotely by $nick
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
kick # $2 Kick used remotely by $nick
}
elseif ($address($nick,1) isin %Owner) {
kick # $2 Kick used remotely by $nick
}
else { kick # $nick Did it work? }
}
on *:TEXT:.ban *:#:{
if ($2 isin %Owner.name) { notice $nick I will not ban $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not ban $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not ban $2 }
if ($2 == $me) { halt }
if ($address($2,1) isin %Owner) { msg # I shall not kick my Owner | halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
ban # $address($2,1)
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
ban # $address($2,1)
}
elseif ($address($nick,1) isin %Owner) {
ban # $address($2,1)
}
else { kick # $nick Did it work? }
}
on *:TEXT:.exempt *:#:{
if ($2 == $me) { halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
mode # +e $2
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
mode # +e $2
}
elseif ($address($nick,1) isin %Owner) {
mode # +e $2
}
else { kick # $nick Did it work? }
}
on *:TEXT:.kickban *:#:{
if ($2 isin %Owner.name) { notice $nick I will not kickban $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botop) { notice $nick I will not kickban $2 }
elseif ($2 isin % [ $+ [ $nick ] $+ .botmaster) { notice $nick I will not kickban $2 }
if ($2 == $me) { halt }
if ($address($2,1) isin %Owner) { msg # I shall not kick my Owner | halt }
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
kick # $2 Kickban used remotely by $nick
ban # $address($2,1)
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
kick # $2 Kickban used remotely by $nick
ban # $address($2,1)
}
elseif ($address($nick,1) isin %Owner) {
kick # $2 Kickban used remotely by $nick
ban # $address($2,1)
}
else { kick # $nick Did it work? }
}
on *:TEXT:.commands:*:{
if (% [ $+ [ $wildsite ] $+ ] .account == Bot Operator) {
msg $nick Bot Operator Commands:
msg $nick .op .deop .voice .devoice .hop .dehop .kick .ban .kickban .voiceme .hopme .opme .say
msg $nick Usage:
msg $nick .op <nick> .deop <nick> .hop <nick> .dehop <nick> .voice <nick> .devoice <nick> .kick <nick> .ban <nick> .kickban <nick> .voiceme .hopme .opme .say <#channel> <text>
}
elseif (% [ $+ [ $wildsite ] $+ ] .account == Bot Master) {
msg $nick Bot Master Commands:
msg $nick .op .deop .voice .devoice .hop .dehop .kick .ban .kickban .voiceme .hopme .opme .say .join .part .setbotop .mirror .smirror
msg $nick Usage:
msg $nick .op <nick> .deop <nick> .hop <nick> .dehop <nick> .voice <nick> .devoice <nick> .kick <nick> .ban <nick> .kickban <nick> .voiceme .hopme .opme .say <#channel> <text> .join <#channel> .part <#channel> .setbotop <nick> .mirror <#channel> .smirror (Stops mirroring)
}
elseif ($address($nick,1) isin %Owner) {
msg $nick Bot Owner Commands:
msg $nick .op .deop .voice .devoice .hop .dehop .kick .ban .kickban .voiceme .hopme .opme .say .join .part .setbotop .setbotmaster .mirror
msg $nick Usage:
msg $nick .op <nick> .deop <nick> .hop <nick> .dehop <nick> .voice <nick> .devoice <nick> .kick <nick> .ban <nick> .kickban <nick> .voiceme .hopme .opme .say <#channel> <text> .join <#channel> .part <#channel> .setbotop <nick> .setbotmaster <nick> .mirror <#channel> .smirror (Stops mirroring)
}
else { kick # $nick Did it work? }
}
on *:TEXT:*:#:{
if (# isin %mirror) {
msg %mirrorto $nick $+ -> $1-
}
else {
halt
}
}
on *:JOIN:#:{
if (# isin %mirror) {
msg %mirrorto $nick has joined %mirror
}
else {
halt
}
}
on *:PART:#:{
if (# isin %mirror) {
msg %mirrorto $nick has left %mirror $+ . $1-
}
else {
halt
}
}
on *:OP:#:{
if (# isin %mirror) {
msg %mirrorto $opnick has been opped by $nick on %mirror
}
else {
halt
}
}
on *:DEOP:#:{
if (# isin %mirror) {
msg %mirrorto $deopnick has been deopped by $nick on %mirror
}
else {
halt
}
}
on *:VOICE:#:{
if (# isin %mirror) {
msg %mirrorto $voicenick has been voiced by $nick on %mirror
}
else {
halt
}
}
on *:DEVOICE:#:{
if (# isin %mirror) {
msg %mirrorto $devoicenick has been devoiced by $nick on %mirror
}
else {
halt
}
}
on *:HALFOP:#:{
if (# isin %mirror) {
msg %mirrorto $hopnick has been halfopped by $nick on %mirror
}
else {
halt
}
}
on *:DEHALFOP:#:{
if (# isin %mirror) {
msg %mirrorto $deopnick has been dehalfopped by $nick on %mirror
}
else {
halt
}
}
on *:ACTION:#:{
if (# isin %mirror) {
msg %mirrorto * $nick $1-
}
else {
halt
}
}
on *:NICK:#:{
if (# isin %mirror) {
msg %mirrorto $nick is now known as $newnick on %mirror
}
else {
halt
}
}
on *:QUIT:{
if ($nick ison %mirror) {
msg %mirrorto $nick has quit IRC. $1-
}
else {
halt
}
}