最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

由Discord.js中的用户批量删除邮件

网站源码admin21浏览0评论

由Discord.js中的用户批量删除邮件

由Discord.js中的用户批量删除邮件

我要删除特定用户发布的所有消息。到目前为止,我有:

async function clear() {
    let botMessages;
    botMessages = await message.channel.fetch(708292930925756447);
    message.channel.bulkDelete(botMessages).then(() => {
        message.channel.send("Cleared bot messages").then(msg => msg.delete({timeout: 3000}))
    });
}
clear();

将botMessages传递给bulkDelete()似乎有问题,它想要一个数组或集合,但显然botMessages不是数组或集合。

我该如何将botMessage传递给bulkDelete,还是我要把这完全错了?

回答如下:

[message.channel.fetch()获取消息发送到的通道,而不是该通道中的消息。

您需要获取一定数量的消息并对其进行过滤,以便仅接收由您的漫游器发送的消息,然后将它们传递给bulkDelete()

messages = await message.channel.messages.fetch({
    limit: 100 // Change `100` to however many messages you want to fetch
}).then(await (messages) => { 
    const botMessages = [];
    await messages.filter(m => m.author.id === BOT_ID_HERE).forEach(msg => botMessages.push(msg))
    message.channel.bulkDelete(botMessages).then(() => {
        message.channel.send("Cleared bot messages").then(msg => msg.delete({
            timeout: 3000
        }))
    });
})
发布评论

评论列表(0)

  1. 暂无评论