我正在尝试制作一个向输入命令的用户发送DM的机器人,但是当我输入命令时,在PyCharm或Discord中的DM中我没有得到错误代码。我在做错什么吗?
@client.command(aliases=['manage'])
async def oversee(message):
await message.author.send('Hello World!')
答案 0 :(得分:1)
根据discord.py documentation,当您使用commands
框架创建命令时,第一个参数必须为ctx
:
@client.command(aliases=['manage'])
async def oversee(ctx):
await ctx.author.send('Hello World!')
如果是on_message
事件,则您的函数将按预期运行:
@client.event
async def on_message(message):
if message.content.startswith("!manage") or message.content.startswith("!oversee"):
await message.author.send('Hello World!')
但是,我不建议使用on_message
事件来创建命令,而使用commands
框架会更轻松,更高效。