Discord Bot - 如何删除倒数第二条最近的消息?

Posted

技术标签:

【中文标题】Discord Bot - 如何删除倒数第二条最近的消息?【英文标题】:Discord Bot - How to delete the second to last recent message? 【发布时间】:2021-04-20 02:56:53 【问题描述】:

我是新手,所以如果这听起来像一个愚蠢的问题,我想提前道歉。我不知道如何让我在 python 中编程的不和谐机器人删除倒数第二条最近的消息。

我知道有多种方法可以根据用户输入删除消息,例如:await message.channel.purge(limit=1),它只是根据上面设置的 if 语句中的不同条件删除服务器中的最新消息。但是,我不确定如何跳过最新消息并删除第二条消息。

例如,如果我当前在不和谐频道中有两条消息:

# Message One (sent before)
# Message Two (sent after)

消息一在消息二之前发送,我想在不删除消息二的情况下删除消息一。消息一附加了一个特殊部分(内容),但我找不到任何可以根据消息内容删除消息的方法。

任何帮助将不胜感激,并提前致谢!

【问题讨论】:

【参考方案1】:

也许这会有所帮助:

messageCount = 1
async for msg in message.channel.history(limit = 2):    # Gets the last two messages
    if messageCount == 1:   # Skipping the last message
        messageCount += 1
        continue

    if 'my content' in msg.content.lower():     # Check if the message has some content
        await msg.delete()  # Deleting that message

【讨论】:

以上是关于Discord Bot - 如何删除倒数第二条最近的消息?的主要内容,如果未能解决你的问题,请参考以下文章

如何要求用户向 Discord Bot 输入第二个输入?

奇怪的错误,collectionView 视图滚动到倒数第二条消息,当试图滚动到底部

如何让我的 Discord Bot 删除服务器中的所有频道

从数据库中检索每个用户的倒数第二条记录

(Discord.js) Bot 删除所有发布的 URL

Discord Bot 读取单行然后删除它们