{discord.py} 删除特定用户的特定信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了{discord.py} 删除特定用户的特定信息相关的知识,希望对你有一定的参考价值。

我想用discord.py删除一个特定用户的特定消息该用户的id是:462616472754323457他不能发送的消息:lmao所以如果他发送lmao,它会删除消息并发送 "你不能这样做<@462616472754323457&gt。

答案

你可以使用 on_message 事件,每当有消息发送时就会触发。

@bot.event
async def on_message(message):
    await bot.process_commands(message) # add this if also using command decorators
    if message.author.id == 462616472754323457 and "lmao" in message.content.lower():
        await message.delete()
        await message.channel.send(f"You can't do that, {message.author.mention}")

参考。

另一答案

尝试 discord.TextChannel.purge.

@client.event
async def on_message(message):
    if len(await message.channel.purge(limit=200, check=lambda x: ('lmao' in x.content.strip().lower()) and x.author.id == 462616572754323457)) > 0:
        await message.channel.send('You are not allowed to do that, <@462616572754323457>')

核算到机器人离线时,机器人会检查当前消息之前的200条消息,并删除任何从 462616572754323457 并有 'lmao' 中的内容。(您可以通过使用 re.)

以上是关于{discord.py} 删除特定用户的特定信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 discord.py 中记录特定用户的信息?

如何使用 Discord.py 对特定用户进行 dm?

Discord.py - 检查用户是不是具有执行命令的特定角色

如何查看特定用户在语音频道上花费的时间?[Discord.py]

discord.py - 如何为特定用户重置命令的冷却时间?

如何从特定频道狙击消息(discord.py)