我正在使用discord.py并想从另一个命令调用一个命令。在堆栈溢出中有很多类似的问题,但我的不同之处在于我不希望将要调用的命令可供用户调用。
例如:
假设我有一个动物类别,并且在该类别中有两个命令,例如(笑话,图片)。那么如果命令前缀是!.
用户将键入!animals joke或!animals pictures。
这应该返回所需的结果。
我以为我可以通过以下方式做到这一点:
animals.py:
@commands.command
async def animals(self, ctx, com_name):
await ctx.invoke(self.bot.get_command(com_name))
jokes.py
@commands.command
async def joke(self, ctx):
await ctx.send('a random joke')
现在,如果用户键入!animals joke它会工作,但他们将能够键入!joke,这也将工作。如果类别也存在,我怎么能只让命令被调用。
扬帆大鱼
相关分类