User 1: Hello!
User 1: How are you?
User 2: I'm good.
User 2: hbu
User 3: hey guys!
User 1: i'm doing fine
我正在尝试删除来自用户1和用户2的第二条消息,这样任何用户都只能发送一条消息。 我被告知使用channel.history
,但我想不出一种方法来比较消息的作者,以确保他们不是同一个人。
这就是我想要的:我想防止双重张贴:
User 1: Hello! How are you?
User 2: I'm good, hbu.
User 3: hey guys!
User 1: i'm doing fine
我只是不知道如何使用channel.history
来执行此操作。
您可以使用on_message()
事件,并为此将通道历史记录的限制设置为1:
@bot.event
async def on_message(message):
recent_author = (await message.channel.history(limit=1).flatten())[0].author
if message.author == recent_author:
await message.delete()
除非另有指定,否则history()
coroutine首先获取最新消息,因此您可以将获取最新消息的限制设置为1。
参考资料:
Messageable.history()
message.author
message.delete()