是否可以在 discord.py 中为不同的前缀使用不同的命令?
Posted
技术标签:
【中文标题】是否可以在 discord.py 中为不同的前缀使用不同的命令?【英文标题】:is it possible to have different commands for different prefixes in discord.py? 【发布时间】:2022-01-22 20:44:04 【问题描述】:每个前缀可以有不同的命令吗?例如,一个命令用于!
,另一个命令用于?
例如,某人执行!foo
机器人响应"foo"
,但另一个人执行?foo
机器人响应"bar"
?
【问题讨论】:
【参考方案1】:您可以制作一个带有两个前缀的机器人并创建一个foo
命令。然后检查使用 ctx.prefix
调用命令时使用的前缀。
from discord.ext import commands
bot = commands.Bot(command_prefix=("!", "?"))
@bot.command()
async def foo(ctx):
await ctx.send("foo" if ctx.prefix == "!" else "bar")
bot.run("TOKEN")
或者您可以使用on_message
事件手动完成:
@bot.event
async def on_message(message):
if message.content.lower() == "!foo":
await message.channel.send("foo")
elif message.content.lower() == "?foo":
await message.channel.send("bar")
await bot.process_commands(message)
【讨论】:
以上是关于是否可以在 discord.py 中为不同的前缀使用不同的命令?的主要内容,如果未能解决你的问题,请参考以下文章
(discord.py) 如何使我的 setprefix 命令正常工作?