自动清除Discord中发布的最近10张图片(discord.js)

时间:2018-02-19 11:39:56

标签: javascript discord discord.js

我正在尝试为我的机器人制造一个不和谐的系统,它将清除最后发布的10张图片&在聊天中上传(链接和上传),是否有人知道如何编写此代码?这是我的想法(有点)

if (message.channel.type == 'general') {
    if (*the last 10 messages that have been sent are images*) {
         message.delete(); // delete last 10 images
    }
}

1 个答案:

答案 0 :(得分:1)

通过将limit设置为<Collection>.size,您可以使用fetchMessages方法检索包含过去10 promisecollectionmessages 10使用ChannelLogsQueryOptions

使用这些消息集合,正如@Chris Satchell在评论中提到的那样,您可以遍历它并检查所有消息是否存在message.attatchments。或者,您可以检查整个邮件集合的attachments的{​​{1}}是否等于10,如果是,您可以继续执行下一步。

现在您有一组要删除的邮件,只需将此集合传递到方法bulkDeletemessages参数中。

因此,您在TextChannel中获取最后10条消息,然后检查所获取的消息集合的attachments属性,然后在此处调用bulkDelete方法集合。