有没有办法检查Discord上的message.content是否包含文件?

时间:2018-01-15 00:59:22

标签: python python-3.x discord discord.py

在我的Discord服务器上,我有一个#selfies频道,人们可以在这里分享照片并聊聊它们。我时不时地想要修剪所有不包含文件/图像的消息。我试过检查文档,但我看不到有任何办法这样做。这不可能吗?

3 个答案:

答案 0 :(得分:1)

您可以遍历每个message并执行:

if not message.attachments: ...

message.attachments会返回一个列表,您可以使用if not

检查它是否为空

答案 1 :(得分:0)

我对We are not support Word Online不太熟悉(因为我使用discord.py),但如果这与discord.js类似,则应该有discord.js。此事件将在每条消息上运行,这对于您现在正在搜索的内容非常理想。现在为伪代码......

message event

一般的想法是使用//written in javascript Message event: On each message { if(message.attachments.size <= 0) { message.delete(); } } ,(在每个message event上),检查message的附件列表是否大于0(表示包含文件或图片),如果不是,请调用python中的message函数删除delete()

答案 2 :(得分:0)

根据@ADug 的回答,message.attachments 是消息中的 discord.File 列表。但是,discordpy 有一些方法可以帮助您清除消息!

您可以在 #selfies 频道上使用 channel.purge

def has_no_messages(message):
    return len(message.attachments) == 0
await channel.purge(limit=100, check=has_no_messages) # Specify an appropriate limit

您也可以使用 lambda 表达式在一行中执行此操作:

await channel.purge(limit=100, check=lambda x: len(x.attachments) == 0)