【发布时间】:2020-03-05 23:15:45
【问题描述】:
所以我的机器人 DM 的用户并向他们提问,但我需要能够在频道中看到他们的回复。
到目前为止,我有这个:
@bot.event
async def on_message(message):
channel = bot.get_channel(642759168247463937)
await channel.send('message')
但它开始于任何消息在任何通道中发送并且它也响应自己,从而导致垃圾邮件的无限循环。
我是 Discord.py 的新手,所以老实说,我不知道如何解决这个问题。
【问题讨论】:
-
使用
Client.wait_for等待协程内的消息。 -
关于垃圾邮件。 on_message 事件表示函数内部编写的代码在 bot 收到消息时执行,这包括当 bot 收到来自自身的消息时,它会无限期地回复自己。为防止垃圾邮件源源不断,您可以在开始时添加检查,详情请参阅How can make my Python Discord bot I check if a message was sent by the bot itself?。
标签: discord.py