问题描述
我决定创建一个更有帮助的机器人,并且我想允许以两种方式激活命令:x. 是默认前缀和 @xubot,也就是 ping 机器人.
I've decided to create a much more helpful bot, and I would like to allow the commands to be activated in two ways: x. which is the default prefix and @xubot, aka pinging the bot.
我的命令是这样设置的:
My commands are set out like this:
# sidenote: this is not an actual command ;) pref = 'x.' client = Bot(command_prefix=pref) @client.command(name="example", pass_ctx=True) async def example(ctx, type=""): # the "type" parameter is used so i can check if it is "help" and display an embed await ctx.send("Test!")
但是,我只能激活带有前缀 x.
However, I can only activate the commands with my prefix, x.
我希望 @xubot example 以及 x.example 运行命令.有没有办法做到这一点?
I would like for @xubot example to run the command, as well as x.example. Is there a way to achieve this?
推荐答案
通过commands.when_提到_or 用作您的前缀:
Pass the commands.when_mentioned_or function as your prefix:
from discord.ext.commands import Bot, when_mentioned_or bot = Bot(command_prefix=when_mentioned_or("x.")) ...