rendered paste body########## MISCSERV ##########
set cmd_cmdchar "!"
bind pub m|m [string trim $cmd_cmdchar]reload pub_do_reload
bind pub m|m [string trim $cmd_cmdchar]restart pub:restart
bind pub m|m [string trim $cmd_cmdchar]rehash pub:rehash
bind pub m|m [string trim $cmd_cmdchar]die pub_do_die
bind pub m|m [string trim $cmd_cmdchar]die pub_do_die
bind pub o|o [string trim $cmd_cmdchar]join add_chan
bind pub o|o [string trim $cmd_cmdchar]part del_chan
bind pub o|o [string trim $cmd_cmdchar]hop pub_do_hop
bind pub o|o [string trim $cmd_cmdchar]invite invite_pub
bind pub o|o [string trim $cmd_cmdchar]mode pub_mode
bind pub o|o [string trim $cmd_cmdchar]amsg amsg_pub
##### JOIN #####
proc add_chan {nick uhost hand channel arg} {
if {$arg == ""} {
putserv "NOTICE $nick :Please Supply A Channel"
return 0
}
putserv "NOTICE $nick :.:OK:. Joine $arg"
channel add $arg
}
##### PART #####
proc del_chan {nick uhost hand channel arg} {
if {$arg == ""} {
putserv "NOTICE $nick :Please Supply A Channel"
return 0
}
putserv "NOTICE $nick :.:OK:. Parte $arg "
channel remove $arg
}
##### REJOIN #####
proc pub_do_hop { nick uhost hand chan text } {
putserv "PART :$chan"
putserv "JOIN :$chan"
putserv "NOTICE $nick :.:OK:. Rejoine"
}
##### REHASH #####
proc pub:rehash {nick host hand chan args} {
putserv "NOTICE $nick :.:OK:. Rehashe"
rehash
}
##### RESTART #####
proc pub:restart {nick host hand chan args} {
putserv "NOTICE $nick :.:OK:. Starte neu "
restart
}
#### INVITE #####
proc invite_pub {nick uhost hand chan arg} {
set name [lindex [split $arg] 0]
set channel [lindex [split $arg] 1]
if {[lindex [split $arg] 1 ] == ""} {
putserv "NOTICE $nick :Error: [string trim $cmd_cmdchar]invite <Nickname> <#Channel>"
return 0
} else {
if {[onchan $name $channel]} {
putserv "NOTICE $nick :$name ist schon in $channel."
return 0
} else {
putserv "INVITE $name $channel"
putserv "NOTICE $nick :.:OK:. Invitet"
}
}
}
#### MODES CHANGE #####
proc pub_mode {nick host handle chan arg} {
putserv "MODE $chan $arg"
putserv "NOTICE $nick :.:OK:. Mode gechanged"
}
#### DIE #####
proc pub_do_die {nick host handle channel testes} {
set why [lrange $testes 0 end]
if {[matchattr $nick +n]} {
putserv "NOTICE $nick :.:OK:. Die Reason: $why"
die $why
}
}
#### RELOAD USERFILE #####
proc pub_do_reload {nick host handle channel testes} {
if {[matchattr $nick +n]} {
reload
putserv "NOTICE $nick :.:OK:. Reloade Userfile"
}
}
##### AMSG #####
proc amsg_pub {nick uhost hand channel arg} {
foreach chan [channels] {
set amsg [lrange [split $arg] 0 end]
if {[lindex [split $arg] 0] == ""} {
putserv "NOTICE $nick :Error: [string trim $cmd_cmdchar]amsg <AMSG>"
return 0
} else {
putserv "PRIVMSG $chan :\[Broadcast by $nick\] $amsg"
}
}
}