【发布时间】:2020-05-16 11:30:07
【问题描述】:
所以我正在制作一个机器人,它将频道中发送的所有消息存储到我计算机上的 txt 文件中。由于我没有一直打开我的计算机并且我在我的计算机上运行机器人,它会在存储在 .txt 文件中的消息中留下空白。我正在努力做到这一点,以便我的机器人能够获取自离线以来发送的所有消息并将所有消息存储在我的文件中。我创建了一个保存每条消息的消息 ID 的 txt 文件,它将覆盖最后一条消息,因此它基本上只是一个包含一个消息 ID 的文件。当我的机器人启动时,一个布尔变量被实例化为 false,一旦启动过程完成,它将被设置为 true。这是我目前所拥有的:
var latest;
var beenRunning = false;
bot.on('message', msg => {
latest = msg.id;
if(beenRunning == false) {
msg.channel.messages.fetch(latest, {limit: 100})
.then(messages =>
//code to get messages since last online
)
.catch(console.error);
beenRunning = true;
}
else {
messageTest(msg);
}
fs.writeFile('lastMsg.txt', latest, (err) => {
if (err) throw err;
})
});
自从使用 fetch() 方法离线后,我不确定如何获取每条消息。我该怎么做?
【问题讨论】:
标签: javascript discord.js