KIRIK12
@KIRIK12

Почему мой бот выдает ошибку с JSON файлом?

const Discord = require("discord.js");
const fs = require('fs');
module.exports = {
	name: 'setup',
	description: 'Setup the bot',
	execute(message, args) {
        if (!args[1]) {
            let setupMess = new Discord.MessageEmbed()
            .setTitle('Настройка бота')
            .setDescription(`Введите \`verify\` после \`!setup\`, чтобы настроить верификацию,
            введите \`yournick\` после \`!setup\`, чтобы настроить смену ника.`)
            .addField('Например:', `\`!setup verify 123456789098765432\`, где \`123456789098765432\` - id канала`)
            .setColor('0x808000')
            message.channel.send(setupMess)
        }
        var verify = JSON.parse(fs.readFileSync("./servers.json", "utf8"));
        var yournick = JSON.parse(fs.readFileSync("./servers.json", "utf8"));
        if (!verify[message.guild.id]) verify[message.guild.id] = {
            verify: 0
        }
        fs.writeFile("./servers.json", JSON.parse(verify), (err) => { // Всё сохраняется в .json файл
            if (err) console.log(err)
        });
        if (!yournick[message.guild.id]) yournick[message.guild.id] = {
            yournick: 0
        }
        fs.writeFile("./servers.json", JSON.parse(yournick), (err) => { // Всё сохраняется в .json файл
            if (err) console.log(err)
        });
        if (args[1] == 'verify') {
            if (!args[2]) return
            verify[message.guild.id] = { 
                verify: args[2]
            }
            fs.writeFile("./servers.json", JSON.stringify(verify), (err) => { // Всё сохраняется в .json файл
                if (err) console.log(err)
            });
            message.author.send(verify[message.guild.id])
            message.author.send(args[2])
        }
        if (args[1] == 'yournick') {
            if (!args[2]) return
            yournick[message.guild.id] = {
                verify: `${args[2]}`
            }
            fs.writeFile("./servers.json", JSON.stringify(yournick), (err) => { // Всё сохраняется в .json файл
                if (err) console.log(err)
            });
        }
    },
};

Выдает ошибку
SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Object.execute (C:\Users\Кирилл\Documents\discord-bots\verification-bot\commands\setup.js:16:27)
    at Client.<anonymous> (C:\Users\Кирилл\Documents\discord-bots\verification-bot\index.js:140:11)
    at Client.emit (events.js:315:20)
    at MessageCreateAction.handle (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)       
    at WebSocketShard.onPacket (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (C:\Users\Кирилл\Documents\discord-bots\verification-bot\node_modules\ws\lib\event-target.js:125:16)
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
Alexandre888
@Alexandre888
Javascript-разработчик
перед работой с .json-файлом, вы должны добавить в него две фигурные скобки {}.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы