All pastes #971515 Raw Edit

Unbenannt

public text v1 · immutable
·published 2008-04-04 20:10 UTC
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"
      }
   }
}