我想清理我所有的频道,而且我正在那里。 问题是,它非常非常长......
message.guild.channels.cache.forEach(c => {
if (c.isText()) {
let CompteurMessage = 0;
let CompteurSuppression;
c.messages.fetch().then(messages => {
messages.forEach(msg => {
msg.delete();
});
});
c.send(`Your server is the best, ${message.author}.`);
}
});
您知道如何加快速度吗,例如计算频道中的消息数量?
编辑: 现在,我克隆了频道,但它们改变了位置......
c.clone().then((clone) => {
clone.send(`Love ${message.author}.`);
const originalPosition = c.position;
c.delete();
clone.setPosition(originalPosition);
});
第 3 和第 4 频道改变了位置。
谢谢
答案 0 :(得分:1)
有两种方法可以做到这一点。
您可以使用 TextChannel.clone 克隆 TextChannel。 这将阻止您使用 BulkDelete 的 14 天限制。
const newChannel = await message.channel.clone();
message.channel.delete();
newChannel.send('The channel has been purged.');
您可以非常轻松地删除过去 14 天内的所有邮件。
await message.channel.messages.fetch();
const messageCount = message.channel.messages.cache.map(x => x).length;
message.channel.bulkDelete(messageCount, true);
注意:不是最优雅的解决方案,因为它是深夜,但这应该可以帮助您。