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:
- !commands for a list of commands
NOW IN DIALOG FORM
- Join Auto Greet/Voice/Oper
V.02 List of Updates
Added IRCop Commands:
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
}
```