问题描述
我在Heroku上托管了带有python-telegram-bot模块的python脚本,并且启用了Free dyno。 我的代码在上面正确运行了2年。昨晚我决定更新代码。在将代码上传到Heroku之后,我意识到被关闭的dyno不会被机器人发出的请求唤醒。
Heroku应用程序闲置30分钟后,dyno和该应用程序实际上并未开始处理用户的请求。
另一方面,该机器人会回复Mrsnowball制作的圆形小丑贴纸,以应对您提出的每个请求!
这是我脚本的Webhook代码:
updater = Updater(TOKEN)
dispatcher = updater.dispatcher
#dispathcers here
PORT = int(os.environ.get('PORT','5000'))
updater.start_webhook(listen="0.0.0.0",port=PORT,url_path=TOKEN)
updater.bot.setWebhook("https://[my app name].herokuapp.com/" + TOKEN)
updater.idle()
以下是我从机器人那里获得的每次互动的回复: Circling Clown Frog of Telegram Bot
如果您想亲自检查Bot并对其进行操作,可以在@IranAIPBot上找到它
解决方法
您的Bot API令牌向公众泄漏,现在有人通过发送消息来滥用它们。
要解决此问题,您需要:
- 找出泄漏的地方(GitHub,Gist,Pastebin,StackOverflow或其他一些公共服务),在其中发布了漫游器
API Token
- 从那里删除它
- 使用@BotFather撤销Bot API令牌:
"Your bot name"
->"API Token"
->"Revoke current token"
- 在environment variable on Heroku中设置新的Bot API令牌
- 重新部署Heroku
在这些之后,它应该可以正常工作:在您的主机上并且没有任何“小丑”