Closed GoogleCodeExporter closed 9 years ago
Did you wait until the WHO reply completed? PircBotX relies on the WHO reply to
provide all available information on users in the channel like realname,
hostmask, operator status, etc.
If you have, can you provide a log?
Original comment by Lord.Qua...@gmail.com
on 5 Jan 2013 at 7:05
I made a user-friendly logger, which doesn't wait for the WHO reply before
logging the user object.
However, that shouldn't matter - WHO should be able to set the properties of
User object afterwards, so the logger should still obtain those properties
somewhere in the middle of it.
It's actually quite weird, because I don't think WHO is being called at all.
Raw log: raw.log
User-objectified log: user.log
Original comment by rob...@gmail.com
on 5 Jan 2013 at 7:19
Attachments:
Is that the entire raw log? Where's the NICK line, sent before the USER line?
This is the part I'm worried about
>>>USER BotSyBot 8 * :BotSy, a lightweight bot of randomness.
<<<:portlane.esper.net 001 Spouty :Welcome to the EsperNet Internet Relay Chat
Network Spouty
If your nick isn't Spouty but the server assumes it is then it breaks several
assumptions PircBotX makes. When you join all those channels, no WHO or MODE
line is sent, which means PircBotX thinks the person joining is someone else.
Are you by chance connecting through a bouncer?
Original comment by Lord.Qua...@gmail.com
on 5 Jan 2013 at 7:43
Oh, the raw log does have it:
*** Connected to server.
>>>PASS ********
>>>NICK Spouty
>>>USER BotSyBot 8 * :BotSy, a lightweight bot of randomness.
<<<:portlane.esper.net 001 Spouty :Welcome to the EsperNet Internet Relay Chat
Network Spouty
*** Logged onto server.
But yes, I am connecting through a bouncer. The nickname stays Spouty
throughout, however.
Original comment by rob...@gmail.com
on 5 Jan 2013 at 8:50
Wow, found a pretty serious bug in how nicks are handled. Turns out that the
internal nick isn't set if it breaks out of the connect loop early. The reason
this hasn't been noticed much is because most servers send out the "*** Looking
up your hostname...", "*** Checking Ident", etc lines which cause the nick to
be set. However if you don't have those lines since your going through a
bouncer then the bot still thinks its nick is PircBotX.
Fixed in Revision 10cf2072602f
Note this issue finally made me write a replay server so I can replay logs to
debug issues, which is going to be very useful in the future
Original comment by Lord.Qua...@gmail.com
on 10 Jan 2013 at 9:23
Ah. Bouncers could definitely do that.
Thanks for fixing the issue! (I'll update my bot to use 1.8-SNAPSHOT in Maven,
then.)
Original comment by rob...@gmail.com
on 10 Jan 2013 at 2:04
Original issue reported on code.google.com by
rob...@gmail.com
on 5 Jan 2013 at 6:16