Usually bots are scripted to do things like kicking and banning people by using something like !kick nickname - which is perfectly fine. But what if you want a more natural way of doing it, as if you were merely talking to the bot.
This is what I set forth to do, with part of a script that I am still updating, when I have the time for it.
My bot is called Red_Queen, for various reasons, mostly because it's a kick-ass name for a bot. So when I want her to kick someone I simply say "Red_Queen kick nickname", and she kicks the person.
Here is the script.
** Feel free to use as is, just give credit where it's due.
*** Feel free to modify it, just give credit where due, and let me know.
Written for mIRC 6.35, but should be usable on many other versions.
**** Yes, I know that it's not perfect, it's a work in progress.
on 1:text:*:# {
if ($nick !isop $chan) goto NonOp
else goto First
:First
if ($1 == Red_Queen) { set %Me Red_Queen | goto NameCorrect }
else goto NameIncorrect
:NameIncorrect
halt
:NonOp
halt
:NameCorrect
if ($2 == kick) { set %DoOption kick | set %NickName $3- | goto PerformDoOption }
elseif ($2 == lockdown) { .timerdo 1 3 .mode $chan +sk pwnt | .describe $chan $chan is now on lockdown. If you need the key please speak to NickLeStrange | halt }
elseif ($2 == unlock) { .timerdo 1 3 .mode $chan -sk pwnt | .describe $chan $chan is now unlocked. Breathe the free air again. | halt }
else goto BanInsteadofKick
:BanInsteadofKick
if ($2 == ban) { set %DoOption ban | set %NickName $3- | goto PerformDoOption }
:PerformDoOption
if (%Me == Red_Queen) && (%DoOption == kick) { .kick $chan %Nickname $nick made me do it. | set %NickName 0 | set %DoOption 0 }
elseif (%Me == Red_Queen) && (%DoOption == ban) { .ban $chan %Nickname 1 $nick made me do it. | .ban $chan %Nickname 2 $nick made me do it. | .ban $chan %Nickname 3 $nick made me do it. | .ban -k $chan %Nickname 4 $nick made me bring down the banhammer. | Set %NickName 0 | set %DoOption 0 }
else halt
}