{discord.py}从特定用户删除特定消息

时间:2020-05-26 20:49:04

标签: discord message discord.py

我想使用discord.py从特定用户删除特定消息 用户的id是:462616472754323457 他无法发送的消息:lmao 因此,如果他发送lmao,它将删除该邮件并发送“您无法执行<@ 462616472754323457>

2 个答案:

答案 0 :(得分:0)

尝试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进一步增强此功能。)

答案 1 :(得分:0)

您可以使用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}")

参考: