使用bulkDelete(discord.js)在服务器中删除我的邮件

使用bulkDelete(discord.js)在服务器中删除我的邮件,discord,discord.js,Discord,Discord.js,我不熟悉discord.js,但我知道我可以使用bulkDelete删除我的邮件,它会将它们全部删除,即使它们已经超过2周了。我在一台每月手动调节一次的服务器上清除邮件,不用说这要花很长时间。我想知道是否有人能帮我做一个命令,每当我调用它时,它就会自动执行 谢谢, K我将设置一个递归函数,检查通道中是否有消息(每次最多100条):如果没有消息,它将停止,否则它将删除消息并重新启动 功能清理(通道,极限=100){ 返回channel.fetchMessages({limit})。然后(异步收集=

我不熟悉discord.js,但我知道我可以使用bulkDelete删除我的邮件,它会将它们全部删除,即使它们已经超过2周了。我在一台每月手动调节一次的服务器上清除邮件,不用说这要花很长时间。我想知道是否有人能帮我做一个命令,每当我调用它时,它就会自动执行

谢谢,
K

我将设置一个递归函数,检查通道中是否有消息(每次最多100条):如果没有消息,它将停止,否则它将删除消息并重新启动

功能清理(通道,极限=100){
返回channel.fetchMessages({limit})。然后(异步收集=>{
让我的=collected.filter(m=>m.author.id=='your_id_here');//这只获取您的消息
如果(矿山尺寸>0){
等待频道。删除(我的,真);
清洁(通道);
}else channel.send(“频道现在为空!”).delete(5000);//此消息在5秒后删除
});
}
您可以将此想法应用于现有的命令解析器,或者,如果您不知道如何实现,请尝试:

client.on('message',msg=>{
如果(msg.author.bot | | msg.author!=您)返回;
//对你来说,我指的是你的用户对象,用来检查权限
let command='clean',//命令的名称
args=msg.content.split(“”);
if(args[0].toLowerCase()==命令)

clean(msg.channel,!isNaN(args[1])?args[1]:未定义);//我刚刚找到了一种过滤消息的方法。 您可以获取消息,然后检查每条消息是否属于您

await message.channel.fetchMessages({
  limit: 100
}).then((msgCollection) => {
  msgCollection.forEach((msg) => {
    if(msg.author.id == message.author.id) {
      msg.delete();
    }
  })
});

这会删除所有的消息,我只是想让它搜索我自己的并删除它们,即使它们已经超过2周了。