我正在使用Python编写Discord bot(v.3.6.1)。其中一个功能检测通道中发送的所有消息,处理它们,然后响应所述通道中的消息。 (至少,这就是我想要它要做的事情。)
我试过这个:
@bot.event
async def on_message(message):
await bot.say(message.content)
该功能在发送消息时响应,但不是以我想要的方式响应。我反而得到一个错误:
discord.errors.InvalidArgument: Destination must be Channel, PrivateChannel, User, or Object. Received NoneType
我该如何解决这个问题?非常感谢!
答案 0 :(得分:1)
您不能在命令之外使用bot.say
。
除了命令之外,我可以在其他地方使用bot.say吗?
没有。由于魔法的运作方式,它们只能在命令内部工作。
要让机器人重复发送的每条消息,您可以使用send_message
。以下是一个例子。
@client.event
async def on_message(message):
await client.send_message(message.channel, message.content)