如何停止运行不和谐机器人进程(python)

5 python sublimetext3 discord.py

我对这个discord.py 很陌生。我刚刚做了一个discord.py 机器人,它工作正常,但有时机器人会不断重复命令消息。我用谷歌搜索了这个问题,发现可能是为了一遍又一遍地运行脚本(就像在编辑或添加功能后保存并运行时一样)。所以我想停止运行该进程,就像当我重新启动Windows时,机器人处于离线状态(如果我在重新启动Windows后运行脚本,机器人将正常运行)。请帮忙

如果有人需要代码,我可以将其粘贴到这里。

PD:我将机器人制作得完全像教程一样......

小智 5

  • 如果您添加我写在那里的代码(只有所有者可以使用)将关闭已经运行的机器人(在不和谐服务器中写入 /shutdown或任何您的前缀)。

但是,使用此代码保存机器人后,您可能需要重新启动电脑。

@client.command()
@commands.is_owner()
async def shutdown(ctx):
    await ctx.bot.logout()
Run Code Online (Sandbox Code Playgroud)
  • 所以每次如果你想编辑你的命令,你可以写 /shutdown 并编辑它,之后,你可以再次启动它。

我希望这对您有用并且我可以提供帮助。


小智 1

该消息确实不是特定于discord.py 的,并且适用于无限期运行的每个脚本。

您正在运行机器人的多个实例。如果你在 IDE 环境中运行它,那么某处应该有一个停止按钮。如果您在控制台中运行它,关闭控制台窗口将关闭机器人。

编辑:如果您像标签建议的那样在 sublime3 中运行它,则每次您想要关闭机器人时,请转到“工具”,然后“取消构建”(热键:CTRL + Break)。一旦您运行机器人的另一个实例,sublime 就会“解耦”当前脚本以支持新脚本,并且此方法不再起作用。然后,您必须手动检查正在运行的进程(命令行或任务管理器)并搜索任何“Python”进程。

一般来说,我建议在命令行中运行脚本,因为您可以更好地控制它。