| View previous topic :: View next topic |
| Author |
Message |
spant Guest
|
Posted: Sun Oct 26, 2003 7:14 pm Post subject: sendq exceeded |
|
|
Lo!
I got a problem. My eggdrop always gets disconnected from server with the reason "max sendq exceeded" when it joins the channel (> 1000 users). I think the reason is that it's sending a /who when its joining the chan.
Does anybody have any other conception?
If not is it possible to put a timer in the source to execute this /who later and not exactly when the bot joins the channel?
Thanks for you help |
|
| Back to top |
|
 |
user

Joined: 18 Mar 2003 Posts: 1452 Location: Norway
|
Posted: Sun Oct 26, 2003 8:18 pm Post subject: Re: sendq exceeded |
|
|
| spant wrote: | | If not is it possible to put a timer in the source to execute this /who later and not exactly when the bot joins the channel? |
You're correct about the eggdrop doing a /WHO #chan upon joining a new channel. It also does a /MODE #chan (+b/e/I depending on your net-type). Changing this will lead to some strange behaviour while waiting to perform these commands, but feel free to try this code if you dare
| Code: |
# the channel name must be in all lowercase:
set whodelay(chan) #yourchan
# delay (after joining the channel)
set whodelay(delay) 20
unbind raw - JOIN *raw:irc:join
bind raw - JOIN whodelay
proc whodelay {f k a} {
if {$f==$::botname && $::whodelay(chan)==[string tolower [string range $a 1 end]]} {
utimer $::whodelay(delay) [list resetchan [string range $a 1 end]]
return 1
} {
*raw:irc:join $f $k $a
}
} |
_________________ Have you ever read "The Manual"? |
|
| Back to top |
|
 |
masterstanf2k Voice
Joined: 03 Oct 2003 Posts: 29
|
Posted: Sun May 09, 2004 12:02 pm Post subject: |
|
|
| how do I do mutiple channels?? |
|
| Back to top |
|
 |
KrzychuG Master

Joined: 16 Aug 2003 Posts: 306 Location: Torun, Poland
|
Posted: Mon Aug 02, 2004 8:37 am Post subject: |
|
|
That will work for all channels:
| Code: |
## Delay Join ##
if {[string match *raw:irc:join* [binds]]} then {
unbind raw - JOIN *raw:irc:join
}
bind raw - JOIN join:delay
proc join:delay { bname handle channel } {
global botname
if {($bname == $botname) && [string match *[string range $channel 1 end]* [channels]]} then {
putloglev d * "Delaying WHO: [string range $channel 1 end]"
utimer 10 [list resetchan [string range $channel 1 end]]
} else {
*raw:irc:join $bname $handle $channel
}
} ;# join:delay
## Delay Join
|
_________________ Que? |
|
| Back to top |
|
 |
SiNLeSs Voice
Joined: 14 May 2005 Posts: 3
|
Posted: Sat May 14, 2005 12:44 am Post subject: |
|
|
| Is it possible to just ignore the /who altogether? Or atleast ignore the server commands being sent to you? |
|
| Back to top |
|
 |
De Kus Revered One

Joined: 15 Dec 2002 Posts: 1361 Location: Germany
|
Posted: Sat May 14, 2005 3:35 am Post subject: |
|
|
| SiNLeSs wrote: | | Is it possible to just ignore the /who altogether? Or atleast ignore the server commands being sent to you? |
ignoried things will still get send to you ^-^. If you prevented packets to be send to you, you would have invented the ultimate firewall .
the only thing you could try to increase the receive buffer of your server connection. I don't know much about it, I just know that there is one ^-^. _________________ De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens... |
|
| Back to top |
|
 |
SiNLeSs Voice
Joined: 14 May 2005 Posts: 3
|
Posted: Sat May 14, 2005 2:43 pm Post subject: |
|
|
| Can I edit out the /who anywhere? |
|
| Back to top |
|
 |
|