我正在使用Slack的RTM机器人,它工作正常,但它经常失去连接且看不到任何错误。它只是停止响应。通过退出正在运行的python代码并重新启动,我可以将其备份。
我在整个代码中都有错误陷阱,以确保错误不会导致整个代码失败。但除此之外,我在try:except:块中拥有与Slack的整个连接,如下所示:
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()函数的详细信息,尽管我认为这些不是问题的根源。
请注意,当漫游器无法响应时,控制台不会显示任何错误消息,并且不会显示“连接失败”消息。
任何见解都会受到赞赏。