lepinkainen / pyfibot

Pyfibot the Python IRC bot
BSD 3-Clause "New" or "Revised" License
51 stars 31 forks source link

Channel names with uppercase letters #158

Closed hmmp closed 8 years ago

hmmp commented 9 years ago

If a channel was orginally created with uppercase letters (#EXAMPLE) and you put the channel name with lowercase (#example) to the config file, the bot declares on start that it has joined both of them like this: [2014-11-22 22:39:31,694][INFO ][bot ] joined 2 channel(s): #example, #EXAMPLE

The bot works still quite okay but I got about 3-4 ping timeouts per day. Now that I put #EXAMPLE in the config file the ping timeouts have disappeared completely.

Edit: and it joins only to one channel.

fgeek commented 9 years ago

Interesting issue. It should work case insensitive.

kipe commented 9 years ago

Seems more like bug with Twisted to me?

fgeek commented 9 years ago

I tested this issue in irc.nerv.fi, which runs hybrid-8.0.6 and I could not reproduce ping timeouts nor "joined 2 channels" problem. @hmmp in what IRC network did you notice this issue?

aapa commented 9 years ago

I cannot reproduce this in the bot log:

[2014-11-25 14:51:00,445][INFO     ][bot            ]  joined 1 channel(s): #pyfibotuppercase

...but apparently both versions do appear in the bot's internal channel list (channel created as #PYFIBOTUPPERCASE):

< UPPERCASEBOT> I am on ['#pyfibotuppercase', '#PYFIBOTUPPERCASE']

tested on IRCnet and Freenode, same result on both networks.

With - '#PyfibotUppercase' and with NIckServ authentication on Freenode (with 5 seconds join delay) following differences are produced:

[2014-11-25 15:02:11,970][INFO     ][bot            ]  joined 1 channel(s): #PyfibotUppercase
[2014-11-25 15:02:26,624][INFO     ][bot            ]  internal command channels called by
user!nick@example.com (True) on #pyfibotuppercase
< UPPERCASEBOT> I am on ['#PyfibotUppercase', '#PYFIBOTUPPERCASE']

I think this might be a bug in the pyfibot after all. In the end, it is the bot, not Twisted keeping track of joined channels.

Though how to reproduce the joined 2 channel(s) bug is still a mystery to me.

hmmp commented 9 years ago

My problem was on Freenode too. Seems like I can't reproduce the extra channel in bot log either. Maybe it got there earlier after a timeout or something. Anyway the bot log was the place where I noticed it. I'm sorry if my starting post was misleading.

aapa commented 9 years ago

I cannot reproduce the ping timeout bug - the bot has been running now for six days on Freenode with "wrong case" channel and at least for the last 3 days it has not dropped even once.

hmmp commented 9 years ago

Have you been calling any commands on that channel? I think my bot timeouted annoyingly often (but not every time) when people got excited with .wa or .weather.

lepinkainen commented 9 years ago

Every command is run in a separate deferred thread, having multiples run in parallel shouldn't make the bot timeout. Unless it's really spammed HARD, in that case the bot or channel operator should intervene anyway :)

lepinkainen commented 8 years ago

Can't be reproduced.