Python 有没有办法检查Discord上的message.content是否包含文件?
在我的Discord服务器上,我有一个自拍频道,人们可以在那里分享照片并聊天。时不时,我想以某种方式删减所有不包含文件/图像的消息。我已经尝试过检查文档,但我看不到任何方法可以做到这一点。这是不可能的吗?您可以反复浏览每一条Python 有没有办法检查Discord上的message.content是否包含文件?,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,在我的Discord服务器上,我有一个自拍频道,人们可以在那里分享照片并聊天。时不时,我想以某种方式删减所有不包含文件/图像的消息。我已经尝试过检查文档,但我看不到任何方法可以做到这一点。这是不可能的吗?您可以反复浏览每一条消息,并执行以下操作: 如果不是message.attachments: … message.attachments返回一个列表,您可以使用if not检查它是否为空(因为我使用discord.js),但是如果这类似于discord.js,那么应该有一个消息事件。此事件将在每
消息,并执行以下操作:
如果不是message.attachments:
…
message.attachments
返回一个列表,您可以使用if not
检查它是否为空(因为我使用discord.js
),但是如果这类似于discord.js
,那么应该有一个消息事件。此事件将在每条消息上运行,非常适合您现在搜索的内容。现在是伪代码…
//written in javascript
Message event:
On each message {
if(message.attachments.size <= 0) {
message.delete();
}
}
//用javascript编写
消息事件:
在每条消息上{
如果(message.attachments.size跟进@ADug的答案,message.attachments
是消息中discord.File
s的列表。但是,discordpy
有方法帮助您清除消息
您可以在自拍频道上使用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)
我想你应该看看要么