如何摆脱电报机器人中的盘旋小丑青蛙?

问题描述

我在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

在这些之后,它应该可以正常工作:在您的主机上并且没有任何“小丑”