计算来自频道的消息
Count messages from a channel
我想清理我所有的频道,我正在做这件事。
问题是,很长很长...
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);
});
频道 n°3 和频道 4 改变了位置。
谢谢
有两种方法。
克隆
您可以使用 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);
注意:不是最优雅的解决方案,因为现在是深夜,但这应该可以帮助您。
我想清理我所有的频道,我正在做这件事。 问题是,很长很长...
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);
});
频道 n°3 和频道 4 改变了位置。
谢谢
有两种方法。
克隆
您可以使用 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);
注意:不是最优雅的解决方案,因为现在是深夜,但这应该可以帮助您。