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