Slack RTM Bot - не может оставаться на связи - PullRequest
0 голосов
/ 26 октября 2018

Я использую бот Slack RTM, и он работает нормально, за исключением того, что он часто теряет соединение без видимых ошибок.Он просто перестает отвечать.Завершив выполнение кода Python и перезапустив его, я могу восстановить его.

У меня есть перехват ошибок во всем коде, чтобы убедиться, что ошибка не приводит к сбою всего кода.Но кроме того, у меня есть все соединение со Slack в блоке try: exception:, следующим образом:

while True:
        try:
            if slack_client.rtm_connect(with_team_state=False, auto_reconnect=True):
                bot_id = slack_client.api_call("auth.test")["user_id"]
                while True:
                    command, channel = parse_bot_commands(slack_client.rtm_read())

                    if command:
                        handle_command(command.upper(), channel)
                    time.sleep(RTM_READ_DELAY)
            else:
                print("Connection failed.")
        except ConnectionResetError:
            pass

Примечание. Приведенный выше код основан на приведенной здесь информации: https://www.fullstackpython.com/blog/build-first-slack-bot-python.html Подробностифункций parse_bot_commands () и handle_command () можно найти там, хотя я предполагаю, что они не являются источником проблемы.

Обратите внимание, что когда бот не отвечает, консоль НЕ показывает ошибкусообщения и сообщение «Ошибка подключения» НЕ отображается.

Буду признателен за любые идеи.

...