我正在使用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);
但我无法弄清楚下一步该做什么:/
提取消息是一些奇怪的对象,我不知道如何操纵:(
有人知道怎么做吗?
答案 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();
});
});
您可能还需要以下这些:Collection,Message。