Eggheads: Possible bug? Same message shows fine in partyline,
but not on channel?
Richard Brooklyn
ribs at riblet.plus.com
Sun Apr 9 14:48:00 CDT 2006
Hi,
I think I've found a bug here whilst coding a tcl script. The nature of
this bug is pretty serious from my point of view, but perhaps not for
the "average Joe" user. The example I show is only outputting some
helpful text, but this bot needs to be able to scale and cope with
sending 100s of lines at very short notice.
Basically, I've coded a script which needs to send a lot of stuff to the
server at very short notice. Having already got around the problem of
Eggdrop queueing and delaying everything (thanks Wcc for that), I now
find myself with another (easy to reproduce) issue.
I have coded this script in such a way that there are two ways to for
the bot to respond to a specific command. Either in the partyline, or
via the channel.
This command dumps a fair bit of info, and it's only going to get
bigger. In the partyline, I don't have a issue. putdcc works beautifully
and displays everything just fine. However, in channel, it's a different
story. I get the first 14 lines of text from a loop, then another final
line from outside the loop (tho I should get two lines from outside the
loop). Very strange.
The loop in question runs through a list of items, and displays them in
the channel, then displays a 'final note' to the users. The final note
itself is two putservs, so I'm not sure what's happening here. When the
final note is removed, then I still get the output stopping early,
except it skips two lines, shows the line after that, and then stops.
This sounds like a overflow or something to me... I should be able to
dumped as many lines as I like to putquick/serv/help and it should
eventually push them all through the server, right?
I checked what the eggdrop is dumping to the IRC server, and it does
just stop early, for no apparent reason, it's not even attempting to
send it.
Attached are two examples of this in action. One with the command in the
partyline, which works as expected. And one on channel, which does not.
The code is *identical* for both commands. The binds just tell the
function where to send the output. So you only have a putdcc against a
putserv here; that's the only difference. I've also included a raw
partyline log of the output. This is when I removed the 'final note'
from the code.
-------------- next part --------------
...spamservers
Below is a list of servers known to this bot for the purposes of kills or klines.
You cannot edit this list directly, please contact the bot administrator to get entries added/deleted/edited.
Key:
KillScore and KillReason: The minimum score needed before a kill is issued. Along with the reason used in the kill
KlineScore and KlineReason and KlineTime: Same as KillScore and KillReason (execept for Klines), and with a time as KlineTime.
Note: KillScore and/or KlineScore are disabled if they are at -1.
---
riblet.plus.com
KillScore: -1
KillReason: Please do not spam. Read our AUP.
KlineScore: 30
KlineReason: Your computer appears to be infected with a virus which is spamming users. Please clean it before rejoining IRC.
KlineTime: 20
irc.ambernet.se
KillScore: -1
KillReason: Please do not spam. Read our AUP.
KlineScore: 50
KlineReason: Your computer appears to be infected with a virus which is spamming users. Please clean it before rejoining IRC.
KlineTime: 20
-------------- next part --------------
<Ribs> !servers
<spamhub> Below is a list of servers known to this bot for the purposes of kills or klines.
<spamhub> You cannot edit this list directly, please contact the bot administrator to get entries added/deleted/edited.
<spamhub> Key:
<spamhub> KillScore and KillReason: The minimum score needed before a kill is issued. Along with the reason used in the kill
<spamhub> KlineScore and KlineReason and KlineTime: Same as KillScore and KillReason (execept for Klines), and with a time as KlineTime.
<spamhub> Note: KillScore and/or KlineScore are disabled if they are at -1.
<spamhub> ---
<spamhub> riblet.plus.com
<spamhub> KillScore: -1
<spamhub> KillReason: Please do not spam. Read our AUP.
<spamhub> KlineScore: 30
<spamhub> KlineReason: Your computer appears to be infected with a virus which is spamming users. Please clean it before rejoining IRC.
<spamhub> KlineTime: 20
<spamhub> irc.ambernet.se
<spamhub> KlineScore: 50
-------------- next part --------------
[20:41] [@] Ribs!ribs at ribbed.for.your.pleasure PRIVMSG #spam :!servers
[20:41] [!m] PRIVMSG #spam :Below is a list of servers known to this bot for the purposes of kills or klines.
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :You cannot edit this list directly, please contact the bot administrator to get entries added/deleted/edited.
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :Key:
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :KillScore and KillReason: The minimum score needed before a kill is issued. Along with the reason used in the kill
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :KlineScore and KlineReason and KlineTime: Same as KillScore and KillReason (execept for Klines), and with a time as KlineTime.
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :Note: KillScore and/or KlineScore are disabled if they are at -1.
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :---
[20:41] [m->] PRIVMSG
[20:41] [!m] PRIVMSG #spam :riblet.plus.com
[20:41] [!m] PRIVMSG #spam :KillScore: -1
[20:41] [!m] PRIVMSG #spam :KillReason: Please do not spam. Read our AUP.
[20:41] [!m] PRIVMSG #spam :KlineScore: 30
[20:41] [!m] PRIVMSG #spam :KlineReason: Your computer appears to be infected with a virus which is spamming users. Please clean it before rejoining IRC.
[20:41] [!m] PRIVMSG #spam :KlineTime: 20
[20:41] [!m] PRIVMSG #spam :irc.ambernet.se
[20:41] [!m] PRIVMSG #spam :KlineScore: 50
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
[20:41] [m->] PRIVMSG
More information about the Eggheads
mailing list