gpt4 book ai didi

python - Discord.py - 如何为每个服务器制作齿轮

转载 作者:行者123 更新时间:2023-11-28 18:57:12 24 4
gpt4 key购买 nike

我有一个带有 cog 的公共(public)机器人,但我刚刚测试过,如果我加载/卸载一个 cog,那么它会在它所在的每个服务器上加载/卸载该 cog,这对于公共(public)机器人来说当然是可怕的事情

我将展示我的加载和卸载命令:

@client.command()
async def load(ctx, extension):
client.load_extension(f"cogs.{extension}")

await ctx.send(f"Successfully loaded the {extension} module :thumbsup: ")

@load.error
async def load_error(ctx, error):
await ctx.send(f"The following error occured:```\n{error}\n```")

是加载命令,并且:

@client.command()
async def unload(ctx, extension):
client.unload_extension(f"cogs.{extension}")

await ctx.send(f"Successfully unloaded the {extension} module :thumbsup: ")

@unload.error
async def unload_error(ctx, error):
await ctx.send(f"The following error occured:```\n{error}\n```")

是卸载命令

编辑:我不介意尝试我正在尝试的东西以外的东西

最佳答案

您可以使用 cog_check检查齿轮中的每个命令:例如

class MyCog(commands.Cog):
def cog_check(self, ctx):
return ctx.guild.id == 123

由于 cogs 与机器人绑定(bind),加载和卸载它们会在任何地方影响机器人,没有比使用这个更好的方法让公会只使用 cogs 了。

关于python - Discord.py - 如何为每个服务器制作齿轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56916693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com