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.

relay.tcl error

Support & discussion of released scripts, and announcements of new releases.
Post Reply
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

relay.tcl error

Post by hommiedaklown »

I'm using relay.tcl http://www.egghelp.org/cgi-bin/tcl_arch ... oad&id=290

And it is half working. It will not replay when people leave a channel.

Code: Select all

[01:41] Tcl error [send_mode]: wrong # args: should be "send_mode nick uhost hand chan mchg"
this pops up.
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

Post by hommiedaklown »

also, are there newer relay scripts that display when people are oped or deop or kicked? and possibly even send kick and op commands through a relay?
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

Code: Select all

#------------------------------------------------------------------------
# relay.tcl v1.0.0 - Send channel text from one network to another       
#   By: cl00bie <cl00bie@sorcery.net>
#
# This script takes text, joins, parts, etc.  From a channel on one network, 
# sends it to the other network on the same channel and visa versa.  This 
# script requires two bots which are botnetted (Instructions on how to link
# bots is beyond the scope of this document.  See BOTNET in the $eggdrop/doc
# directory.)
#
# Once your bots are netted, simply add the channels you'd like to relay
# to the channelList variable, fill in the server?List variables (as per
# (the instructions) and load this script on both bots.
#
# Proposed Enhancements:
#  o xkick - kick someone off the remote bot channel
#  o xwhois - do a /whois on the remote bot channel
#  o xmsg - send a private message to someone on the remote bot channel
#  o Synchronize topics
#------------------------------------------------------------------------  

# List of channels to relay between (lower case only!)
set channelList "#channel"

# This identifies the server information of the two networks you wish to
#  relay to each other.  There are three entries in each and they are as
#  follows:
#  0 - A unique pattern in each of the servers you use on a particular 
#      network.  (ex. all SorceryNet servers contain the word "sorcery"
#      in them, but none of the DALnet servers use this.)
#  1 - The name of the network as you'd like it to appear on the *other*
#      network (ex. <Dal-Bot> [SorceryNet] <Nickname> hi there everyone on
#      DALnet :))
#  2 - The name of the bot which sits on the *other* network.  (The bot you
#      want the informaiton sent *to*)
set server1List "dal \00303DALnet\003 Beirut"
set server2List "Beirut \00304Beirut\003 Dalnet"

# Procedure: send_across - sends the information from one network to 
#   the other.
proc send_across {cmd chan nick text} {
  global server channelList server1List server2List
  if {[lsearch $channelList [string tolower $chan]] != -1} {
    if  {[string first [lindex $server1List 0] $server] != -1} {
      set fromServer "[lindex $server1List 1]"
      set toBot "[lindex $server1List 2]" 
    } else {
      set fromServer "[lindex $server2List 1]"
      set toBot "[lindex $server2List 2]" 
    }
    set botMsg [concat $cmd $chan $fromServer $nick $text]
    putbot $toBot $botMsg
  }
}

# Find out who's on the other network channel
proc send_xnames {nick uhost hand arg} {
global botnick
  if {$arg == "" || [string first "#" $arg] != 0} {
    putserv "NOTICE $nick :Usage\: /msg $botnick xnames #channel"
  } else {
    if {[onchan $nick $arg]} {
      send_across "names" $arg $nick "dummy"
    } else {
      putserv "NOTICE $nick :I'm sorry, you must be in channel $arg to do a remote names (xnames) command"
    }
  }
}
bind msg - xnames send_xnames

proc relay_xnames {frm_bot command arg} {
  set startingChanlist "[chanlist [lindex $arg 0]]" 
  foreach mem $startingChanlist {
    if {[isop $mem [lindex $arg 0]]} {
      lappend finalChanlist \@$mem
    } elseif {[isvoice $mem [lindex $arg 0]]} {
      lappend finalChanlist \+$mem
    } else {
      lappend finalChanlist $mem
    }
  }
  send_across "rnames" [lindex $arg 0] [lindex $arg 2] $finalChanlist
}
bind bot - names relay_xnames

proc recv_xnames {frm_bot command arg} {
  putserv "NOTICE [lindex $arg 2] :The following people are on channel [lindex $arg 0] on net [lindex $arg 1] : [lrange $arg 3 end]"
}
bind bot - rnames recv_xnames

proc send_nick {nick uhost hand chan newnick} {
  send_across "nick" $chan $nick $newnick
}
bind nick - * send_nick

proc recv_nick {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00306*** [lindex $arg 2] is now known as [lrange $arg 3 end]\003"
}
bind bot - nick recv_nick

proc send_mode {nick uhost hand chan mchg victim} {
  if {[string first "b" [lindex $mchg 0]] != -1} {
    send_across "ban" $chan $nick $mchg 
  }
}
bind mode - * send_mode

# Multiple recv's from one send
proc recv_ban {frm_bot command arg} {
  putserv "MODE [lindex $arg 0] [lrange $arg 3 end]"
}
bind bot - ban recv_ban

proc send_sign {nick uhost hand chan reason} {
  send_across "sign" $chan $nick $reason
}
bind sign - * send_sign

proc recv_sign {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00302*** [lindex $arg 2] Quit \([lrange $arg 3 end]\)\003"
}
bind bot - sign recv_sign

proc send_pubm {nick uhost hand chan text} {
  set cmd "pubm"
  send_across $cmd $chan $nick $text
}
bind pubm - * send_pubm

proc recv_pubm {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \<[lindex $arg 2]\> [lrange $arg 3 end]"
}
bind bot - pubm recv_pubm

proc send_action {nick uhost hand chan keyw text} {
  send_across "act" $chan $nick $text
}
bind ctcp - "ACTION" send_action

proc recv_action {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00306\* [lindex $arg 2] [lrange $arg 3 end]\003"
}
bind bot - act recv_action

proc send_join {nick uhost hand chan} {
  send_across "join" $chan $nick\($uhost\) "dummy"
  send_across "names" $chan $nick "dummy"
}
bind join - * send_join

proc recv_join {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00307\*** Joins [lindex $arg 2]\003"
# putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00307\*** [lindex $arg 2] has joined channel [lindex $arg 0]\003"
}
bind bot - join recv_join

proc send_part {nick uhost hand chan arg} {
  send_across "part" $chan $nick ""
}
bind part - * send_part

proc recv_part {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00310\*** [lindex $arg 2] has left channel [lindex $arg 0]\003"
}
bind bot - part recv_part

putlog "relay 1.0.0 by: cl00bie <cl00bie@sorcery.net>"
Edit: I have removed errors from this script, check it and let me know. As long as new features are concerned I can do that, but right now I am in my office I cant work more on it. So you need to wait for a reply :D
|AmDeAtH @ Undernet
Death is only the *Beginning*...
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

Post by hommiedaklown »

thanks for the fast response.

however it is still not transmitting channel parting

Code: Select all

[02:12] Tcl error [send_mode]: wrong # args: should be "send_mode nick uhost hand chan mchg"
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

just remove your script and put mine and set your settings.. 2nd don't rehash you need to restart your bot. It will not give you errors. I have checked it. Also please show me your code you're using. Thanks
|AmDeAtH @ Undernet
Death is only the *Beginning*...
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

Post by hommiedaklown »

I added your code.

the bot that should be relaying the part information to the other channel gets this error

Code: Select all

[02:59] Tcl error [send_mode]: wrong # args: should be "send_mode nick uhost han                                       d chan mchg"

Code: Select all

#------------------------------------------------------------------------
# relay.tcl v1.0.0 - Send channel text from one network to another
#   By: cl00bie <cl00bie@sorcery.net>
#
# This script takes text, joins, parts, etc.  From a channel on one network,
# sends it to the other network on the same channel and visa versa.  This
# script requires two bots which are botnetted (Instructions on how to link
# bots is beyond the scope of this document.  See BOTNET in the $eggdrop/doc
# directory.)
#
# Once your bots are netted, simply add the channels you'd like to relay
# to the channelList variable, fill in the server?List variables (as per
# (the instructions) and load this script on both bots.
#
# Proposed Enhancements:
#  o xkick - kick someone off the remote bot channel
#  o xwhois - do a /whois on the remote bot channel
#  o xmsg - send a private message to someone on the remote bot channel
#  o Synchronize topics
#------------------------------------------------------------------------

# List of channels to relay between (lower case only!)
set channelList "#clan|dc"

# This identifies the server information of the two networks you wish to
#  relay to each other.  There are three entries in each and they are as
#  follows:
#  0 - A unique pattern in each of the servers you use on a particular
#      network.  (ex. all SorceryNet servers contain the word "sorcery"
#      in them, but none of the DALnet servers use this.)
#  1 - The name of the network as you'd like it to appear on the *other*
#      network (ex. <Dal-Bot> [SorceryNet] <Nickname> hi there everyone on
#      DALnet :))
#  2 - The name of the bot which sits on the *other* network.  (The bot you
#      want the informaiton sent *to*)
set server1List "enter GameSurge dc|bot|et"
set server2List "gamesurge EnterTheGame dc|bot|gs"

# Procedure: send_across - sends the information from one network to
#   the other.
proc send_across {cmd chan nick text} {
  global server channelList server1List server2List
  if {[lsearch $channelList [string tolower $chan]] != -1} {
    if  {[string first [lindex $server1List 0] $server] != -1} {
      set fromServer "[lindex $server1List 1]"
      set toBot "[lindex $server1List 2]"
    } else {
      set fromServer "[lindex $server2List 1]"
      set toBot "[lindex $server2List 2]"
    }
    set botMsg [concat $cmd $chan $fromServer $nick $text]
    putbot $toBot $botMsg
  }
}

# Find out who's on the other network channel
proc send_xnames {nick uhost hand arg} {
global botnick
  if {$arg == "" || [string first "#" $arg] != 0} {
    putserv "NOTICE $nick :Usage\: /msg $botnick xnames #channel"
  } else {
    if {[onchan $nick $arg]} {
      send_across "names" $arg $nick "dummy"
    } else {
      putserv "NOTICE $nick :I'm sorry, you must be in channel $arg to do a remote names (xnames) command"
    }
  }
}
bind msg - xnames send_xnames

proc relay_xnames {frm_bot command arg} {
  set startingChanlist "[chanlist [lindex $arg 0]]"
  foreach mem $startingChanlist {
    if {[isop $mem [lindex $arg 0]]} {
      lappend finalChanlist \@$mem
    } elseif {[isvoice $mem [lindex $arg 0]]} {
      lappend finalChanlist \+$mem
    } else {
      lappend finalChanlist $mem
    }
  }
  send_across "rnames" [lindex $arg 0] [lindex $arg 2] $finalChanlist
}
bind bot - names relay_xnames

proc recv_xnames {frm_bot command arg} {
  putserv "NOTICE [lindex $arg 2] :The following people are on channel [lindex $arg 0] on net [lindex $arg 1] : [lrange $arg 3 end]"
}
bind bot - rnames recv_xnames

proc send_nick {nick uhost hand chan newnick} {
  send_across "nick" $chan $nick $newnick
}
bind nick - * send_nick

proc recv_nick {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00306*** [lindex $arg 2] is now known as [lrange $arg 3 end]\003"
}
bind bot - nick recv_nick

proc send_mode {nick uhost hand chan mchg victim} {
  if {[string first "b" [lindex $mchg 0]] != -1} {
    send_across "ban" $chan $nick $mchg
  }
}
bind mode - * send_mode

# Multiple recv's from one send
proc recv_ban {frm_bot command arg} {
  putserv "MODE [lindex $arg 0] [lrange $arg 3 end]"
}
bind bot - ban recv_ban

proc send_sign {nick uhost hand chan reason} {
  send_across "sign" $chan $nick $reason
}
bind sign - * send_sign

proc recv_sign {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00302*** [lindex $arg 2] Quit \([lrange $arg 3 end]\)\003"
}
bind bot - sign recv_sign

proc send_pubm {nick uhost hand chan text} {
  set cmd "pubm"
  send_across $cmd $chan $nick $text
}
bind pubm - * send_pubm

proc recv_pubm {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \<[lindex $arg 2]\> [lrange $arg 3 end]"
}
bind bot - pubm recv_pubm

proc send_action {nick uhost hand chan keyw text} {
  send_across "act" $chan $nick $text
}
bind ctcp - "ACTION" send_action

proc recv_action {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00306\* [lindex $arg 2] [lrange $arg 3 end]\003"
}
bind bot - act recv_action

proc send_join {nick uhost hand chan} {
  send_across "join" $chan $nick\($uhost\) "dummy"
  send_across "names" $chan $nick "dummy"
}
bind join - * send_join

proc recv_join {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00307\*** Joins [lindex $arg 2]\003"
# putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00307\*** [lindex $arg 2] has joined channel [lindex $arg 0]\003"
}
bind bot - join recv_join

proc send_part {nick uhost hand chan arg} {
  send_across "part" $chan $nick ""
}
bind part - * send_part

proc recv_part {frm_bot command arg} {
  putserv "PRIVMSG [lindex $arg 0] :\[[lindex $arg 1]\] \00310\*** [lindex $arg 2] has left channel [lindex $arg 0]\003"
}
bind bot - part recv_part

putlog "relay 1.0.0 by: cl00bie <cl00bie@sorcery.net>"

User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

The error you're showing me I checked it and I think TCL is perfect what I've edited. Do these 2 things:

1. Make sure you loade relay.tcl which I have edited in boths bots.
2. Make sure you .restart both bots and they're linked back again.

and then tell me.

I have now checked it and it's working perfect with me.

Thanks
iamdeath
|AmDeAtH @ Undernet
Death is only the *Beginning*...
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

Ok i came on your network and checked that you're not using the same tcl on both bots.. the bot on [00:22] -PSX.IS.EU.GameSurge.net-is perfect showing part/signs but the bot on the other network EnterTheGame server does'nt show part/sign. That clearly shows that you're not sharing the same Relay.tcl in both the bots fix it. my edited version is fine

thanks
iamdeath
|AmDeAtH @ Undernet
Death is only the *Beginning*...
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

Post by hommiedaklown »

iamdeath wrote:Ok i came on your network and checked that you're not using the same tcl on both bots.. the bot on [00:22] -PSX.IS.EU.GameSurge.net-is perfect showing part/signs but the bot on the other network EnterTheGame server does'nt show part/sign. That clearly shows that you're not sharing the same Relay.tcl in both the bots fix it. my edited version is fine

thanks
iamdeath
Thanks for all your help, I'm embarrassed that i forgot about the other script.
with both bots pointing to your updated relay.tcl i get this error.

Code: Select all

[04:23] Tcl error [send_pubm]: bot is not on the botnet
[04:24] Tcl error [send_part]: bot is not on the botnet
[04:24] Tcl error [send_join]: bot is not on the botnet
[04:24] Tcl error [send_part]: bot is not on the botnet
.vbottree
[04:26] #dc|Hommie# vbottree
dc|bot|gs (1.6.18.0)
  `--dc|bot|et (1.6.18.0)
Average hops: 1.0, total bots: 2
so i had to create a copy of relay.tcl and reverse the settings fields

Code: Select all

set server1List "enter GameSurge dc|bot|et"
set server2List "gamesurge EnterTheGame dc|bot|gs"
and

Code: Select all

set server1List "gamesurge EnterTheGame dc|bot|gs"
set server2List "enter GameSurge dc|bot|et"

with your new code it seems to be working. Thank you very much.


EDIT: If you do plan on doing a feature update when not at the office, may i suggest showing kicks as well.
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

Ok don't worry i will do it for you.

Enjoy
iamdeath
|AmDeAtH @ Undernet
Death is only the *Beginning*...
h
hommiedaklown
Voice
Posts: 6
Joined: Wed Oct 17, 2007 1:07 am

Post by hommiedaklown »

Feature thought

* notification when the link is up and when its down
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

hey sorry for the late reply I have a very good suggestion for you, here is the TCL by DrN:

TCL

It has all the features builtin, the one I have given you has color features too. So it has got some options if you want modes to be shown or kicks to be shown or bla bla you can do it easily.

Take a look use it and let me know

iamdeath
|AmDeAtH @ Undernet
Death is only the *Beginning*...
w
wann
Voice
Posts: 8
Joined: Sat May 23, 2009 12:49 pm
Contact:

Post by wann »

Code: Select all

<(LinkMK> [02:50] Tcl error [send_pubm]: bot is not on the botnet
<(LinkMK> [02:51] Tcl error [send_join]: bot is not on the botnet
help please... i wanna relay my server with other server.but i don know how to setup botnet.pleaseeee
irc.mamakchat.org
i
idol
Voice
Posts: 4
Joined: Mon Aug 31, 2009 3:45 am

Post by idol »

Code: Select all

set server1List "dal \00303DALnet\003 Beirut"
set server2List "Beirut \00304Beirut\003 Dalnet" 
what are the mean of dal, DALnet, and Beirut ?
are there botnick, network, or else?
V
Votex
Voice
Posts: 23
Joined: Sat Jun 21, 2014 6:52 pm

Post by Votex »

iamdeath wrote:hey sorry for the late reply I have a very good suggestion for you, here is the TCL by DrN:

TCL

It has all the features builtin, the one I have given you has color features too. So it has got some options if you want modes to be shown or kicks to be shown or bla bla you can do it easily.

Take a look use it and let me know

iamdeath

Could we still find the TCL you talked about , cause the link is broken
i don't know where else i can find this Script .
Post Reply