gpt4 book ai didi

python - 每个 Cog 的前缀不同?

转载 作者:行者123 更新时间:2023-12-05 01:35:16 26 4
gpt4 key购买 nike

是否可以为每个齿轮设置前缀?

例如,带有管理命令的 Cog 具有前缀 pa!,而一些有趣命令的 cog 具有前缀 pf!

不使用 on_message

编辑:我想我必须更详细地介绍:

  • 我的 serverstats 齿轮有一个名为“stats”的命令,这个命令应该得到当我使用 pa!
  • 时触发
  • 我的 cog for fun 也有一个“stats”命令。这应该在我使用 pf!

到目前为止,我唯一的想法是将默认前缀设置为 p!,然后调用命令 astats。但我想有一个更好的方法。

最佳答案

要扩展 Maxsc 的答案,您可以定义一个 cog_check在来自 cog 的每个命令之前调用的方法:

class FunCommands(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.prefix = "pf!"
async def cog_check(self, ctx):
return ctx.prefix == self.prefix

在您的主代码中,您可以使用一个可调用对象来使用来自齿轮的前缀来确定要注意哪些前缀。这将作为您的 command_prefix 传递

def get_prefixes(bot, message):
cog_prefixes = (cog.prefix for cog in bot.cogs.values() if hasattr(cog, 'prefix'))
default_prefixes = ("!")
return (*cog_prefixes, *default_prefixes)

关于python - 每个 Cog 的前缀不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63105582/

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