Запись json файлов после реакции - PullRequest
0 голосов
/ 17 апреля 2020

Итак, я получил свой код, добавил несколько строк кода fs, но я понятия не имею, как реализовать это в коде. Я хочу, чтобы каждый раз, когда пользователь реагировал на ботов с , я хочу, чтобы бот отправил сообщение (BufferClear), а затем добавил 1 (ровно одну) точку к идентификатору пользователя. так, например, бот отправляет (Buffer), затем я реагирую с , и я хочу, чтобы бот ответил с BufferClear (что я получил, я просто не знаю, как реализовать баллы) и добавить 1 балл на мое удостоверение личности.

const Discord = require('discord.js');
const { prefix, token } = require('./config.json');
var lastbuffer;
lastbuffer = 0;
const client = new Discord.Client();
const BufferClear = new Discord.MessageEmbed()
    .setColor('#1DFF98')
    .setTitle('**Buffers are clear!**')
    .setDescription('♥️ Buffers are CLEAR! ♥️')
    .addField("Checked by: ", "Somebody", true)
    .setTimestamp()
    .setFooter('Buffers clear. Now go grind!')
const BufferNClear = new Discord.MessageEmbed()
    .setColor('#FF0000')
    .setTitle('Buffers are NOT clear!')
    .setDescription('Enemies are building a cannon on us!')
    .addField("Triggered By: ", 'user.id', true)
    .addField("Time triggered: " + 'rdg', true)
    .setTimestamp()
    .setFooter('we got splitL')


const fs = require("fs");
let points = JSON.parse(fs.readFileSync("./bpoints.json", "utf8"));
var bpoints = 0

client.once('ready', () => {
    console.log('Ready!');


});
client.on('message', message => {
    if (message.content.startsWith(`${prefix}start`)) {
        message.delete()
        setInterval(function () {
            lastbuffer++;
            const Buffer = new Discord.MessageEmbed()
                .setColor('#8300FF')
                .setTitle("**It's time to check buffers!**")
                .setDescription("**It's been **" + "`" + lastbuffer + " Hour" + "`" + "** since last buffercheck, <@&675688526460878848>**." + " **Check now!**")
                .setThumbnail('https://art.pixilart.com/88534e2f28b65a4.png')
                .setFooter('WEEEEEWOOOOO')
                .setTimestamp();
            client.channels.cache.get("700489735352746045").send('<@&675688526460878848>').then(msg => {
                msg.delete();
            })
            client.channels.cache.get("700489735352746045").send(Buffer).then(msg => {
                msg.react('✅');
                msg.react('?');
                msg.delete({ timeout: 9000 })
            });
        }, 10000)
    }
    message.awaitReactions((reaction, user) => user.id != message.author.id && (reaction.emoji.name == '✅' || reaction.emoji.name == '?'),
        { max: 1, time: 2147483647 }).then(collected => {


            if (collected.first().emoji.name == '✅') {
                message.delete()
                client.channels.cache.get("700489735352746045").send(BufferClear);
                lastbuffer = 0;;
            } else {
                message.delete()
                client.channels.cache.get("700489735352746045").send("<@&675688526460878848> Stay alert! Enemies on our walls!")
                client.channels.cache.get("700489735352746045").send("<@&675688526460878848> Stay alert! Enemies on our walls!")
                client.channels.cache.get("700489735352746045").send("<@&675688526460878848> Stay alert! Enemies on our walls!")
                client.channels.cache.get("700489735352746045").send(BufferNClear)
                lastbuffer = 0;
            }
        }
        ).catch(() => {
            fs.writeFile(".bpoints.json", JSON.stringify(bpoints), (err) => {
                if (err) console.error(err)
            })
        }
        )
})
client.login(token);
...