是一种对命令使用前缀和 ping 的方法吗?
问题描述
我决定创建一个更有帮助的机器人,并且我想允许以两种方式激活命令: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."))
...
相关文章