将消息记录到文本文件

时间:2019-11-14 23:05:03

标签: javascript node.js discord discord.js

我正在尝试创建一个不和谐的bot,该bot读取最后一条消息,如果它包含custom fields:,然后以一条消息进行响应。我想将整个邮件记录到txt文件中。我该怎么办?

const Discord = require('discord.js');
const client = new Discord.Client();
const token = 'mytoken'; // Token goes here.

client.login(token); // login the bot with your token.

client.on('message', message => {


    if(message.content.toLowerCase().includes('custom field:'))
        message.channel.send("Custom field detected");


});

2 个答案:

答案 0 :(得分:0)

fs.appendFile('log.txt', message.content, (err) => {
  if (err) throw err;
});

除非需要多个日志文件,否则需要使用附加。 您还需要包含fs。

const fs = require('fs');

答案 1 :(得分:0)

您将需要FS(文件系统):

npm install fs

安装后,请确保可以在代码中使用它:

const fs = require('fs');

然后在使用它时(我建议您不要将其放置在拥有命令的位置,这意味着您要制作另一件client.on('message', message)东西)

var readmessagefile = fs.readFileSync('{File Name}', 'utf-8'));
var writemessagefile = fs.writeFileSync('{File Name}', 'Time - ' + message.createdAt + ' User - ' + message.member.user.username + ': ' message.content + readmessagefile)

所有这些以及您的代码看起来像这样:

const Discord = require('discord.js');
const client = new Discord.Client();
const token = 'mytoken'; // Token goes here.
const fs = require('fs');

client.login(token); // login the bot with your token.

client.on('message', message => {
     var readmessagefile = fs.readFileSync('{File Name}', 'utf-8'));
     var writemessagefile = fs.writeFileSync('{File Name}', 'Time - ' + 
     message.createdAt + ' User - ' + message.member.user.username + ': ' 
     message.content + readmessagefile)
});
client.on('message', message => {
     //Commands here
});

确保创建一个.txt文件,然后将“ {{File Name}””更改为您的文件名加上“ .txt”。

希望对您的机器人有帮助。