Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法检查Discord上的message.content是否包含文件?_Python_Python 3.x_Discord_Discord.py - Fatal编程技术网

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

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,那么应该有一个消息事件。此事件将在每

在我的Discord服务器上,我有一个自拍频道,人们可以在那里分享照片并聊天。时不时,我想以某种方式删减所有不包含文件/图像的消息。我已经尝试过检查文档,但我看不到任何方法可以做到这一点。这是不可能的吗?

您可以反复浏览每一条
消息,并执行以下操作:

如果不是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)

我想你应该看看要么