如何删除特定邮件?

时间:2018-06-03 14:36:28

标签: javascript node.js discord.js

我正在使用node.js编码discord bot。 我想在调用函数时删除以“Something”开头的所有消息。 所以我尝试使用fetchMessages从频道获取所有消息,然后使用for循环删除它们:

for (var i = 0; i < fetchedMessage.length; i++) {
  if(fetchedMessage[i]...) {
    fetchedMessage[i].delete();
  }
}

我已经开始:

var allMessage = channel.fetchMessages({ limit: 10 });
console.log("All Message = ");
console.log(allMessage);

但我无法弄清楚下一步该做什么:/
提取消息是一些奇怪的对象,我不知道如何操纵:(
有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

TextChannel.fetchMessages()返回一个Promise,因此,要使用收集的项目,您必须使用.then()语句。如果您需要有关承诺的更多信息,请查看this
尝试这样的事情:

channel.fetchMessages({limit: 10}).then(collected => { //collected is a Collection
  collected.forEach(msg => {
    if (msg.content.startsWith("Something")) msg.delete();
  });
});

您可能还需要以下这些:CollectionMessage