【问题标题】:Discord bot hosted on Heroku is an earlier version of itself that was seemingly never pushed托管在 Heroku 上的 Discord bot 是其自身的早期版本,似乎从未被推送过
【发布时间】:2020-07-28 08:51:45
【问题描述】:
事件顺序:我制作了一个机器人,将其注册为 Discord 等等,而没有对 Heroku 做任何事情。我将某个占位符字符串放在我编写的机器人的源代码中。我通过在我自己的机器上运行在我的服务器上对其进行了测试。然后我实现了机器人的那个功能并替换了占位符字符串;此字符串不再在源中。然后机器在我的机器上托管时开始发布两次;一个版本发布占位符字符串,另一个版本执行更新操作。我然后将我的本地机器人项目上传到 Heroku git。它现在只发布一次;它只发布占位符字符串。换句话说,我从未在 Heroku 上安装过的 bot 版本正在运行。
3 个问题,相互交织:
为什么?
怎么做?
如何制作机器人帖子的更新版本?
【问题讨论】:
标签:
git
heroku
discord.py
【解决方案1】:
Discord 允许多次托管机器人。如果您不能或不知道如何阻止前一个机器人运行,我建议您更改令牌,并添加一个只能由您执行的命令来停止机器人(killswitch)以防万一再次发生。
【解决方案2】:
我在我编写的机器人的源代码中放置了一个特定的占位符字符串。我通过在我自己的机器上运行在我的服务器上对其进行了测试。然后我实现了机器人的那个功能并替换了占位符字符串;此字符串不再在源中。然后机器在我的机器上托管时开始发布两次;一个版本发布占位符字符串,另一个版本执行更新操作。
您可以在同一个令牌上多次运行 Discord。您可能没有关闭机器人并运行了两次机器人。一个是旧代码,一个是新代码。
然后我将本地机器人项目上传到 Heroku git。它现在只发布一次;它只发布占位符字符串。换句话说,我从未在 Heroku 上安装过的机器人版本正在运行。
确保您的更改位于 git master 分支上。您的主分支包含旧源。