Better control over who is able to control your Bot
Right-Click and click on <> and the simple dialog will open, where you can add or delete nicks that are in the data base. :)
All the triggers work in query with the bot.
Type !commands for triggers. You can handle it from there.
*UPDATED 2/15/09
-On/off menu
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;Control Script;;;;;;
;;;;;;;;;;;by;;;;;;;;;;;;
;;;;;;Kirbeh_Pr0nz;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;
;;;DIALOG;;;
;;;;;;;;;;;;
dialog Control {
Title "--==>>Kirbeh Control<<==--"
Size -1 -1 327 225
Tab "Msg/Act" 1, 5 8 317 190
Box "Msg" 2, 10 32 150 155, tab 1
Box "Act" 3, 165 32 150 155, tab 1
Combo 4, 20 50 130 20, tab 1
Button "Add" 5, 20 75 60 20, tab 1
Button "Delete" 6, 90 75 60 20, tab 1
Button "Delete All" 7, 55 100 60 20, tab 1
List 8, 20 125 130 70, tab 1
Combo 9, 175 50 130 20, tab 1
Button "Add" 10, 175 75 60 20, tab 1
Button "Delete" 11, 245 75 60 20, tab 1
Button "Delete All" 12, 210 100 60 20, tab 1
List 13, 175 125 130 70, tab 1
;
Tab "Part/Join" 14
Box "Part" 15, 10 32 150 155, tab 14
Box "Join" 16, 165 32 150 155, tab 14
Combo 17, 20 50 130 20, tab 14
Button "Add" 18, 20 75 60 20, tab 14
Button "Delete" 19, 90 75 60 20, tab 14
Button "Delete All" 20, 55 100 60 20, tab 14
List 21, 20 125 130 70, tab 14
Combo 22, 175 50 130 20, tab 14
Button "Add" 23, 175 75 60 20, tab 14
Button "Delete" 24, 245 75 60 20, tab 14
Button "Delete All" 25, 210 100 60 20, tab 14
List 26, 175 125 130 70, tab 14
;
Tab "Kick/Ban" 27
Box "Kick" 28, 10 32 150 155, tab 27
Box "Ban" 29, 165 32 150 155, tab 27
Combo 30, 20 50 130 20, tab 27
Button "Add" 31, 20 75 60 20, tab 27
Button "Delete" 32, 90 75 60 20, tab 27
Button "Delete All" 33, 55 100 60 20, tab 27
List 34, 20 125 130 70, tab 27
Combo 35, 175 50 130 20, tab 27
Button "Add" 36, 175 75 60 20, tab 27
Button "Delete" 37, 245 75 60 20, tab 27
Button "Delete All" 38, 210 100 60 20, tab 27
List 39, 175 125 130 70, tab 27
;
Tab "Slap/Mode" 40
Box "Slap" 41, 10 32 150 155, tab 40
Box "Mode" 42, 165 32 150 155, tab 40
Combo 43, 20 50 130 20, tab 40
Button "Add" 44, 20 75 60 20, tab 40
Button "Delete" 45, 90 75 60 20, tab 40
Button "Delete All" 46, 55 100 60 20, tab 40
List 47, 20 125 130 70, tab 40
Combo 48, 175 50 130 20, tab 40
Button "Add" 49, 175 75 60 20, tab 40
Button "Delete" 50, 245 75 60 20, tab 40
Button "Delete All" 51, 210 100 60 20, tab 40
List 52, 175 125 130 70, tab 40
;
Tab "Nick/Notice" 53
Box "Nick" 54, 10 32 150 155, tab 53
Box "Notice" 55, 165 32 150 155, tab 53
Combo 56, 20 50 130 20, tab 53
Button "Add" 57, 20 75 60 20, tab 53
Button "Delete" 58, 90 75 60 20, tab 53
Button "Delete All" 59, 55 100 60 20, tab 53
List 60, 20 125 130 70, tab 53
Combo 61, 175 50 130 20, tab 53
Button "Add" 62, 175 75 60 20, tab 53
Button "Delete" 63, 245 75 60 20, tab 53
Button "Delete All" 64, 210 100 60 20, tab 53
List 65, 175 125 130 70, tab 53
;
Tab "Memo/All" 66
Box "Memo" 67, 10 32 150 155, tab 66
Box "All" 68, 165 32 150 155, tab 66
Combo 69, 20 50 130 20, tab 66
Button "Add" 70, 20 75 60 20, tab 66
Button "Delete" 71, 90 75 60 20, tab 66
Button "Delete All" 72, 55 100 60 20, tab 66
List 73, 20 125 130 70, tab 66
Combo 74, 175 50 130 20, tab 66
Button "Add" 75, 175 75 60 20, tab 66
Button "Delete" 76, 245 75 60 20, tab 66
Button "Delete All" 77, 210 100 60 20, tab 66
List 78, 175 125 130 70, tab 66
Button "Done" 79, 245 199 60 20, ok
}
;;;;;;;;;;;;;;;;;;;;
;;;DIALOG CONTROL;;;
;;;;;;;;;;;;;;;;;;;;
on *:dialog:Control:*:*: {
if ($devent == sclick) {
if ($did == 5) {
if (!$did(4)) { echo -a Please specify a nick to add }
else { set %msgnicks $addtok($did(4),%msgnicks,32) | did -a Control 8 $did(4) | did -r control 4 }
}
elseif ($did == 6) {
if (!$did(8).seltext) { echo -a Please specify a nick to delete }
else { set %msgnicks $remtok(%msgnicks,$did(8).seltext,32) | msgnicks | did -r control 4 }
}
elseif ($did == 7) { unset %msgnicks | did -r Control 8 }
;
elseif ($did == 10) {
if (!$did(9)) { echo -a Please specify a nick to add }
else { set %actnicks $addtok($did(9),%actnicks, 32) | did -a Control 13 $did(9) | did -r control 9 }
}
elseif ($did == 11) {
if (!$did(13).seltext) { echo -a Please specify a nick to delete }
else { set %actnicks $remtok(%actnicks,$did(13).seltext, 32) | actnicks | did -r control 9 }
}
elseif ($did == 12) { unset %actnicks | did -r Control 13 }
;
elseif ($did == 18) {
if (!$did(17)) { echo -a Please specify a nick to add }
else { set %partnicks $addtok($did(17),%partnicks, 32) | did -a Control 21 $did(17) | did -r control 17 }
}
elseif ($did == 19) {
if (!$did(21).seltext) { echo -a Please specify a nick to delete }
else { set %partnicks $remtok($did(21).seltext,%partnicks, 32) | partnicks | did -r control 17 }
}
elseif ($did == 20) { unset %partnicks | did -r Control 21 }
;
elseif ($did == 23) {
if (!$did(22)) { echo -a Please specify a nick to add }
else { set %joinnicks $addtok($did(22),%joinnicks, 32) | did -a Control 26 $did(22) | did -r control 22 }
}
elseif ($did == 24) {
if (!$did(26).seltext) { echo -a Please specify a nick to delete }
else { set %joinnicks $remtok(%joinnicks,$did(26).seltext, 32) | joinnicks | did -r control 22 }
}
elseif ($did == 25) { unset %joinnicks | did -r Control 26 }
;
elseif ($did == 31) {
if (!$did(30)) { echo -a Please specify a nick to add }
else { set %kicknicks $addtok($did(30),%kicknicks, 32) | did -a Control 34 $did(30) | did -r control 30 }
}
elseif ($did == 32) {
if (!$did(34).seltext) { echo -a Please specify a nick to delete }
else { set %kicknicks $remtok(%kicknicks,$did(34).seltext, 32) | kicknicks | did -r control 30 }
}
elseif ($did == 33) { unset %kicknicks | did -r Control 34 }
;
elseif ($did == 36) {
if (!$did(35)) { echo -a Please specify a nick to add }
else { set %bannicks $addtok($did(35),%bannicks, 32) | did -a Control 39 $did(35) | did -r control 35 }
}
elseif ($did == 37) {
if (!$did(39).seltext) { echo -a Please specify a nick to delete }
else { set %bannicks $remtok(%bannicks,$did(39).seltext, 32) | bannicks | did -r control 35 }
}
elseif ($did == 38) { unset %bannicks | did -r Control 39 }
;
elseif ($did == 44) {
if (!$did(43)) { echo -a Please specify a nick to add }
else { set %slapnicks $addtok($did(43),%slapnicks, 32) | did -a Control 47 $did(43) | did -r control 43 }
}
elseif ($did == 45) {
if (!$did(47).seltext) { echo -a Please specify a nick to delete }
else { set %slapnicks $remtok(%slapnicks,$did(47).seltext, 32) | slapnicks | did -r control 43 }
}
elseif ($did == 46) { unset %slapnicks | did -r Control 47 }
;
elseif ($did == 49) {
if (!$did(48)) { echo -a Please specify a nick to add }
else { set %modenicks $addtok($did(48),%modenicks, 32) | did -a Control 52 $did(48) | did -r control 48 }
}
elseif ($did == 50) {
if (!$did(52).seltext) { echo -a Please specify a nick to delete }
else { set %modenicks $remtok(%modenicks,$did(52).seltext, 32) | modenicks | did -r control 48 }
}
elseif ($did == 51) { unset %modenicks | did -r control 52 }
;
elseif ($did == 57) {
if (!$did(56)) { echo -a Please specify a nick to add }
else { set %nicknicks $addtok($did(56),%nicknicks, 32) | did -a Control 60 $did(56) | did -r control 56 }
}
elseif ($did == 58) {
if (!$did(60).seltext) { echo -a Please specify a nick to delete }
else { set %nicknicks $remtok(%nicknicks,$did(60).seltext, 32) | nicknicks | did -r control 56 }
}
elseif ($did == 59) { unset %nicknicks | did -r control 60 }
;
elseif ($did == 62) {
if (!$did(61)) { echo -a Please specify a nick to add }
else { set %noticenicks $addtok($did(61),%noticenicks, 32) | did -a Control 65 $did(61) | did -r control 61 }
}
elseif ($did == 63) {
if (!$did(65).seltext) { echo -a Please specify a nick to delete }
else { set %noticenicks $remtok(%noticenicks,$did(65).seltext, 32) | noticenicks | did -r control 61 }
}
elseif ($did == 64) { unset %noticenicks | did -r control 65 }
;
elseif ($did == 70) {
if (!$did(69)) { echo -a Please specify a nick to add }
else { set %memonicks $addtok($did(69),%memonicks, 32) | did -a Control 73 $did(69) | did -r control 69 }
}
elseif ($did == 71) {
if (!$did(73).seltext) { echo -a Please specify a nick to delete }
else { set %memonicks $remtok(%memonicks,$did(73).seltext, 32) | memonicks | did -r control 69 }
}
elseif ($did == 72) { unset %memonicks | did -r control 73 }
;
elseif ($did == 75) {
if (!$did(74)) { echo -a Please specify a nick to add }
else { set %msgnicks $addtok($did(74),%msgnicks, 32) | set %actnicks $addtok($did(74),%actnicks, 32) | set %joinnicks $addtok($did(74),%joinnicks, 32) | set %partnicks $addtok($did(74),%partnicks, 32) | set %kicknicks $addtok($did(74),%kicknicks, 32) | set %bannicks $addtok($did(74),%bannicks, 32) | set %slapnicks $addtok($did(74),%slapnicks, 32) | set %modenicks $addtok($did(74),%modenicks, 32) | set %nicknicks $addtok($did(74),%nicknicks, 32) | set %allnicks $addtok($did(74),%allnicks, 32) | set %noticenicks $addtok($did(74),%noticenicks, 32) | set %memonicks $addtok($did(74),%memonicks, 32) | did -r control 74 | msgnicks | actnicks | partnicks | joinnicks | kicknicks | bannicks | slapnicks | modenicks | nicknicks | noticenicks | memonicks | allnicks }
}
elseif ($did == 76) {
if (!$did(78).seltext) { echo -a Please specify a nick to delete }
else { set %msgnicks $remtok(%msgnicks,$did(78).seltext, 32) | set %actnicks $remtok(%actnicks,$did(78).seltext, 32) | set %joinnicks $remtok(%joinnicks,$did(78).seltext, 32) | set %partnicks $remtok(%partnicks,$did(78).seltext, 32) | set %kicknicks $remtok(%kicknicks,$did(78).seltext, 32) | set %bannicks $remtok(%bannicks,$did(78).seltext, 32) | set %slapnicks $remtok(%slapnicks,$did(78).seltext, 32) | set %nicknicks $remtok(%nicknicks,$did(78).seltext, 32) | set %modenicks $remtok(%modenicks,$did(78).seltext, 32) | set %allnicks $remtok(%allnicks,$did(78).seltext, 32) | set %memonicks $remtok(%memonicks,$did(78).seltext, 32) | set %noticenicks $remtok(%noticenicks,$did(78).seltext, 32) | did -r control 74 | msgnicks | actnicks | partnicks | joinnicks | kicknicks | bannicks | slapnicks | modenicks | nicknicks | noticenicks | memonicks | allnicks }
}
elseif ($did == 77) { unset %msgnicks %actnicks %joinnicks %partnicks %kicknicks %bannicks %slapnicks %modenicks %nicknicks %memonicks %noticenicks %allnicks | did -r control 8 | did -r control 13 | did -r control 21 | did -r control 26 | did -r control 34 | did -r control 39 | did -r control 47 | did -r control 52 | did -r control 60 | did -r control 65 | did -r control 73 | did -r control 78 }
}
if ($devent == init) { msgnicks | actnicks | partnicks | joinnicks | kicknicks | bannicks | slapnicks | modenicks | nicknicks | noticenicks | memonicks | allnicks }
}
;;;;;;;;;;;;;
;;;ALIASES;;;
;;;;;;;;;;;;;
alias msgnicks {
var %a = $numtok(%msgnicks,32)
did -r control 8
while (%a) { did -a control 8 $gettok(%msgnicks,%a,32) | dec %a }
}
alias actnicks {
var %a = $numtok(%actnicks,32)
did -r control 13
while (%a) { did -a control 13 $gettok(%actnicks,%a,32) | dec %a }
}
alias partnicks {
var %a = $numtok(%partnicks,32)
did -r control 21
while (%a) { did -a control 21 $gettok(%partnicks,%a,32) | dec %a }
}
alias joinnicks {
var %a = $numtok(%joinnicks,32)
did -r control 26
while (%a) { did -a control 26 $gettok(%joinnicks,%a,32) | dec %a }
}
alias kicknicks {
var %a = $numtok(%kicknicks,32)
did -r control 34
while (%a) { did -a control 34 $gettok(%kicknicks,%a,32) | dec %a }
}
alias bannicks {
var %a = $numtok(%bannicks,32)
did -r control 39
while (%a) { did -a control 39 $gettok(%bannicks,%a,32) | dec %a }
}
alias slapnicks {
var %a = $numtok(%slapnicks,32)
did -r control 47
while (%a) { did -a control 47 $gettok(%slapnicks,%a,32) | dec %a }
}
alias modenicks {
var %a = $numtok(%modenicks,32)
did -r control 52
while (%a) { did -a control 52 $gettok(%modenicks,%a,32) | dec %a }
}
alias nicknicks {
var %a = $numtok(%nicknicks,32)
did -r control 60
while (%a) { did -a control 60 $gettok(%nicknicks,%a,32) | dec %a }
}
alias allnicks {
var %a = $numtok(%allnicks,32)
did -r control 78
while (%a) { did -a control 78 $gettok(%allnicks,%a,32) | dec %a }
}
alias noticenicks {
var %a = $numtok(%noticenicks,32)
did -r control 65
while (%a) { did -a control 65 $gettok(%noticenicks,%a,32) | dec %a }
}
alias memonicks {
var %a = $numtok(%memonicks,32)
did -r control 73
while (%a) { did -a control 73 $gettok(%memonicks,%a,32) | dec %a }
}
alias errormsg {
msg $nick Incorrect Syntax. Type !help | halt
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;MENU AND USER CONTROL;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
menu * {
<<Kirbeh Control>>
.Open: dialog $iif($dialog(Control),-v,-m) Control Control
.On/Off
..$iif($group(#Command) == On,$style(3)) Enable: .enable #Command
..$iif($group(#Command) == Off,$style(3)) Disable: .disable #Command
}
#Command off
on *:TEXT:*:?: {
if (!commands == $1) { msg $nick Here are my commands: !msg, !act, !join, !part, !kick, !mode, !nick, !slap, !ban, !notice, and !memo. Type !List to see the commands you are able to use, and type !help for syntax information. }
elseif (!list == $1) {
msg $nick Searching...
if ($istok(%allnicks,$nick, 32)) { msg $nick All triggers are available for your use. }
if (!$istok(%allnicks,$nick, 32)) {
if ($istok(%actnicks,$nick, 32)) { msg $nick !act } | if ($istok(%msgnicks,$nick, 32)) { msg $nick !msg } | if ($istok(%joinnicks,$nick, 32)) { msg $nick !join } | if ($istok(%partnicks,$nick, 32)) { msg $nick !part } | if ($istok(%kicknicks,$nick, 32)) { msg $nick !kick } | if ($istok(%bannicks,$nick, 32)) { msg $nick !ban } | if ($istok(%modenicks,$nick, 32)) { msg $nick !mode } | if ($istok(%slapnicks,$nick, 32)) { msg $nick !slap } | if ($istok(%noticenicks,$nick, 32)) { msg $nick !notice } | if ($istok(%memonicks,$nick, 32)) { msg $nick !memo } | if ($istok(%nicknicks,$nick, 32)) { msg $nick !nick }
elseif (!$istok(%actnicks,$nick, 32)) && (!$istok(%msgnicks,$nick, 32)) && (!$istok(%partnicks,$nick, 32)) && (!$istok(%joinnicks,$nick, 32)) && (!$istok(%kicknicks,$nick, 32)) && (!$istok(%modenicks,$nick, 32)) && (!$istok(%nicknicks,$nick, 32)) && (!$istok(%slapnicks,$nick, 32)) && (!$istok(%bannicks,$nick, 32)) && (!$istok(%noticenicks,$nick, 32)) && (!$istok(%memonicks,$nick, 32)) { msg $nick Sorry, but noone by the name of $+ $nick $+ is in the Data Base. }
}
}
elseif (!msg == $1) && ($istok(%msgnicks,$nick, 32)) {
if (!$2) { errormsg }
else { /msg $2- }
}
elseif (!act == $1) && ($istok(%actnicks,$nick, 32)) {
if (!$2) { errormsg }
else { /describe $2- }
}
elseif (!part == $1) && ($istok(%partnicks,$nick, 32)) {
if (!$2) { errormsg }
else { /part $2- }
}
elseif (!join == $1) && ($istok(%joinnicks,$nick, 32)) {
if (!$2) { errormsg }
else { /join $2- }
}
elseif (!kick == $1) && ($istok(%kicknicks,$nick, 32)) {
if (!$2) { errormsg }
else { /kick $2- }
}
elseif (!mode == $1) && ($istok(%modenicks,$nick, 32)) {
if (!$2) { errormsg }
else { /mode $2- }
}
elseif (!nick == $1) && ($istok(%nicknicks,$nick, 32)) {
if (!$2) { errormsg }
else { /nick $2 }
}
elseif (!slap == $1) && ($istok(%slapnicks,$nick, 32)) {
if (!$4) { errormsg }
else { describe $2 slaps $3 around a bit with a(n) $4- }
}
elseif (!ban == $1) && ($istok(%bannicks,$nick, 32)) {
if (!$3) { errormsg }
else { /mode $2 +b $3 }
}
elseif (!notice == $1) && ($istok(%noticenicks,$nick, 32)) {
if (!$3) { errormsg }
else { /notice $2 < $+ $nick $+ > $3- }
}
elseif (!memo == $1) && ($istok(%memonicks,$nick, 32)) {
if (!$3) { errormsg }
else { /ms send $2 $nick wanted to send you the following memo: $3- }
}
elseif (!help == $1) {
if (!$2) {
msg $nick For help on certain commands, type !help <command>. Example: !help !msg
}
elseif ($2 == !msg) msg $nick Syntax is: !msg <channel> <message>
elseif ($2 == !act) msg $nick Syntax is: !act <channel> <action>
elseif ($2 == !join) msg $nick Syntax is: !join <channel>
elseif ($2 == !part) msg $nick Syntax is: !part <channel>
elseif ($2 == !kick) msg $nick Syntax is: !kick <channel> <nick> <why*> *Optional
elseif ($2 == !ban) msg $nick Syntax is: !ban <channel> <nick>
elseif ($2 == !mode) msg $nick Syntax is: !mode <channel> <mode>
elseif ($2 == !slap) msg $nick Syntax is: !slap <channel> <nick> <item>
elseif ($2 == !notice) msg $nick Syntax is: !notice <nick> <message>
elseif ($2 == !memo) msg $nick Syntax is: !memo <nick> <message>
elseif ($2 == !nick) msg $nick Syntax is: !nick <newnick>
}
}
#Command end
you can make this
elseif (!part == $1) && ($istok(%partnicks,$nick, 32)) { /part $2- }
elseif (!join == $1) && ($istok(%joinnicks,$nick, 32)) { /join $2- }
elseif (!kick == $1) && ($istok(%kicknicks,$nick, 32)) { /kick $2- }
elseif (!mode == $1) && ($istok(%modenicks,$nick, 32)) { /mode $2- }
elseif (!nick == $1) && ($istok(%nicknicks,$nick, 32)) { /nick $2- }
into somthing like this
elseif ($regex($1-,/^!(part|join|kick|mode|nick)\s(.+)/iS) && ($istok(%partnicks,$nick, 32)) { $regml(1) $regml(2) }
i was thinking of other features u can add like !query so the controlled person will send u back the queries he got
alias xquery if ($query(0)) { set %xquery $query(0) | while (%xquery) { set %xqq $query(%xquery) %xqq | dec %xquery } | return %xqq }
and for the command it will be
if ($1 = !query) { msg $nick $xquery }