如何创建使机器人在 discord.py 后离线的命令
How do you create a command that makes the bot go OFFLINE in discord.py
可能吗?
我想为我的 discord 机器人创建一个命令,让每个人都可以离线使用该机器人。我想在任何 discord 服务器中键入该命令,然后机器人就会离线。这比进入文件或终端按 ctrl+c 容易得多。甚至可以发出这样的命令吗?如果是这样,我可以知道如何添加该命令吗?我想向我的机器人添加一些管理命令,这绝对是对列表的一个很好的补充。谢谢-
如果我明白你在这里试图做什么,你可以通过调用 sys.exit()
之类的东西来添加一个退出 bot.py
程序的命令。这只会终止程序 运行 机器人,使机器人离线。
您可以使用 sys.exit()
或 os.exit()
来终止您的机器人进程。请记住在终止进程之前保存您可能需要保存的任何数据。
sys.exit()
使用 sys.exit()
,您可以提供一条消息,然后将打印该消息。例如:
import sys
sys.exit("Bot has been shut down")
os.exit()
使用 os.exit()
,您可以提供退出代码,这是一个数字。你可能真的不需要那个退出代码,但它在 bash 脚本中很有用。通常,代码 0 表示进程已成功终止。例如:
import os
os.exit(0)
我建议为您的 bot 选择一个更优雅的退出,如果您使用 discord.py 的主分支,它将使用 await bot.close()
,它会干净地关闭它与 discord 建立的 websocket 连接。
@bot.command()
async def shutdown(ctx):
await ctx.send("Shutting down bot!")
await bot.close()
如果您使用的是稳定版本,即 1.7.3 which is installed when you do pip install discord.py
,您可以使用 await bot.logout()
代替
与 master 分支的 Bot.close 不同,这会立即删除所有连接。
@bot.command()
async def shutdown(ctx):
await ctx.send("Shutting down bot!")
await bot.logout()
可能吗?
我想为我的 discord 机器人创建一个命令,让每个人都可以离线使用该机器人。我想在任何 discord 服务器中键入该命令,然后机器人就会离线。这比进入文件或终端按 ctrl+c 容易得多。甚至可以发出这样的命令吗?如果是这样,我可以知道如何添加该命令吗?我想向我的机器人添加一些管理命令,这绝对是对列表的一个很好的补充。谢谢-
如果我明白你在这里试图做什么,你可以通过调用 sys.exit()
之类的东西来添加一个退出 bot.py
程序的命令。这只会终止程序 运行 机器人,使机器人离线。
您可以使用 sys.exit()
或 os.exit()
来终止您的机器人进程。请记住在终止进程之前保存您可能需要保存的任何数据。
sys.exit()
使用 sys.exit()
,您可以提供一条消息,然后将打印该消息。例如:
import sys
sys.exit("Bot has been shut down")
os.exit()
使用 os.exit()
,您可以提供退出代码,这是一个数字。你可能真的不需要那个退出代码,但它在 bash 脚本中很有用。通常,代码 0 表示进程已成功终止。例如:
import os
os.exit(0)
我建议为您的 bot 选择一个更优雅的退出,如果您使用 discord.py 的主分支,它将使用 await bot.close()
,它会干净地关闭它与 discord 建立的 websocket 连接。
@bot.command()
async def shutdown(ctx):
await ctx.send("Shutting down bot!")
await bot.close()
如果您使用的是稳定版本,即 1.7.3 which is installed when you do pip install discord.py
,您可以使用 await bot.logout()
代替
与 master 分支的 Bot.close 不同,这会立即删除所有连接。
@bot.command()
async def shutdown(ctx):
await ctx.send("Shutting down bot!")
await bot.logout()