【发布时间】:2022-12-05 02:41:05
【问题描述】:
出于某种原因,我的机器人总是在不向命令行打印任何输出或显示任何类型的错误的情况下关闭。机器人在打开后可以正常运行几个小时。基本代码如下所示:
app = Client("my_account", '123456', '123456789abcd')
TESTING = "321"
USER_ID = "123"
chat_mapping = {TESTING: "-10011111111111", USER_ID: "-10011111111111"}
@app.on_message()
def my_handler(client, message):
if str(message.chat.id) not in chat_mapping:
return
elif str(message.chat.id) == USER_ID:
storeMsg(message)
else:
print(message.text)
app.run()
任何建议将不胜感激!
【问题讨论】:
-
尝试制作一个日志文件,当您将
my_handler函数包装在 try except 中时,它会记录日志。您可能会发现它失败是因为错误的调用将记录在永久存储的日志中。它应该记录成功发生和失败发生的时间。 -
如果这是您的全部代码,那么您正在比较
str(message.chat.id)和未定义的USER_ID。 -
@James 谢谢,我会的。如果 app.run() 停止工作,你知道有什么方法可以自动重启它吗?我试过在 while 循环中运行它,但它再次随机停止并且不会重新启动 - 也许它挂在什么东西上?