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?
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
# 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
}
}
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 ^-^.