Slack RTM Bot - не может оставаться на связи
Я использую бот 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() можно найти там. Хотя я предполагаю, что они не являются источником проблемы.
Обратите внимание, что когда бот не отвечает, консоль НЕ показывает никаких сообщений об ошибках, и сообщение "Ошибка подключения" НЕ отображается.
Любые идеи будут оценены.