我决定创建一个更有用的机器人,我希望允许通过两种方式激活命令:x.
是默认前缀,而@xubot
也可以对机器人。
我的命令设置如下:
# 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.
我希望@xubot example
和x.example
一起运行命令。有没有办法做到这一点?
答案 0 :(得分:1)
通过command.when_mentioned_or
函数作为前缀:
from discord.ext.commands import Bot, when_mentioned_or
bot = Bot(command_prefix=when_mentioned_or("x."))
...