NuclearBot V.03

By Jake on Nov 29, 2006

This bot is easy interface, and makes up for the lack of Botserv.
Save to an .ini or .mrc and load the file.

Stuff it has:

  • Login to Nickserv
  • Channel modes
  • ! commands (Like !kick)
  • !commands for a list of commands
  • Idle Limiter
NOW IN DIALOG FORM
  • Join Auto Greet/Voice/Oper
  • Curse Guard

V.02 List of Updates Added IRCop Commands:
  • Login
  • Kill
  • Kline
  • Gline
  • Zline
  • Die

Should any problems arrise ( As I am sure they will ) Email me at worrmy390@hotmail.com
```mirc on 100:TEXT:*!kick*:#: { if ($2 != %owner) && ($2 != $me) { kick $chan $2 $3- } } on 100:TEXT:*!op*:#: { if ($2 isin $1-) { mode $chan +o $2 } else { mode $chan +o $nick } } on 100:TEXT:*!deop*:#: { if ($2 isin $1-) && ($2 != $me) { mode $chan -o $2 } else { mode $chan -o $nick } } on 100:TEXT:*!bkick*:#: { if ($2 != %owner) && ($2 != $me) { mode $chan +b $2 kick $chan $2 $3- } } on 100:TEXT:*!voice*:#: { if ($2 isin $1-) { mode $chan +v $2 } else { mode $chan +v $nick } } on 100:TEXT:*!devoice*:#: { if ($2 isin $1-) { mode $chan -v $2 } else { mode $chan -v $nick } } on 100:TEXT:*!say*:#: { msg $chan $2- } on *:LOAD: { auser 100 $$?="Enter Your Owner Nickname Here:"s set %owner $$?="For extra Protection:"s echo Nuclear Bot V.02 Loaded. } menu channel { - Login .login(IRCop):/oper $$?="Enter name and password here:"s .login(Nickserv):/msg nickserv IDENTIFY $$?="Enter Password:"s - Add User:auser 100 $$?="Enter User Here:"s - IRCop Commands .kill:/kill $$?="Enter Nick Here:"s .Kline:/kline $$?="Enter Nick, Time, and Reason here:"s .Gline:/gline $$?="Enter Nick, Time, and Reason here:"s .Zline:/kline $$?="Enter Nick, Time, and Reason here:"s .Die(Kill IRC):/die $$?="Enter Password here:"s Channel Features:/dialog -mnd Channel Channel - Idle Limiter .Set :set %i.limit [ $+ [ $chan ] ] $$?="Idle limit? (60 = 1 minute) " .Reset :unset %i.limit [ $+ [ $chan ] ] .Check:check.idle $chan } on *:TEXT:**:#: { if (%CurseGuard == ON) && ($nick !isop $chan) { kick $chan $2 Watch your language! } } on *:TEXT:*!commands*:#: { msg $nick Here is a list of commands. msg $nick !kick - Kicks the User msg $nick !bkick - Kicks and bans the user msg $nick !op - Gives the user Operator status (+o) msg $nick !deop - Takes the user's Operator status away msg $nick !voice - Gives the user Voice msg $nick !Devoice - Takes the User's Voice away } on *:JOIN:#: { if (%autogreet == ON) { msg $chan %message } if (%autovoice == ON) { mode $chan +v $nick } if ($nick isin auser) && (%autoop == ON) { mode $chan +o $nick } } dialog Channel { title "Channel Help" size -1 -1 115 90 option dbu box "On Join",1,5 5 50 39 check "AutoGreet ",2,8 12 40 11 check "AutoVoice ",3,8 22 40 11 check "AutoOP ",4,8 32 40 11 box "Channel Protection",5,60 5 50 39 check "Silence",6,63 12 40 11 check "No Color",7,63 22 40 11 check "Curse Guard",8,63 32 40 11 edit "Channel to Protect here(Put the #)",10,5 50 105 11,autohs,result edit "Other Channel(if not, leave blank)",11,5 62 105 11,autohs button "Ok",9,48 75 30 11,ok button "Cancel",12,80 75 30 11,cancel } on *:DIALOG:Channel:Sclick:3: { set %autovoice ON ) on *:DIALOG:Channel:Sclick:2: { set %autogreet ON set %autogreetmess $$?="Enter Auto Message Here:"s } on *:DIALOG:Channel:Sclick:4: { set %autoop ON } on *:DIALOG:Channel:Sclick:6: { set %silence ON } on *:DIALOG:Channel:Sclick:7: { set %NC ON } on *:DIALOG:Channel:Sclick:8: { set %CurseGuard ON } on *:DIALOG:Channel:EDIT:10: { if ($did == 10) { set %chan1 $did(Channel,10) } } on *:DIALOG:Channel:EDIT:11: { if ($did == 11) { set %chan2 $did(Channel,11) } } on *:JOIN:#: { if (%chan1 == $chan) || (%chan2 == $chan) && (%autovoice == ON) { mode $chan +v $nick } if (%chan1 == $chan) || (%chan2 == $chan) && (%autogreet == ON) { notice $nick %autogreetmess } if (%chan1 == $chan) || (%chan2 == $chan) && (%autoop == ON) && ($nick isin auser) { notice $nick %autogreetmess } } on *:DIALOG:Channel:Sclick:9: { if (%chan1 == $chan) || (%chan2 == $chan) && (%silence == ON) { mode %chan1 +m mode %chan2 +G unset %silence } if (%chan1 == $chan) || (%chan2 == $chan) && (%CurseGuard == ON) { mode %chan1 +G mode %chan2 +G unset %CurseGuard } if (%chan1 == $chan) || (%chan2 == $chan) && (%NC == ON) { mode %chan1 +S mode %chan2 +S unset %NC } } on *:DISCONNECT: { unset %silence unset %CurseGuard unset %NC } ```

Comments

Sign in to comment.
F*U*R*B*Y*   -  Jan 15, 2007

It\'s very basic, and poorly coded. For example, you have && ($2 != $me) in On Text events. This makes no sense, because on text CANNOT BE TRIGGERED BY YOU. Also, there is NO multi-channel support: The bot will autovoice, or not autovoice in any channel. The same goes for autoop and other options. Lastly, there are also NO spaces in between identifiers and other text on some options, meaning the identifiers won\'t work.

Okay, but room for improvement.

^_^ !kill botname what to know what ($2 != $me) means now?

 Respond  
Jake   -  Dec 03, 2006

Captain Holly, && ($2 != $me) is a dumbscripters way of saying if the $2 text(Which would most likely be the nick of the person that script was kicking or banning) cannot be equal to $me, So that the bot cannot be kicked.

 Respond  
Invalid   -  Dec 02, 2006

Great Start, How about another updated version with Global Commands, that is all that is lacking.

 Respond  
Naemuti   -  Dec 02, 2006

It\'s very basic, and poorly coded. For example, you have && ($2 != $me) in On Text events. This makes no sense, because on text CANNOT BE TRIGGERED BY YOU. Also, there is NO multi-channel support: The bot will autovoice, or not autovoice in any channel. The same goes for autoop and other options. Lastly, there are also NO spaces in between identifiers and other text on some options, meaning the identifiers won\'t work.

Okay, but room for improvement.

 Respond  
PowerDragon   -  Dec 01, 2006

this is mostly helpfull for an IRCop. Works very nicely though.

 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.