This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

cmd_chan.tcl

Old posts that have not been replied to for several years.
Locked
c
coolio2004
Halfop
Posts: 68
Joined: Wed Jan 19, 2005 4:02 am

cmd_chan.tcl

Post by coolio2004 »

anyone use that script? it says i need to authenticate myself to the bot with the following command and when i try to do it, it doesnt seem to take anything as a password.
for e..g

[21:17] -fc3- [J-C]: You haven't authenticate Yourself. Type: [/msg fc3 auth <password>] to do so.


so what i did was i typed: /msg fc3 auth password
and its not liking it, of course i dont put password as password (even though ive tried that also, but ive put my bot's dcc password which it is not accepting at all. I was looking at the actual tcl script and it says this:

if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)"


ok so my account is the master and it has +p flag already but its just not liking it, any ideas?
User avatar
^DooM^
Owner
Posts: 772
Joined: Tue Aug 26, 2003 5:40 pm
Location: IronForge
Contact:

Post by ^DooM^ »

I dont know this script personally. Do you have to set your password within the script itself or is it supposed to use the one set in its userfile?
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born
c
coolio2004
Halfop
Posts: 68
Joined: Wed Jan 19, 2005 4:02 am

Post by coolio2004 »

im not too sure but i've tried my userfile password which doesnt seem to be working and in the tcl i tried to look for help about the password but nothing is there. and when i try to insert just a new password, its not responding to anything i say.
User avatar
^DooM^
Owner
Posts: 772
Joined: Tue Aug 26, 2003 5:40 pm
Location: IronForge
Contact:

Post by ^DooM^ »

Take a look at the binds for the script see if there is any clues as to what commands are available to you.

Can you paste the whole script inside code tags as well :)
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born
c
coolio2004
Halfop
Posts: 68
Joined: Wed Jan 19, 2005 4:02 am

Post by coolio2004 »

# Begin - Commands & Control, Channel Control. (cmd_chan.tcl)
# Designed & Written by TCP-IP (Vicky@Vic.ky), © April 1999
# Developed by Ninja_baby (Jaysee@Jaysee.Tv), © March 2000

# This script was made by TCP-IP in middle of 1999, I develop this script since he passes this script-
# to me in middle of 2000. I made few changes, add some features, and fixed some bugs that were remain-
# here in this script package.

# This TCL contains some public / msg commands related to channel's stuffs.. such as to ban, kick, op-
# deop, etc... simpy do /msg <yourbotnick> chanhelp or do `chanhelp in channel to see what commands-
# did this script has.. I set 2 types of commands.. /msg commands and public (channel) commands.
# NOTE: not much.. even almost has no DCC command stuffs here.. I will make the DCC commands very soon ;)
# so please support ;)

# Set this as your Public (channel) command character. For example: you set this to "!".. means you must-
# type !mycommand in channel to activate public commands.
set CHPRM "`"

# This is for network compatiblity (be sure your IRC network using SirvServces) with ChanServ arround.
# I set this with DALnet's ChanServ's nickname.. you can set it according to your ChanServ's nickname-
# in your IRC network ;)
set cmdsvrnick "ChanServ@services.dal.net"

if {[info exist ban-time]} {
# Checking whenever the "ban-time" variable is exist on your bot conf file. (Default)
set gbantime ${ban-time}
} else {
# Set this as global ban time.. this will be use when you trigger +ban / +gban command to ban ppl-
# out of channel.. when you're not typing a ban time.. the bot will set the ban time according with-
# what you set here.. set this variable in Minute(s) format.
# Remember that if "ban-time" variable (which taken from your eggdrop.conf.dist file) already-
# exist, you do not need to set the bantime from here, this script will automaticly add the-
# variable from your bot conf file.
set gbantime 15
}

# This is for your benefit hehe ;), you can either set your own LOGO here, your logo will appear-
# when the bot notice you, or when it makes msgs/notices/kicks or scripts loading. So keep smiling-
# and set this variable as you wish ;), you can either set this to "" to leave it blank.
set cmdchnlg "\[J-C\]:"

######### Please do not edit anything below unless you know what you are doing ;) #########

proc msg_masuk {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set chankey [lindex $rest 1]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick join <#channel> \[join-key\]" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {[validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am already on $chan." ; return 0}
channel add $chan ; utimer 1 save
if {$chankey == ""} {putquick "NOTICE $nick :$cmdchnlg Joining myself to channel: $chan. Updating channel list." ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Join $chan." ; return 0}
putquick "JOIN $chan $chankey"
putquick "NOTICE $nick :$cmdchnlg Joining myself to channel: $chan with Join-key: $chankey. Updating channel list."
putcmdlog "$cmdchnlg <<$nick>> !$hand! Join $chan (Join-key: $chankey)." ; return 0
}

proc pub_masuk {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0] ; if {$channel == "#" || $channel == ""} {putquick "NOTICE $nick :$cmdchnlg Command: \[${CHPRM}join <#channel> \[join-key\]\]" ; return 0}
msg_masuk $nick $uhost $hand $rest
}

proc msg_cabut {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick leave <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![isdynamic $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I cannot part from $chan, coz' it is not a dynamic channel." ; return 0}
channel remove $chan ; utimer 1 save
putquick "NOTICE $nick :$cmdchnlg I am now leaving channel: $chan. Updating channel list."
putcmdlog "$cmdchnlg <<$nick>> !$hand! Leave $chan." ; return 0
}

proc pub_cabut {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set rest [lindex $rest 0] ; if {$rest == "#" || $rest == ""} {set rest $chan}
msg_cabut $nick $uhost $hand $rest
}

proc msg_cycle {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#"} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick cycle \[#channel\]" ; return 0}
if {$chan == ""} {set chan "ALL"
} else {if {![string match "#*" $chan]} {set chan "#$chan" ; if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}}}
if {$chan != "ALL"} {
putquick "PART $chan :$chan" ; putquick "JOIN $chan" ; putquick "NOTICE $nick :$cmdchnlg Cycling: $chan."
} else {
foreach pchan [channels] {
putquick "PART $pchan :Cycling" ; putquick "JOIN $pchan" ; putquick "NOTICE $nick :$cmdchnlg Cycling: $pchan."
}
} ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Cycle." ; return 0
}

proc pub_cycle {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; if {$rest == ""} {msg_cycle $nick $uhost $hand $chan} else {msg_cycle $nick $uhost $hand $rest}
}

proc msg_konci {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick lock <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set currmode [getchanmode $chan] ; set lockmode ""
if {![string match "*m*" $currmode]} {append lockmode "m"}
if {![string match "*i*" $currmode]} {append lockmode "i"}
if {$lockmode == ""} {putquick "NOTICE $nick :$cmdchnlg Channel $chan already locked. I will not lock that channel twice." ; return 0}
putquick "MODE $chan $lockmode"
putcmdlog "$cmdchnlg <<$nick>> !$hand! Lock $chan." ; return 0
}

proc pub_konci {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set rest [lindex $rest 0] ; if {$rest == "#" || $rest == ""} {set rest $chan}
msg_konci $nick $uhost $hand $rest
}

proc msg_buka {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick unlock <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set currmode [getchanmode $chan] ; set lockmode ""
if {[string match "*m*" $currmode]} {append lockmode "m"}
if {[string match "*i*" $currmode]} {append lockmode "i"}
if {$lockmode == ""} {putquick "NOTICE $nick :$cmdchnlg Channel $chan is not locked." ; return 0}
putquick "MODE $chan -$lockmode"
putcmdlog "$cmdchnlg <<$nick>> !$hand! Unlock $chan." ; return 0
}

proc pub_buka {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set rest [lindex $rest 0] ; if {$rest == "#" || $rest == ""} {set rest $chan}
msg_buka $nick $uhost $hand $rest
}

proc msg_cmode {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set mlock [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick cmode <#channel> <+/-modelocks>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {$mlock == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick cmode $chan <+/-modelocks>" ; return 0}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
putquick "MODE $chan $mlock"
putcmdlog "$cmdchnlg <<$nick>> !$hand! Mode change: $rest on channel: $chan." ; return 0
}

proc pub_cmode {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
set cmodes [lindex $chans 1]
if {$cmodes == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}cmode \[#channel\] <+/-modelocks>" ; return 0}
msg_cmode $nick $uhost $hand $chans
}

proc msg_opbot {nick uhost hand rest} {
global CHPRM botnick cmdsvrnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot Op myself." ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick up <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {[botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I am already Opped on channel: $chan." ; return 0}
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot Op myself." ; return 0}
putquick "PRIVMSG $cmdsvrnick :op $chan $botnick"
putcmdlog "$cmdchnlg <<$nick>> !$hand! Self-Op on channel: $chan." ; return 0
}

proc pub_opbot {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set rest [lindex $rest 0] ; if {$rest == "#" || $rest == ""} {set rest $chan}
msg_opbot $nick $uhost $hand $rest
}

proc msg_deopbot {nick uhost hand rest} {
global CHPRM botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick down <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
putquick "MODE $chan +v-o $botnick $botnick"
putcmdlog "$cmdchnlg <<$nick>> !$hand! Self-DeOp on channel: $chan." ; return 0
}

proc pub_deopbot {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set rest [lindex $rest 0] ; if {$rest == "#" || $rest == ""} {set rest $chan}
msg_deopbot $nick $uhost $hand $rest
}

proc msg_naekin {nick uhost hand rest} {
global botnick cmdsvrnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set opnick [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick op <#channel> <nickname(s)>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {$opnick == ""} {
if {[isop $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are already Opped on channel: $chan." ; return 0}
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot Op you since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :op $chan $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick Op: $nick on channel: $chan." ; return 0
}
if {![onchan $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are not on channel: $chan." ; return 0}
putquick "MODE $chan +o $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Op: $nick on channel: $chan." ; return 0
}
set opnicks "" ; set gopnicks "" ; set nonenicks "" ; set gotop 0
foreach x $opnick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string toupper $x] == "ME"} {set x $nick}
if {$gotop < 6} {if {[isop $x $chan]} {append gopnicks " $x"} else {if {![onchan $x $chan]} {append nonenicks " $x"} else {append opnicks " $x" ; set gotop [expr $gotop + 1]}}}
if {$gotop == 6} {
set gotop 0
if {$opnicks != ""} {
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot Op anyone since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :op $chan $opnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick Op: $opnicks on channel: $chan."
} else {
putquick "MODE $chan +oooooo $opnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Op: $opnicks on channel: $chan."
}
set opnicks "" ; append opnicks " $x" ; set gotop 1
}
}
}
}
if {$nonenicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nonenicks is not on channel: $chan."}
if {$gopnicks != ""} {putquick "NOTICE $nick :$cmdchnlg $gopnicks already Oped on channel: $chan."}
if {$opnicks != ""} {
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot Op anyone since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :op $chan $opnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick Op: $opnicks on channel: $chan."
} else {
putquick "MODE $chan +oooooo $opnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Op: $opnicks on channel: $chan."
}
} ; return 0
}

proc pub_naekin {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
msg_naekin $nick $uhost $hand $chans
}

proc msg_turunin {nick uhost hand rest} {
global botnick cmdsvrnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set deopnick [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick deop <#channel> <nickname(s)>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {$deopnick == ""} {
if {![isop $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are not Opped on channel: $chan." ; return 0}
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot DeOp you since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :deop $chan $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick DeOp: $nick on channel: $chan." ; return 0
}
if {![onchan $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are not on channel: $chan." ; return 0}
putquick "MODE $chan -o $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeOp: $nick on channel: $chan." ; return 0
}
set deopnicks "" ; set nopnicks "" ; set nonenicks "" ; set ownicks "" ; set gotdeop 0
foreach x $deopnick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string toupper $x] == "ME"} {set x $nick}
if {$gotdeop < 6} {if {![isop $x $chan]} {append nopnicks " $x"} else {if {![onchan $x $chan]} {append nonenicks " $x"} else {if {[matchattr [nick2hand $x $chan] m]} {append ownicks " $x"} else {append deopnicks " $x" ; set gotdeop [expr $gotdeop + 1]}}}}
if {$gotdeop == 6} {
set gotdeop 0
if {$deopnicks != ""} {
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot DeOp anyone since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :deop $chan $deopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick DeOp: $deopnicks on channel: $chan."
} else {
putquick "MODE $chan -oooooo $deopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeOp: $deopnicks on channel: $chan."
}
set deopnicks "" ; append deopnicks " $x" ; set gotdeop 1
}
}
}
}
if {$nonenicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nonenicks is not on channel: $chan."}
if {$nopnicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nopnicks already DeOped on channel: $chan."}
if {$ownicks != ""} {putquick "NOTICE $nick :$cmdchnlg $ownicks are my \[Master(s)\], and will I will not DeOp them on channel: $chan."}
if {$deopnicks != ""} {
if {![botisop $chan]} {
if {$cmdsvrnick == ""} {putquick "NOTICE $nick :$cmdchnlg This network doesn't have any channel services, or you set its nick blank, I cannot DeOp anyone since I'm not opped." ; return 0}
putquick "PRIVMSG $cmdsvrnick :deop $chan $deopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! $cmdsvrnick DeOp: $deopnicks on channel: $chan."
} else {
putquick "MODE $chan -oooooo $deopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeOp: $deopnicks on channel: $chan."
}
} ; return 0
}

proc pub_turunin {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
msg_turunin $nick $uhost $hand $chans
}

proc msg_massop {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick mop <#channel>" ; return 0}
set massopnick [chanlist $chan]
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set massopnicks "" ; set gotop 0
foreach x $massopnick {
if {(![isop $x $chan]) && (![onchansplit $x $chan]) && (![isbotnick $x])} {
if {$gotop < 6} {append massopnicks " $x" ; set gotop [expr $gotop + 1]}
if {$gotop == 6} {
set gotop 0
if {$massopnicks != ""} {
putquick "MODE $chan +oooooo $massopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! MassOp on channel: $chan by: $nick."
set massopnicks "" ; append massopnicks " $x" ; set gotop 1
}
}
}
}
if {$massopnicks != ""} {putquick "MODE $chan +oooooo $massopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! MassOp on channel: $chan by: $nick."} ; return 0
}

proc pub_massop {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == ""} {set channel $chan} else {if {![string match "#*" $channel]} {set channel "#$channel"}}
msg_massop $nick $uhost $hand $channel
}

proc msg_massdeop {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick mdeop <#channel>" ; return 0}
set massdeopnick [chanlist $chan]
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set massdeopnicks "" ; set ownicks "" ; set gotdeop 0
foreach x $massdeopnick {
if {([isop $x $chan]) && (![onchansplit $x $chan]) && (![isbotnick $x])} {
if {$gotdeop < 6} {if {[matchattr [nick2hand $x $chan] m]} {append ownicks " $x"} else {append massdeopnicks " $x" ; set gotdeop [expr $gotdeop + 1]}}
if {$gotdeop == 6} {
set gotdeop 0
if {$massdeopnicks != ""} {
putquick "MODE $chan -oooooo $massdeopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass DeOp on channel: $chan by: $nick."
set massdeopnicks "" ; append massdeopnicks " $x" ; set gotdeop 1
}
}
}
}
if {$ownicks != ""} {putquick "NOTICE $nick :$cmdchnlg $ownicks are my \[Master(s)\], and will I will not DeOp them on channel: $chan."}
if {$massdeopnicks != ""} {putquick "MODE $chan -oooooo $massdeopnicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass DeOp on channel: $chan by: $nick."} ; return 0
}

proc pub_massdeop {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == ""} {set channel $chan} else {if {![string match "#*" $channel]} {set channel "#$channel"}}
msg_massdeop $nick $uhost $hand $channel
}

proc msg_pois {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set vonick [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick voice <#channel> <nickname(s)>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
if {$vonick == ""} {
if {[isvoice $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are already Voiced on channel: $chan." ; return 0}
if {![onchan $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are not on channel: $chan." ; return 0}
putquick "MODE $chan +v $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Voice: $nick on channel: $chan." ; return 0
}
set vonicks "" ; set gvonicks "" ; set nonenicks "" ; set gotvoiced 0
foreach x $vonick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string toupper $x] == "ME"} {set x $nick}
if {$gotvoiced < 6} {if {[isvoice $x $chan]} {append gvonicks " $x"} else {if {![onchan $x $chan]} {append nonenicks " $x"} else {append vonicks " $x" ; set gotvoiced [expr $gotvoiced + 1]}}}
if {$gotvoiced == 6} {
set gotvoiced 0
if {$vonicks != ""} {
putquick "MODE $chan +vvvvvv $vonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Voice: $vonicks on channel: $chan."
set vonicks "" ; append vonicks " $x" ; set gotvoiced 1
}
}
}
}
if {$nonenicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nonenicks is not on channel: $chan."}
if {$gvonicks != ""} {putquick "NOTICE $nick :$cmdchnlg $gvonicks already Voiced on channel: $chan."}
if {$vonicks != ""} {putquick "MODE $chan +vvvvvv $vonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Voice: $vonicks on channel: $chan."} ; return 0
}

proc pub_pois {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
msg_pois $nick $uhost $hand $chans
}

proc msg_depois {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set dvonick [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick devoice <#channel> <nickname(s)>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
if {$dvonick == ""} {
if {![isvoice $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are already DeVoiced on channel: $chan." ; return 0}
if {![onchan $nick $chan]} {putquick "NOTICE $nick :$cmdchnlg You are not on channel: $chan." ; return 0}
putquick "MODE $chan -v $nick" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeVoice: $nick on channel: $chan." ; return 0
}
set dvonicks "" ; set gdvonicks "" ; set nonenicks "" ; set devoiced 0
foreach x $dvonick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string toupper $x] == "ME"} {set x $nick}
if {$devoiced < 6} {if {![isvoice $x $chan]} {append gdvonicks " $x"} else {if {![onchan $x $chan]} {append nonenicks " $x"} else {append dvonicks " $x" ; set devoiced [expr $devoiced + 1]}}}
if {$devoiced == 6} {
set devoiced 0
if {$dvonicks != ""} {
putquick "MODE $chan -vvvvvv $dvonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeVoice: $dvonicks on channel: $chan."
set dvonicks "" ; append dvonicks " $x" ; set devoiced 1
}
}
}
}
if {$nonenicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nonenicks is not on channel: $chan."}
if {$gdvonicks != ""} {putquick "NOTICE $nick :$cmdchnlg $gdvonicks are not Voiced on channel: $chan."}
if {$dvonicks != ""} {putquick "MODE $chan -vvvvvv $dvonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! DeVoice: $dvonicks on channel: $chan."} ; return 0
}

proc pub_depois {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
msg_depois $nick $uhost $hand $chans
}

proc msg_massvo {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick mvoice <#channel>" ; return 0}
set massvonick [chanlist $chan]
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set massvonicks "" ; set gmvoiced 0
foreach x $massvonick {
if {(![isvoice $x $chan]) && (![onchansplit $x $chan]) && (![isbotnick $x])} {
if {$gmvoiced < 6} {append massvonicks " $x" ; set gmvoiced [expr $gmvoiced + 1]}
if {$gmvoiced == 6} {
set gmvoiced 0
if {$massvonicks != ""} {
putquick "MODE $chan +vvvvvv $massvonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass Voice on channel: $chan by: $nick."
set massvonicks "" ; append massvonicks " $x" ; set gmvoiced 1
}
}
}
}
if {$massvonicks != ""} {putquick "MODE $chan +vvvvvv $massvonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass Voice on channel: $chan by: $nick."} ; return 0
}

proc pub_massvo {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == ""} {set channel $chan} else {if {![string match "#*" $channel]} {set channel "#$channel"}}
msg_massvo $nick $uhost $hand $channel
}

proc msg_massdevo {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick mdevo <#channel>" ; return 0}
set massdevonick [chanlist $chan]
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set massdevonicks "" ; set gmdvoice 0
foreach x $massdevonick {
if {([isvoice $x $chan]) && (![onchansplit $x $chan]) && (![isbotnick $x])} {
if {$gmdvoice < 6} {append massdevonicks " $x" ; set gmdvoice [expr $gmdvoice + 1]}
if {$gmdvoice == 6} {
set gmdvoice 0
if {$massdevonicks != ""} {
putquick "MODE $chan -vvvvvv $massdevonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass DeVoice on channel: $chan by: $nick."
set massdevonicks "" ; append massdevonicks " $x" ; set gmdvoice 1
}
}
}
}
if {$massdevonicks != ""} {putquick "MODE $chan -vvvvvv $massdevonicks" ; putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass DeVoice on channel: $chan by: $nick."} ; return 0
}

proc pub_massdevo {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == ""} {set channel $chan} else {if {![string match "#*" $channel]} {set channel "#$channel"}}
msg_massdevo $nick $uhost $hand $channel
}

proc msg_tendang {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set knick [lrange $rest 1 end]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick kick <#channel> <nickname(s)> \[!reason\]" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {$knick == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick kick $chan <nickname(s)> \[!reason\]" ; return 0}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set knicks "" ; set ownicks "" ; set nonenicks "" ; set reason ""
foreach x $knick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string match "!*" $x]} {set reason "4$cmdchnlg $x"} else {if {[matchattr [nick2hand $x $chan] m]} {append ownicks " $x"} else {if {![onchan $x $chan]} {append nonenicks " $x"} else {append knicks "$x,"}}}
}
}
if {$nonenicks != ""} {putquick "NOTICE $nick :$cmdchnlg $nonenicks is not on channel: $chan."}
if {$ownicks != ""} {putquick "NOTICE $nick :$cmdchnlg $ownicks are my \[Master(s)\], and will I will not Kick them from channel: $chan."}
if {$knicks != ""} {
if {$reason == ""} {set reason "4$cmdchnlg Requested by: $nick"} ; putkick $chan $knicks $reason
putcmdlog "$cmdchnlg <<$nick>> !$hand! Kick: ${knicks} from channel: $chan. Reason: $reason."
} ; return 0
}

proc pub_tendang {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
set knicks [lindex $chans 1]
if {$knicks == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}kick $chan <nickname(s)> \[!reason\]" ; return 0}
msg_tendang $nick $uhost $hand $chans
}

proc msg_mtendang {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick mkick <#channel> \[!reason\]" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set knick [chanlist $chan]
set knicks "" ; set ownicks "" ; set reason ""
foreach x $knick {
if {(![onchansplit $x $chan]) && (![isbotnick $x])} {
if {[string match "!*" $x]} {set reason "4$cmdchnlg $x"} else {if {[matchattr [nick2hand $x $chan] m]} {append ownicks " $x"} else {append knicks "$x,"}}
}
}
if {$ownicks != ""} {putquick "NOTICE $nick :$cmdchnlg $ownicks are my \[Master(s)\], and will I will not Kick them from channel: $chan."}
if {$knicks != ""} {
if {$reason == ""} {set reason "4$cmdchnlg Mass Kick by: $nick"} ; putkick $chan $knicks $reason
putcmdlog "$cmdchnlg <<$nick>> !$hand! Mass Kick on channel: $chan. Reason: $reason."
} ; return 0
}

proc pub_mtendang {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
msg_mtendang $nick $uhost $hand $chans
}

proc msg_+ban {nick uhost hand rest} {
global botnick gbantime cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick +ban <#channel> <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
set rest [lrange $rest 1 end]
if {$rest == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick +ban <#channel> <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
set bntime [lindex $rest 1] ; set reason [lrange $rest 2 end]
set bntime [string trim $bntime "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+|~,./;'<>?:{}"]
if {$bntime == ""} {if {$gbantime <= 0} {set gbantime 15} ; set bntime $gbantime}
if {$reason == ""} {set reason "4$cmdchnlg Requested by: $nick"}
set bannick [lindex $rest 0]
if {[string match "*@*" $bannick]} {
set host $bannick ; set banhost $host ; set banhand $host
} else {
if {![onchan $bannick $chan]} {putquick "NOTICE $nick :$cmdchnlg $bannick is not on channel: $chan." ; return 0
} else {set host [getchanhost $bannick $chan] ; set banhost *!*@[lindex [split $host @] 1]}
set banhand [nick2hand $bannick $chan]
}
if {[string tolower $bannick] == [string tolower $botnick]} {putquick "NOTICE $nick :$cmdchnlg I will not ban on myself." ; return 0}
if {[matchattr $banhand f]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz a hostmask of this user is included in my user list." ; return 0}
foreach x [userlist] {
if {[string match *$x* $banhost]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz this hostmask belongs to me or one of my users." ; return 0}
if {[getchanhost $x $chan] != ""} {
set rhostmem [lindex [split [getchanhost $x $chan] @] 1] ; set rhostban [string trim [lindex [split $banhost @] 1] "\*\."]
set lhostmem [lindex [split [getchanhost $x $chan] @] 0] ; set lhostban [string trim [lindex [split $banhost @] 0] "\*\!\."]
if {[string match *$rhostban* $rhostmem] && [string match *$lhostban* $lhostmem]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz this hostmask belongs to me or one of my users." ; return 0}
}
}
if {[ischanban $banhost $chan]} {putquick "NOTICE $nick :$cmdchnlg A local ban already exist on channel: $chan for: $banhost" ; return 0}
putquick "NOTICE $nick :$cmdchnlg Creating new ban on channel: $chan for: $banhost"
newchanban $chan $banhost $hand $reason $bntime
set bmembers [chanlist $chan]
foreach banmember $bmembers {
set bselectedhost [getchanhost $banmember $chan]
set ubanhost *!*@[lindex [split $bselectedhost @] 1]
if {$ubanhost == $banhost} {putkick $chan $banmember $reason}
}
putcmdlog "$cmdchnlg <<$nick>> !$hand! ($chan) +ban $host $bntime $reason" ; return 0
}

proc pub_+ban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
set bnicks [lindex $chans 1]
if {$bnicks == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}+ban \[#channel\] <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
msg_+ban $nick $uhost $hand $chans
}

proc msg_-ban {nick uhost hand rest} {
global botnick banlist cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick -ban <#channel> <nickname/hostname>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
set rest [lrange $rest 1 end]
if {$rest == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick -ban <#channel> <nickname/hostname>" ; return 0}
if {![string match "*@*" $rest]} {
if {![onchan $rest $chan]} {putquick "NOTICE $nick :$cmdchnlg $rest is not on channel: $chan." ; return 0
} else {set rest [getchanhost $rest $chan] ; set rest *!*@[lindex [split $rest @] 1]}
}
if {[string match *$rest* [lrange [banlist $chan] 0 end]]} {
putquick "NOTICE $nick :$cmdchnlg Releasing current ban: $rest on channel: $chan"
killchanban $chan $rest
} else {
putquick "NOTICE $nick :$cmdchnlg There are no Bans for: $rest on channel: $chan. Perhaps it was a Global Ban." ; return 0
}
putcmdlog "$cmdchnlg <<$nick>> !$hand! ($chan) -ban $rest" ; return 0
}

proc pub_-ban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
set bnicks [lindex $chans 1]
if {$bnicks == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}-ban \[#channel\] <nickname/hostname>" ; return 0}
msg_-ban $nick $uhost $hand $chans
}

proc msg_+gban {nick uhost hand rest} {
global botnick gbantime cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set rest [lindex $rest 0]
if {[string match "#*" $rest]} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick +gban <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
if {$rest == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick +gban <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
set bntime [lindex $rest 1] ; set reason [lrange $rest 2 end]
set bntime [string trim $bntime "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+|~,./;'<>?:{}"]
if {$bntime == ""} {if {$gbantime <= 0} {set gbantime 15} ; set bntime $gbantime}
if {$reason == ""} {set reason "4$cmdchnlg \[GLOBAL Ban\] Requested by: $nick"}
set bannick [lindex $rest 0]
if {[string match "*@*" $bannick]} {set host $bannick ; set banhost $host ; set banhand $host} else {set host "" ; set banhost "" ; set banhand ""}
foreach x [channels] {
set chan $x
if {[onchan $bannick $chan]} {if {$host == "" || $banhost == "" || $bannick == ""} {set host [getchanhost $bannick $chan] ; set banhost *!*@[lindex [split $host @] 1] ; set banhand [nick2hand $bannick $chan]}}
}
if {$host == "" || $banhost == "" || $banhand == ""} {putquick "NOTICE $nick :$cmdchnlg $bannick is not on any of my channel(s)." ; return 0}
if {[string tolower $bannick] == [string tolower $botnick]} {putquick "NOTICE $nick :$cmdchnlg I will not ban on myself." ; return 0}
if {[matchattr $banhand f]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz a hostmask of this user is included in my user list." ; return 0}
foreach x [userlist] {
if {[string match *$x* $banhost]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz this hostmask belongs to me or one of my users." ; return 0}
if {[getchanhost $x $chan] != ""} {
set rhostmem [lindex [split [getchanhost $x $chan] @] 1] ; set rhostban [string trim [lindex [split $banhost @] 1] "\*\."]
set lhostmem [lindex [split [getchanhost $x $chan] @] 0] ; set lhostban [string trim [lindex [split $banhost @] 0] "\*\!\."]
if {[string match *$rhostban* $rhostmem] && [string match *$lhostban* $lhostmem]} {putquick "NOTICE $nick :$cmdchnlg I will not place ban on $bannick coz this hostmask belongs to me or one of my users." ; return 0}
}
}
if {[isban $banhost]} {putquick "NOTICE $nick :$cmdchnlg A Global ban already exist for: $banhost" ; return 0}
putquick "NOTICE $nick :$cmdchnlg Creating new Global ban for: $banhost"
newban $banhost $hand $reason $bntime
putcmdlog "$cmdchnlg <<$nick>> !$hand! +gban $host $bntime $reason" ; return 0
}

proc pub_+gban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set banhost [lindex $rest 0]
if {[string match "#*" $banhost]} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}+gban <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
if {$banhost == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}+gban <nickname/hostname> \[ban time (minute(s))\] \[reason\]" ; return 0}
msg_+gban $nick $uhost $hand $banhost
}

proc msg_-gban {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set rest [lindex $rest 0]
if {[string match "#*" $rest]} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick -gban <nickname/hostname>" ; return 0}
if {$rest == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick -gban <nickname/hostname>" ; return 0}
if {![isban $rest]} {putquick "NOTICE $nick :$cmdchnlg There are no Global Bans for: $rest." ; return 0}
putquick "NOTICE $nick :$cmdchnlg Releasing Global ban for: $rest"
killban $rest ; regsub -all " " [channels] ", " chans
putcmdlog "$cmdchnlg <<$nick>> !$hand! -gban $rest" ; return 0
}

proc pub_-gban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set banhost [lindex $rest 0]
if {[string match "#*" $banhost]} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}-gban <nickname/hostname>" ; return 0}
if {$banhost == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}-gban <nickname/hostname>" ; return 0}
msg_-gban $nick $uhost $hand $banhost
}

proc msg_infoban {nick uhost hand rest} {
global botnick cmdchnlg
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {if {[string toupper $chan] != "GLOBAL"} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick baninfo <#channel|GLOBAL>" ; return 0}}
if {[string toupper $chan] != "GLOBAL"} {if {![string match "#*" $chan]} {set chan "#$chan"}}
set banlistchan ""
if {[string toupper $chan] != "GLOBAL"} {
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
foreach x [banlist $chan] {set banlister [lindex $x 0] ; set banlistchan "$banlistchan $banlister"}
if {[banlist $chan] == ""} {set banlistchan "empty"}
putquick "NOTICE $nick :$cmdchnlg Ban records for channel: $chan: $banlistchan."
putcmdlog "$cmdchnlg <<$nick>> !$hand! List Bans on: $banlistchan." ; return 0
}
set banlist ""
if {[string toupper $chan] == "GLOBAL"} {
foreach x [banlist] {set banlisting [lindex $x 0] ; set banlist "$banlist $banlisting"}
if {$banlist == ""} {set banlist "empty"}
putquick "NOTICE $nick :$cmdchnlg Global Ban records: $banlist."
putcmdlog "$cmdchnlg <<$nick>> !$hand! List Global Bans." ; return 0
}
}

proc pub_infoban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == "" && [string toupper $channel] != "GLOBAL"} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}baninfo <#channel|GLOBAL>" ; return 0}
msg_infoban $nick $uhost $hand $channel
}

proc msg_lepasban {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick rlbans <#channel>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {![botisop $chan]} {putquick "NOTICE $nick :$cmdchnlg I appologize, but I am not an Operator on channel: $chan. Your command cannot be perform." ; return 0}
set ban "" ; foreach ban [banlist $chan] {putquick "MODE $chan +b [lindex $ban 0]"} ; putquick "MODE $chan +b"
putquick "NOTICE $nick :$cmdchnlg Releasing all Bans on channel: $chan. Updating Ban records."
putcmdlog "$cmdchnlg <<$nick>> !$hand! Release Bans on: $chan." ; return 0
}

proc pub_lepasban {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set channel [lindex $rest 0]
if {$channel == ""} {set channel $chan} else {if {![string match "#*" $channel]} {set channel "#$channel"}}
msg_lepasban $nick $uhost $hand $channel
}

proc msg_inpait {nick uhost hand rest} {
global botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
if {![matchattr $hand Q]} {putquick "NOTICE $nick :$cmdchnlg You haven't authenticate Yourself. Type: \[/msg $botnick auth <password>\] to do so." ; return 0}
set chan [lindex $rest 0] ; set inick [lindex $rest 1]
if {$chan == "#" || $chan == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick invite <#channel> <nickname>" ; return 0}
if {![string match "#*" $chan]} {set chan "#$chan"}
if {![validchan $chan]} {putquick "NOTICE $nick :$cmdchnlg I am not on channel: $chan, check out my channel list." ; return 0}
if {$inick == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick invite $chan <nickname>" ; return 0}
if {[onchan $inick $chan]} {putquick "NOTICE $nick :$cmdchnlg $inick already on channel: $chan. Invites are not needed." ; return 0}
putquick "INVITE $inick $chan"
putquick "NOTICE $nick :$cmdchnlg $inick are now invited to join channel: $chan."
putcmdlog "$cmdchnlg <<$nick>> !$hand! Inviting: $inick to channel: $chan." ; return 0
}

proc pub_inpait {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
set chans "" ; set channel [lindex $rest 0]
if {![string match "#*" $channel]} {set channel $chan ; append chans "$channel $rest "} else {append chans " $rest"}
set inicks [lindex $chans 1]
if {$inicks == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}invite $channel <nickname>" ; return 0}
msg_inpait $nick $uhost $hand $chans
}

proc msg_chanhelp {nick uhost hand rest} {
global CHPRM botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
set chlptype [string toupper [lindex $rest 0]]
if {$chlptype == ""} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick chanhelp PUB or /msg $botnick chanhelp MSG" ; return 0}
if {[string toupper $chlptype] != "PUB" && [string toupper $chlptype] != "MSG"} {putquick "NOTICE $nick :$cmdchnlg Command: /msg $botnick chanhelp PUB or /msg $botnick chanhelp MSG" ; return 0}
putquick "NOTICE $nick :$cmdchnlg Channel Control Commands $cmdchnlg"
putquick "NOTICE $nick : "
putquick "NOTICE $nick :NOTES:"
putquick "NOTICE $nick :<> sign means you MUST fill the value."
putquick "NOTICE $nick :\[\] sign means you can either fill the value or leave it blank."
putquick "NOTICE $nick :| sign means you MUST choose one between value placed on the left side of | sign, or on the right side."
putquick "NOTICE $nick : "
if {$chlptype == "PUB"} {
putquick "NOTICE $nick :Public Commands:"
putquick "NOTICE $nick : "
if {[matchattr $hand n]} {
putquick "NOTICE $nick :${CHPRM}join <#channel> \[join-key\]"
putquick "NOTICE $nick :${CHPRM}leave <#channel>"
putquick "NOTICE $nick :${CHPRM}cycle \[#channel\]"
}
putquick "NOTICE $nick :${CHPRM}lock \[#channel\]"
putquick "NOTICE $nick :${CHPRM}unlock \[#channel\]"
putquick "NOTICE $nick :${CHPRM}cmode \[#channel\] <+/-modelocks>"
putquick "NOTICE $nick :${CHPRM}up \[#channel\]"
putquick "NOTICE $nick :${CHPRM}down \[#channel\]"
putquick "NOTICE $nick :${CHPRM}op \[#channel\] <nickname(s)>"
putquick "NOTICE $nick :${CHPRM}deop \[#channel\] <nickname(s)>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :${CHPRM}mop \[#channel\]"
putquick "NOTICE $nick :${CHPRM}mdeop \[#channel\]"
}
putquick "NOTICE $nick :${CHPRM}voice \[#channel\] <nickname(s)>"
putquick "NOTICE $nick :${CHPRM}devoice \[#channel\] <nickname(s)>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :${CHPRM}mvoice \[#channel\]"
putquick "NOTICE $nick :${CHPRM}mdevo \[#channel\]"
}
putquick "NOTICE $nick :${CHPRM}kick \[#channel\] <nickname(s)> \[!reason\]"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :${CHPRM}mkick \[#channel\] \[!reason\]"
}
putquick "NOTICE $nick :${CHPRM}+ban \[#channel\] <nickname/hostname> \[ban-time (minute(s))\] \[reason\]"
putquick "NOTICE $nick :${CHPRM}-ban \[#channel\] <nickname/hostname>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :${CHPRM}+gban <nickname/hostname> \[ban-time (minute(s))\] \[reason\]"
putquick "NOTICE $nick :${CHPRM}-gban <nickname/hostname>"
}
putquick "NOTICE $nick :${CHPRM}baninfo <#channel|GLOBAL>"
putquick "NOTICE $nick :${CHPRM}rlbans \[#channel\]"
putquick "NOTICE $nick :${CHPRM}invite \[#channel\] <nickname>"
putquick "NOTICE $nick : "
}
if {$chlptype == "MSG"} {
putquick "NOTICE $nick :MSG Commands:"
putquick "NOTICE $nick : "
if {[matchattr $hand n]} {
putquick "NOTICE $nick :/msg $botnick join <#channel> \[join-key\]"
putquick "NOTICE $nick :/msg $botnick leave <#channel>"
putquick "NOTICE $nick :/msg $botnick cycle \[#channel\]"
}
putquick "NOTICE $nick :/msg $botnick lock <#channel>"
putquick "NOTICE $nick :/msg $botnick unlock <#channel>"
putquick "NOTICE $nick :/msg $botnick cmode <#channel> <+/-modelocks>"
putquick "NOTICE $nick :/msg $botnick up <#channel>"
putquick "NOTICE $nick :/msg $botnick down <#channel>"
putquick "NOTICE $nick :/msg $botnick op <#channel> <nickname(s)>"
putquick "NOTICE $nick :/msg $botnick deop <#channel> <nickname(s)>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :/msg $botnick mop <#channel>"
putquick "NOTICE $nick :/msg $botnick mdeop <#channel>"
}
putquick "NOTICE $nick :/msg $botnick voice <#channel> <nickname(s)>"
putquick "NOTICE $nick :/msg $botnick devoice <#channel> <nickname(s)>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :/msg $botnick mvoice <#channel>"
putquick "NOTICE $nick :/msg $botnick mdevo <#channel>"
}
putquick "NOTICE $nick :/msg $botnick kick <#channel> <nickname(s)> \[!reason\]"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :/msg $botnick mkick <#channel> \[!reason\]"
}
putquick "NOTICE $nick :/msg $botnick +ban <#channel> <nickname/hostname> \[ban-time (minute(s))\] \[reason\]"
putquick "NOTICE $nick :/msg $botnick -ban <#channel> <nickname/hostname>"
if {[matchattr $hand m]} {
putquick "NOTICE $nick :/msg $botnick +gban <nickname/hostname> \[ban-time (minute(s))\] \[reason\]"
putquick "NOTICE $nick :/msg $botnick -gban <nickname/hostname>"
}
putquick "NOTICE $nick :/msg $botnick baninfo <#channel|GLOBAL>"
putquick "NOTICE $nick :/msg $botnick rlbans <#channel>"
putquick "NOTICE $nick :/msg $botnick invite <#channel> <nickname>"
putquick "NOTICE $nick : "
}
putquick "NOTICE $nick :Other Commands:"
putquick "NOTICE $nick : "
putquick "NOTICE $nick :${CHPRM}chanhelp PUB or ${CHPRM}chanhelp MSG"
putquick "NOTICE $nick :/msg $botnick chanhelp PUB or /msg $botnick chanhelp MSG"
putquick "NOTICE $nick : "
putcmdlog "$cmdchnlg <<$nick>> !$hand! Channel Control Commands Help." ; return 0
}

proc pub_chanhelp {nick uhost hand chan rest} {
global CHPRM botnick cmdchnlg
if {![matchattr $hand p]} {putquick "NOTICE $nick :$cmdchnlg You have +o privelage but you don't have +p, you need +p flag to set your password and authenticate before phrasing commands. Ask my owner/master to set that flag for you =)" ; return 0}
set chlptype [string toupper [lindex $rest 0]]
if {$chlptype == ""} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}chanhelp PUB or ${CHPRM}chanhelp MSG" ; return 0}
if {[string toupper $chlptype] != "PUB" && [string toupper $chlptype] != "MSG"} {putquick "NOTICE $nick :$cmdchnlg Command: ${CHPRM}chanhelp PUB or ${CHPRM}chanhelp MSG" ; return 0}
msg_chanhelp $nick $uhost $hand $chlptype
}

# Set this to "1" if you like the script to be loaded.. and set it to "0" to unload.
set cmdchanloaded 1

if {[info exist cmdchanloaded]} {
if {${cmdchanloaded}} {
bind pub n ${CHPRM}join pub_masuk
bind msg n leave msg_cabut
bind pub n ${CHPRM}leave pub_cabut
bind msg n join msg_masuk
bind pub n ${CHPRM}cycle pub_cycle
bind msg n cycle msg_cycle
bind pub o|o ${CHPRM}lock pub_konci
bind msg o|o lock msg_konci
bind pub o|o ${CHPRM}unlock pub_buka
bind msg o|o unlock msg_buka
bind pub o|o ${CHPRM}cmode pub_cmode
bind msg o|o cmode msg_cmode
bind pub o|o ${CHPRM}up pub_opbot
bind msg o|o up msg_opbot
bind pub o|o ${CHPRM}down pub_deopbot
bind msg o|o down msg_deopbot
bind pub o|o ${CHPRM}op pub_naekin
bind msg o|o op msg_naekin
bind pub o|o ${CHPRM}deop pub_turunin
bind msg o|o deop msg_turunin
bind pub m ${CHPRM}mop pub_massop
bind msg m mop msg_massop
bind pub m ${CHPRM}mdeop pub_massdeop
bind msg m mdeop msg_massdeop
bind pub o|o ${CHPRM}voice pub_pois
bind msg o|o voice msg_pois
bind pub o|o ${CHPRM}devoice pub_depois
bind msg o|o devoice msg_depois
bind pub m ${CHPRM}mvoice pub_massvo
bind msg m mvoice msg_massvo
bind pub m ${CHPRM}mdevo pub_massdevo
bind msg m mdevo msg_massdevo
bind pub o|o ${CHPRM}kick pub_tendang
bind msg o|o kick msg_tendang
bind pub m ${CHPRM}mkick pub_mtendang
bind msg m mkick msg_mtendang
bind pub o|o ${CHPRM}+ban pub_+ban
bind msg o|o +ban msg_+ban
bind pub o|o ${CHPRM}-ban pub_-ban
bind msg o|o -ban msg_-ban
bind pub m ${CHPRM}+gban pub_+gban
bind msg m +gban msg_+gban
bind pub m ${CHPRM}-gban pub_-gban
bind msg m -gban msg_-gban
bind pub o|o ${CHPRM}baninfo pub_infoban
bind msg o|o baninfo msg_infoban
bind pub o|o ${CHPRM}rlbans pub_lepasban
bind msg o|o rlbans msg_lepasban
bind pub o|o ${CHPRM}invite pub_inpait
bind msg o|o invite msg_inpait
bind pub o|o ${CHPRM}chanhelp pub_chanhelp
bind msg o|o chanhelp msg_chanhelp
} else {
unbind pub n ${CHPRM}join pub_masuk
unbind msg n leave msg_cabut
unbind pub n ${CHPRM}leave pub_cabut
unbind msg n join msg_masuk
unbind pub n ${CHPRM}cycle pub_cycle
unbind msg n cycle msg_cycle
unbind pub o|o ${CHPRM}lock pub_konci
unbind msg o|o lock msg_konci
unbind pub o|o ${CHPRM}unlock pub_buka
unbind msg o|o unlock msg_buka
unbind pub o|o ${CHPRM}cmode pub_cmode
unbind msg o|o cmode msg_cmode
unbind pub o|o ${CHPRM}up pub_opbot
unbind msg o|o up msg_opbot
unbind pub o|o ${CHPRM}down pub_deopbot
unbind msg o|o down msg_deopbot
unbind pub o|o ${CHPRM}op pub_naekin
unbind msg o|o op msg_naekin
unbind pub o|o ${CHPRM}deop pub_turunin
unbind msg o|o deop msg_turunin
unbind pub m ${CHPRM}mop pub_massop
unbind msg m mop msg_massop
unbind pub m ${CHPRM}mdeop pub_massdeop
unbind msg m mdeop msg_massdeop
unbind pub o|o ${CHPRM}voice pub_pois
unbind msg o|o voice msg_pois
unbind pub o|o ${CHPRM}devoice pub_depois
unbind msg o|o devoice msg_depois
unbind pub m ${CHPRM}mvoice pub_massvo
unbind msg m mvoice msg_massvo
unbind pub m ${CHPRM}mdevo pub_massdevo
unbind msg m mdevo msg_massdevo
unbind pub o|o ${CHPRM}kick pub_tendang
unbind msg o|o kick msg_tendang
unbind pub m ${CHPRM}mkick pub_mtendang
unbind msg m mkick msg_mtendang
unbind pub o|o ${CHPRM}+ban pub_+ban
unbind msg o|o +ban msg_+ban
unbind pub o|o ${CHPRM}-ban pub_-ban
unbind msg o|o -ban msg_-ban
unbind pub m ${CHPRM}+gban pub_+gban
unbind msg m +gban msg_+gban
unbind pub m ${CHPRM}-gban pub_-gban
unbind msg m -gban msg_-gban
unbind pub o|o ${CHPRM}baninfo pub_infoban
unbind msg o|o baninfo msg_infoban
unbind pub o|o ${CHPRM}rlbans pub_lepasban
unbind msg o|o rlbans msg_lepasban
unbind pub o|o ${CHPRM}invite pub_inpait
unbind msg o|o invite msg_inpait
c
coolio2004
Halfop
Posts: 68
Joined: Wed Jan 19, 2005 4:02 am

Post by coolio2004 »

im assuming that was what you were after? as you can see the first 10-15 lines which are for help doesn't state much/anything about password. ive tried my .user password also but its not accepting it.
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

.. and do you have the Q flag?
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
c
coolio2004
Halfop
Posts: 68
Joined: Wed Jan 19, 2005 4:02 am

Post by coolio2004 »

i'd check if i could but cant coz im at work :(
but i doubt i got that flag
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

My best guess would be to contact the author, because not all of us like me have the time to go through such a long script.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

Hi,

You need to either '.chattr <your hand> +Q' or use cmd_auth.tcl which should be used with this script for authing. If you want to be more secure, then use cmd_auth.tcl; it will remove your +Q flag when you quit, part, sign...etc
Locked