channel bot

By PuNkTuReD on May 14, 2008

simple channel bot
you will need to seperate this into four seperate remotes

seperate it where it says
;-------------------------------------start new remote here--------------------------------------

start by setting yourself as owner by typing !owner NICK
then follow the instructions

if someone can help put this into one script and keep it working that would be great.
any suggestions would be appreciated :)

on *:load: {
  echo -a Bot Commands Scripted By PuNkTuReD
  echo -a http://www.punktured.eexweb.com
  echo -a Level 1 Users Are Regular Users - Add These By Typing !addregular nick
  echo -a Level 5 Users Get HalfOp Status - Add These By Typing !adduser nick
  echo -a Level 10 User (Owner) Gets Op Status
  echo -a Start By Setting The Bot's Owner By Typing !owner NICK
}
on *:connect: {
  nick %botnick
  identify %botpass
  join %botchan
  timestamp on
}
on 10:join:%botchan: {
  mode %botchan +o $nick
  mode %botchan +a $nick 
}
on 5:join:%botchan: {
  mode %botchan +h $nick 
}
on *:join:%botchan: {
  mode %botchan +v $nick 
}
on *:INVITE:*: {
  query $nick Please stop inviting me to your shady little alley ways !
}
on *:op:#:{
  if ($opnick == $me) { msg $chan 12Thanks for the 4@12 $nick }
  else { halt }
}
on *:deop:#:{
  if ( $nick = $me ) { halt }
  if ($opnick = $me) {
    chanserv op %botchan $me
    chanserv deop %botchan $nick
    msg %botchan 4DONT 12DeOp 4The Bot
  }
}
on *:help:#:{
  if ($hnick == $me) { msg $chan 12Thanks for the 4%12 $nick }
  else { halt }
}
on *:voice:#:{
  if ($vnick == $me) { msg $chan 12Thanks for the 4+12 $nick }
  else { halt }
}
on *:KICK:#:{
  if ($knick = $me) {
    join %botchan
    mode %botchan +v $me
    msg chanserv op %botchan $me  
    .timer 1 1 { msg %botchan 4DONT 12Kick 4The Bot | kick %botchan $nick }
  }
}
on !*:BAN:#:{
  if ($banmask iswm $address($me,5)) {
    msg chanserv unban %botchan
    join %botchan    
    msg chanserv op %botchan $me
    msg chanserv protect %botchan $me
    .timer 1 1 { msg %botchan 4DONT 12Ban 4The Bot | ban %botchan $$2 2 | kick %botchan $nick | halt }
  }
}
on 1:MODE:%botchan: {
  msg %botchan 4 $nick 12changed4 $chan 12mode to4 $1- 
}
;-------------------------------------start new remote here--------------------------------------
on *:text:*:*: {
  if ($$1 = !commands) {
  msg $nick !owner !google (search for). }
  if ($$1 = !owner) {
  msg %botchan %owner is my current owner . }
  if ($$1 = !setowner) {
    if (%owner == $null) {
      set %owner $nick  
      guser -a 10 $$2
      msg %owner Hi , now i will tell you how to set me up . First set the botchan by typing !setbotchan #channel . 
    }
    if ($nick == %owner) {
      set %owner $$2
      guser -a 10 $$2
      msg %owner Hi , Type !commands for a list of owner commands .
      else { msg $chan You dont have permission to do that $nick . } 
    }
  }
  if ($$1 = !setbotchan) && (%owner == $null) {
    msg $nick You have to set yourself as owner before configuring the bot . Do this by typing !setowner YOURNICK . 
  }
  if ($$1 = !setbotchan) && ($nick == %owner) {
    set %botchan $$2
    msg %owner You have set my BotChan to %botchan , now set my nick by typing !setbotnick nick .
  }
  if ($$1 = !setbotnick) {
    if (%owner == $null) {
      msg $nick You have to set yourself as owner before configuring the bot . Do this by typing !setowner YOURNICK . 
    }
    else {
      if (%botnick == $null) {
        set %botnick $$2
        nick %botnick
        msg %owner You have set my Nick to %botnick , Now set my Nickserv password by typing !setbotpass password .
      }
      if ($nick == %owner) {
        set %botnick $$2
        nick %botnick
        msg %owner You have set my Nick to %botnick , Now set my Nickserv password by typing !setbotpass password .
        else { msg $chan You dont have permission to do that $nick }
      }
    }
  }
  if ($$1 = !setbotpass) {
    if (%owner == $null) {
      msg $nick You have to set yourself as owner before configuring the bot . Do this by typing !setowner yournick . 
    }
    else {
      if (%botnick == $null) {
        msg $nick You have to set my Nick first . Do this by typing !setbotnick MYNICK . 
      }
      else {
        if (%botpass == $null) {
          set %botpass $$2
          msg %owner You have set my NickServ Password to %botpass , I am now setup . Enjoy .
        }
        if ($nick == %owner) && (%botpass == %botpass) {
          set %botpass $$2
          msg %owner You have set my NickServ Password to %botpass
          else { msg $chan You dont have permission to do that $nick }
        }
      }
    }
  }
}
;-------------------------------------start new remote here--------------------------------------
on 5:text:*:*: {
  if ($$1 = !op) {
    .mode %botchan +o $$2
    msg %botchan - $$2 has been given Op Status By $nick - | halt
  } 
  if ($$1 = !deop) {
    .mode %botchan -o $$2
    msg %botchan - $nick Stripped $$2 Of Their Op Status - | halt
  }
  if ($$1 = !halfop) {
    .mode %botchan +h $$2
    msg %botchan - $$2 has been given HalfOp Status By $nick - | halt
  } 
  if ($$1 = !dehalfop) {
    .mode %botchan -h $$2
    msg %botchan - $nick Stripped $$2 Of Their HalfOp Status - | halt
  }
  if ($$1 = !voice) {
    .mode %botchan +v $$2
    msg %botchan - $$2 has been given Voice Status By $nick - | halt
  } 
  if ($$1 = !devoice) {
    .mode %botchan -v $$2
    msg %botchan - $nick Stripped $$2 Of Their Voice Status - | halt
  }
  if ($$1 = !kick) {
    kick %botchan $$2
    msg $$2 You were kicked by $nick 
    msg %botchan [ I have performed %kcnt Kicks in %botchan ] | inc %kcnt 1
  }
  if ($$1 = !ban) {
    ban %botchan $$2 2
    msg $$2 You were banned by $nick
    msg %botchan [ I have performed %bcnt Bans in %botchan ] | inc %bcnt 1
    kick %botchan $$2
    timer 1 300 chanserv clear %botchan bans 
  }
  if ($$1 = !mode) {
    set %tempmode $$2-
    mode %botchan %tempmode
  }
  if ($$1 = !modelock) {
    set %tempmode $$2-
    chanserv set %botchan mlock %tempmode
  }
  if (%%1 = !notify) {
    notify $$2
    msg %botchan added $$2 to notify list !
  }
  if ($$1 = !commands) {
    msg $nick !op (nick) !deop (nick) !halfop (nick !dehalfop (nick) !voice (nick) !devoice (nick) !kick (nick) !ban (nick).
    msg $nick !owner !google (search for) .
  }
}
;-------------------------------------start new remote here--------------------------------------
on 10:text:*:*: {
  if ($$1 == !adduser) {
    if ($nick == %owner) {
      guser -a 5 $$2 
      notify $$2
      query $$2 Type !commands for a list of available commands 
    }
    else { 
      msg %botchan You dont have permission to do that $nick .
    }
  }
  if ($$1 == !addregular) {
    if ($nick == %owner) {
      guser -a 1 $$2 
      msg %botchan - $$2 added to access list - 
      query $$2 Type !commands for a list of available commands
    }
    else { 
      msg %botchan You dont have permission to do that $nick .
    }
  }
  if ($$1 = !akick) {
    chanserv akick %botchan add $$2 2
    kick %botchan $$2
    msg $$2 You have been added to %botchan $+ s AutoKick List by $nick
    msg %botchan [ I have performed %akcnt AutoKicks in %botchan ] | inc %akcnt 1
    timer 1 300 chanserv akick %botchan del $$2 2
  }
  if ($$1 = !join) {
    join $$2
  }
  if ($$1 = !part) {
    part $$2
  }
  if ($$1 = !commands) {
    msg $nick !op (nick) !deop (nick) !halfop (nick) !dehalfop (nick) !voice (nick) !devoice (nick) !kick (nick) !ban (nick) !akick (nick).
    msg $nick !adduser (nick) !addregular (nick) !owner !google (search for) .
  }
}

Comments

Sign in to comment.
PATX   -  Mar 14, 2009

useful script get a 7 good job

 Respond  
EL   -  Jun 06, 2008

File > new

 Respond  
T012m3n7oR   -  Jun 06, 2008

how do you make a separate file? im not sure

 Respond  
PuNkTuReD   -  May 15, 2008

cool man , yea i only put them as seperate files because they wouldnt work .
as for the !owner (nick) that can only be set once by anyone , then can only be changed by the owner . thanks for your score mate .

 Respond  
Viper01   -  May 15, 2008

I don\'t see why seperate script files are needed here, it should all work in 1 file. Something to make it easier though, you can try:

 Alias owner { /set %owner $$1 }

so other people don\'t try the !owner command in a channel. I can\'t test it at the moment, since I\'m at school but when I get a chance(and if i remember to), I\'ll test it and change the score accordingly. In the meantime, 3/10

 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.