franciscod / telegram-twitter-forwarder-bot

A Telegram bot that forwards Tweets
GNU Lesser General Public License v3.0
317 stars 117 forks source link

Check for errors on /verify #26

Open lgg opened 6 years ago

lgg commented 6 years ago

in telegram message history:

image

while in logs:

2018-01-10 04:11:59,686 - TwitterForwarderBot - DEBUG - No new updates found.
2018-01-10 04:12:02,492 - TwitterForwarderBot - DEBUG - Getting updates: [434142446]
None
None
2018-01-10 04:12:03,170 - telegram.ext.dispatcher - ERROR - An uncaught error was raised while processing the update
Traceback (most recent call last):
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/venv/lib/python3.5/site-packages/telegram/ext/dispatcher.py", line 203, in process_update
    handler.handle_update(update, self)
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/venv/lib/python3.5/site-packages/telegram/ext/commandhandler.py", line 86, in handle_update
    return self.callback(dispatcher.bot, update, **optional_args)
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/util.py", line 14, in wrapper
    return f(bot, update, *args, **kwargs)
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/commands.py", line 268, in cmd_verify
    cmd_set_timezone(bot, update, [tz_name])
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/util.py", line 14, in wrapper
    return f(bot, update, *args, **kwargs)
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/commands.py", line 298, in cmd_set_timezone
    tz = timezone(tz_name)
  File "/home/webadmin/www/console/telegram/chat-crypto/telegram-twitter-forwarder-bot/venv/lib/python3.5/site-packages/pytz/__init__.py", line 173, in timezone
    if zone.upper() == 'UTC':
AttributeError: 'NoneType' object has no attribute 'upper'
2018-01-10 04:12:12,503 - TwitterForwarderBot - DEBUG - No new updates found.
lgg commented 6 years ago

To avoid this error you need to change default timezone in Twitter settings, otherwise Twitter API won't return time_zone parameter when https://github.com/franciscod/telegram-twitter-forwarder-bot/blob/bbb75b5b21186fee378994a51613a763acfa37a2/commands.py#L262

Settings list before changing default timezone: image

Settings list after changing default timezone: image


I think we need to add this to Readme or check in code for 'time_zone' parameter existence

franciscod commented 3 years ago

I've updated pytz alongside other dependencies. Maybe this is fixed now.