Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ############ TCL relay script... for haqNET
- ## CONFIG
- # Fill the values as you want but don't forget to keep the same order between each array.
- # Remember that all is case sensitive, so don't write DuMmY if your eggdrop is named dummy :)
- set eggdrops {"eggy" "tracer" "eggydroid" "irssi"}
- set chans {"#Haqnet" "#traced"}
- set networks {"HAQNET" "freenode"}
- # Do you want to use bold (1), underline (2) or nothing (0) to highlight nicknames ?
- set high "0"
- # Do yo want to indicate from wich network comes the message (y/n)?
- set snet "n"
- # Do you want the bot transmit actions from the channel (y/n)?
- set transmit "y"; # default value is yes
- # Do you want the bot recept actions (y/n)?
- set receive "y"; # default value is yes
- # transmission configuration
- set trans_pub "y"; # transmit the pub
- set trans_act "n"; # transmit the actions (/me)
- set trans_nick "n"; # transmit the nick changes
- set trans_join "n"; # transmit the join
- set trans_part "n"; # transmit the part
- set trans_quit "n"; # transmit the quit
- set trans_topic "n"; # transmit the topic changes
- set trans_kick "n"; # transmit the kicks
- set trans_mode "n"; #transmit the mode changes
- # reception configuration
- set recv_pub "y"; # recept the pub
- set recv_act "n"; # recept the actions (/me)
- set recv_nick "n"; # recept the nick changes
- set recv_join "n"; # recept the join
- set recv_part "n"; # recept the part
- set recv_quit "n"; # recept the quit
- set recv_topic "n"; # recept the topic changes
- set recv_kick "n"; # recept the kicks
- set recv_mode "n"; #recept the mode changes
- bind msg o|o "link.status" help:status
- bind msg - "link.help" help:cmds
- if { $high == "1" } {
- set hlnick "\002"
- } elseif { $high == "2" } {
- set hlnick "\037"
- } else {
- set hlnick ""
- }
- bind msg o|o "link.light" set:light
- bind msg o|o "link.net" set:snet
- if { $transmit == "y" } {
- bind msg o|o "trans" set:trans
- if { $trans_pub == "y" } { bind pubm - * trans_pub }
- if { $trans_act == "n" } { bind ctcp - "ACTION" trans_act }
- if { $trans_nick == "n" } { bind nick - * trans_nick }
- if { $trans_join == "n" } { bind join - * trans_join }
- if { $trans_part == "n" } { bind part - * trans_part }
- if { $trans_quit == "n" } { bind sign - * trans_quit }
- if { $trans_topic == "n" } { bind topc - * trans_topic }
- if { $trans_kick == "n" } { bind kick - * trans_kick }
- if { $trans_mode == "n" } { bind mode - * trans_mode }
- }
- if { $receive =="y" } {
- bind msg o|o "recv" set:recv
- if { $recv_pub == "y" } { bind bot - ">pub" recv_pub }
- if { $recv_act == "n" } { bind bot - ">act" recv_act }
- if { $recv_nick == "n" } { bind bot - ">nick" recv_nick }
- if { $recv_join == "n" } { bind bot - ">join" recv_join }
- if { $recv_part == "n" } { bind bot - ">part" recv_part }
- if { $recv_quit == "n" } { bind bot - ">quit" recv_quit }
- if { $recv_topic == "n" } { bind bot - ">topic" recv_topic }
- if { $recv_kick == "n" } { bind bot - ">kick" recv_kick }
- if { $recv_mode == "n" } { bind bot - ">mode" recv_mode }
- }
- # proc setting the type of highlight
- proc set:light {nick host handle arg } {
- global hlnick
- if { $arg == "bo" } {
- set hlnick "\002"
- } elseif { $arg == "un" } {
- set hlnick "\037"
- } elseif { $arg == "off" } {
- set hlnick ""
- } else { putquick "NOTICE $nick :you must chose \002(bo)\002ld , \037(un)\037derline or (off)" }
- }
- proc set:snet {nick host handle arg } {
- global snet
- if { $arg == "yes" } {
- set snet "y"
- } elseif { $arg == "no" } {
- set snet "n"
- } else { putquick "NOTICE $nick :you must chose yes or no" }
- }
- # proc setting of transmission by msg
- proc set:trans { nick host handle arg } {
- global botnick transmit
- if { $transmit == "y" } {
- if { $arg == "" } {
- putquick "NOTICE $nick :you'd better try /msg $botnick trans help"
- }
- if { [lindex [split $arg] 0] == "help" } {
- putquick "NOTICE $nick :usage is /msg $botnick trans <value> on|off"
- putquick "NOTICE $nick :with <value> = pub, act, nick, join, part, quit, topic, kick, mode"
- return 0
- } else {
- set proc_change "trans_[lindex [split $arg] 0]"
- switch [lindex [split $arg] 0] {
- "pub" { set type pubm }
- "act" { set type ctcp }
- "nick" { set type nick }
- "join" { set type join }
- "part" { set type part }
- "quit" { set type sign }
- "topic" { set type topc }
- "kick" { set type kick }
- "mode" { set type mode }
- }
- if { [lindex [split $arg] 1] == "on" } {
- bind $type - * $proc_change
- } elseif { [lindex [split $arg] 1] == "off" } {
- unbind $type - * $proc_change
- } else {
- putquick "NOTICE $nick :[lindex [split $arg] 1] is not a correct value, choose \002on\002 or \002off\002"
- }
- }
- } else {
- putquick "NOTICE $nick :transmission is not activated, you can't change anything"
- }
- }
- # proc setting of reception by msg
- proc set:recv { nick host handle arg } {
- global botnick receive
- if { $receive == "y" } {
- if { $arg == "" } {
- putquick "NOTICE $nick :you'd better try /msg $botnick recv help"
- }
- if { [lindex [split $arg] 0] == "help" } {
- putquick "NOTICE $nick :usage is /msg $botnick recv <value> on|off"
- putquick "NOTICE $nick :with <value> = pubm, act, nick, join, part, quit, topic, kick, mode"
- return 0
- } else {
- set change ">[lindex [split $arg] 0]"
- set proc_change "recv_[lindex [split $arg] 0]"
- if { [lindex [split $arg] 1] == "on" } {
- bind bot - $change $proc_change
- } elseif { [lindex [split $arg] 1] == "off" } {
- unbind bot - $change $proc_change
- } else {
- putquick "NOTICE $nick :[lindex [split $arg] 1] is not a correct value, choose \002on\002 or \002off\002"
- }
- }
- } else {
- putquick "NOTICE $nick :reception is not activated, you can't change anything"
- }
- }
- # proc used by all others for transmission
- proc trans_bot { usercmd chan usernick text } {
- global eggdrops chans botnick
- set transmsg [concat $usercmd $usernick $text]
- set me [lsearch $eggdrops $botnick]
- if {$chan == [lindex $chans $me]} {
- putallbots $transmsg
- } else {
- return 0
- }
- }
- # proc transmission of pub (trans_pubm = y)
- proc trans_pub {nick uhost hand chan text} {
- trans_bot ">pub" $chan $nick $text
- }
- # proc transmission of action (trans_act = y)
- proc trans_act {nick uhost hand chan key text} {
- set arg [concat $key $text]
- trans_bot ">act" $chan $nick $arg
- }
- # proc transmission of nick changement
- proc trans_nick {nick uhost hand chan newnick} {
- trans_bot ">nick" $chan $nick $newnick
- }
- # proc transmission of join
- proc trans_join {nick uhost hand chan} {
- trans_bot ">join" $chan $chan $nick\($uhost\)
- }
- # proc transmission of part
- proc trans_part {nick uhost hand chan text} {
- set arg [concat $chan $text]
- trans_bot ">part" $chan $nick $arg
- }
- # proc transmission of quit
- proc trans_quit {nick host hand chan text} {
- trans_bot ">quit" $chan $nick $text
- }
- # proc transmission of topic changement
- proc trans_topic {nick uhost hand chan topic} {
- set arg [concat $chan $topic]
- trans_bot ">topic" $chan $nick $arg
- }
- # proc transmission of kick
- proc trans_kick {nick uhost hand chan victim reason} {
- set arg [concat $victim $chan $reason]
- trans_bot ">kick" $chan $nick $arg
- }
- # proc transmission of mode changement
- proc trans_mode {nick uhost hand chan mc {victim ""}} {
- if {$victim != ""} {append mc " $victim" }
- set text [concat $nick $chan $mc]
- trans_bot ">mode" $chan $nick $text
- }
- # proc reception of pub
- proc recv_pub {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :$speaker> [lrange $arg 1 end]"
- } else {
- return 0
- }
- }
- # proc reception of action
- proc recv_act {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :* $speaker [lrange $arg 2 end]"
- } else {
- return 0
- }
- }
- # proc reception of nick changement
- proc recv_nick {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :*** $speaker is now known as [lrange $arg 1 end]"
- } else {
- return 0
- }
- }
- # proc reception of join
- proc recv_join {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 1] $him]
- putquick "PRIVMSG $recvchan :--> $speaker has joined channel [lindex [split $arg] 0]"
- } else {
- return 0
- }
- }
- # proc reception of part
- proc recv_part {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :<-- $speaker has left channel [lindex [split $arg] 1] ([lrange $arg 2 end])"
- } else {
- return 0
- }
- }
- # proc reception of quit
- proc recv_quit {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :-//- $speaker has quit ([lrange $arg 1 end])"
- } else {
- return 0
- }
- }
- # proc reception of topic changement
- proc recv_topic {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 0] $him]
- putquick "PRIVMSG $recvchan :*** $speaker changes topic of [lindex [split $arg] 1] to '[lrange $arg 2 end]'"
- } else {
- return 0
- }
- }
- # proc reception of kick
- proc recv_kick {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 1] $him]
- putquick "PRIVMSG $recvchan :*** $speaker has been kicked from [lindex [split $arg] 2] by [lindex [split $arg] 0]: [lrange $arg 3 end]"
- } else {
- return 0
- }
- }
- # proc reception of mode changement
- proc recv_mode {frm_bot command arg} {
- global eggdrops chans hlnick botnick snet networks
- if {[set him [lsearch $eggdrops $frm_bot]] >= 0} {
- set me [lsearch $eggdrops $botnick]
- set recvchan [lindex $chans $me]
- set speaker [make_user [lindex [split $arg] 1] $him]
- putquick "PRIVMSG $recvchan :*** $speaker set mode [lrange $arg 2 end]"
- } else {
- return 0
- }
- }
- proc make_user { unick thenb } {
- global snet networks hlnick
- if { $snet == "y" } {
- set speaker [concat "$hlnick$unick (from [lindex $networks $thenb])$hlnick"]
- } else {
- set speaker $hlnick$unick$hlnick
- }
- return $speaker
- }
- # proc status
- proc help:status { nick host handle arg } {
- global trans_pub trans_act trans_nick trans_join trans_part trans_quit trans_topic trans_kick trans_mode recv_pub recv_act recv_nick recv_join recv_part recv_quit recv_topic recv_kick recv_mode hlnick transmit receive chan1 chan2
- putquick "PRIVMSG $nick :\002 Global status\002"
- putquick "PRIVMSG $nick :\037type\037 -- | trans -|- recept |"
- putquick "PRIVMSG $nick :global -- | -- $transmit -- | -- $receive -- |"
- putquick "PRIVMSG $nick :pub -- | -- $trans_pub -- | -- $recv_pub -- |"
- putquick "PRIVMSG $nick :act -- | -- $trans_act -- | -- $recv_act -- |"
- putquick "PRIVMSG $nick :nick -- | -- $trans_nick -- | -- $recv_nick -- |"
- putquick "PRIVMSG $nick :join -- | -- $trans_join -- | -- $recv_join -- |"
- putquick "PRIVMSG $nick :part -- | -- $trans_part -- | -- $recv_part -- |"
- putquick "PRIVMSG $nick :quit -- | -- $trans_quit -- | -- $recv_quit -- |"
- putquick "PRIVMSG $nick :topic -- | -- $trans_topic -- | -- $recv_topic -- |"
- putquick "PRIVMSG $nick :kick -- | -- $trans_kick -- | -- $recv_kick -- |"
- putquick "PRIVMSG $nick :mode -- | -- $trans_mode -- | -- $recv_mode -- |"
- putquick "PRIVMSG $nick :nicks appears as $hlnick$nick$hlnick"
- putquick "PRIVMSG $nick :[lindex $chan1 0] is on [lindex $chan1 1] and transmit to [lindex $chan1 2]"
- putquick "PRIVMSG $nick :[lindex $chan2 0] is on [lindex $chan2 1] and transmit to [lindex $chan2 2]"
- putquick "PRIVMSG $nick :\002 END of STATUS"
- }
- # proc help
- proc help:cmds { nick host handle arg } {
- global botnick
- putquick "NOTICE $nick :/msg $botnick trans <type> on|off to change the transmissions"
- putquick "NOTICE $nick :/msg $botnick recv <type> on|off ti change the receptions"
- putquick "NOTICE $nick :/msg $botnick link.status to see my actual status"
- putquick "NOTICE $nick :/msg $botnick link.help for this help"
- putquick "NOTICE $nick :/msg $botnick link.light <bo|un|off> to bold, underline or no highlight"
- putquick "NOTICE $nick :/msg $botnick link.net <yes|no> to show the network"
- }
- putlog "Chan Link 2.1 loaded"
Add Comment
Please, Sign In to add comment