Natural Bot Kick / Ban script

By NickLeStrange on Jan 10, 2013

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

}

Comments

Sign in to comment.
illhawkthat   -  Jan 13, 2013

Haha this is funny!
There are some things you could fix for example don't use goto and sections such as instead of goto NonOp just halt it right there.
Very interesting way of coding this.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.