为什么我会收到一个 TypeError,上面写着:缺少 1 个必需的位置参数:'message'
Why do I get a TypeError that says: missing 1 required positional argument: 'message'
如果我运行这个代码:
@commands.Cog.listener()
async def on_message(self, ctx, message):
if message.content.startswith('/test'):
ctx.send("Test")
我收到这个错误:
TypeError: on_message() missing 1 required positional argument: 'message'
我该如何解决?
正如文档中所写,on_message 只需要 1 个参数:message
。由于您的听众似乎在 class 中,因此它只需要 self
和 message
。
如果您从参数中删除 ctx
,它应该可以工作。显然 ctx.send
将不起作用,您可以使用 message.channel.send
作为替代。还要确保使用 await
发送消息。
@commands.Cog.listener()
async def on_message(self, message):
if message.content.startswith('/test'):
await message.channel.send("Test")
https://discordpy.readthedocs.io/en/master/api.html?highlight=on_message#discord.on_message
如果我运行这个代码:
@commands.Cog.listener()
async def on_message(self, ctx, message):
if message.content.startswith('/test'):
ctx.send("Test")
我收到这个错误:
TypeError: on_message() missing 1 required positional argument: 'message'
我该如何解决?
正如文档中所写,on_message 只需要 1 个参数:message
。由于您的听众似乎在 class 中,因此它只需要 self
和 message
。
如果您从参数中删除 ctx
,它应该可以工作。显然 ctx.send
将不起作用,您可以使用 message.channel.send
作为替代。还要确保使用 await
发送消息。
@commands.Cog.listener()
async def on_message(self, message):
if message.content.startswith('/test'):
await message.channel.send("Test")
https://discordpy.readthedocs.io/en/master/api.html?highlight=on_message#discord.on_message