尽管从pythonanywhere的控制台和我的本地环境开始,所有内容在开始的几分钟内都能顺利运行,但几个小时后,某些命令不再起作用。特别是,仅向用户“发送消息”的命令起作用,而其他具有更复杂任务(例如从电子表格中收集信息)的命令不再响应。他们似乎处于“睡眠模式”或其他状态。
控制台没有任何错误,当我重新打开它时,一切似乎都在正常运行。
我已经用python-telegram-bot模块设置了一个机器人,并为不同的命令使用了不同的处理程序。一些回调函数调用脚本上定义的其他函数。我正在使用gspread模块从在线电子表格和其他一些较小的模块中收集一些日期。最终,我将脚本放在pythonanywhere上并从Bash控制台运行它。
我将不提供所有代码,而仅提供bot结构。我希望这足够了,否则,我会提供更多。
import random
import gspread
from oauth2client.service_account import ServiceAccountCredentials
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import time as time2
from datetime import time
updater = Updater (token = 'TOKEN')
dispatcher = updater.dispatcher
scope, creds, client, worksheet
#definition of one class
#definition of different def and callbacks
# =============================================================================
# Handlers
start_command_handler = CommandHandler('start', start)
fight_command_handler = CommandHandler('fight', fightFor)
info_command_handler = CommandHandler('info', info)
inizzializza_command_handler = CommandHandler('inizializza', inizializza)
# Add handlers to dispatcher
dispatcher.add_handler(start_command_handler)
dispatcher.add_handler(fight_command_handler)
dispatcher.add_handler(info_command_handler)
dispatcher.add_handler(inizzializza_command_handler)
# Start searching for updates
updater.start_polling(clean=True)
# Stop bot, if clicked Ctrl + C
updater.idle()
我的预期结果是该机器人可以无限期地工作,直到我停止它为止。