【问题标题】:SyntaxError : Unexpected token }SyntaxError : 意外的标记 }
【发布时间】:2018-08-02 06:47:35
【问题描述】:

我正在discord.js 中编写一个 Discord 机器人。我已经了解了一些代码,并且找到了解决问题的方法没有问题,但最近我尝试添加一个帮助命令。每次我运行 cmd 我都会得到this

我的代码是

//tips
// '\n' = new line


//Requited
const Discord = require("discord.js");
const YTDL = require("ytdl-core");
const fs = require('fs');
const prefix = "!";
const TOKEN = ("This is where my token is");
const commands = JSON.parse(fs.readFileSync('commands.json', 'utf8'));


var bot = new Discord.Client();
var servers = {};


//Boot Up
bot.on("ready", function() {
  console.log("Logged in and Ready!");
bot.user.setStatus('Online');
bot.user.setActivity('Roblox4Lyfe <3');
});


//Commands
bot.on('message', message => {
    let msg = message.content.toUpperCase();
    let sender = message.author;
    let cont = message.content.slice(prefix.length).split(" ");
    let args = cont.slice(1);

    //Help System
    if (meg.startsWith(prefix + 'HELP')) {
        if (msg === '${prefix}HELP') {
            const embed = new Discord.RichEmbed()
            .setColor(0x1D82B6)
        let commands = 0;
        for (var cmd in commands) {
            if (commands[cmd].group.toUpperCase() === 'USER') {
                commandsFound++;
                embed.addFeild('${commands[cmd].name}', 'Description: ${commands[cmd].desc}\nUsage: ${prefix + commands[cmd].usage}');
            }
            embed.setFooter('Our Commands.');
            embed.setDescription('Command found');
        }
        message.author.send({embed});
        message.channel.send({embed: {
            color: 0x1D82B6,
            description: 'Check your DMs buddy boy ${message.author}'
        }});
        }
    }
    //Purge system
    if (msg.startsWith(prefix + 'PURGE')) {
        async function purge() {
            message.delete();
            if (!message.member.roles.find("name", "Guild Officer")) {
                message.channel.send('You need a higher rank for this command.');
                return;
            }
            if (isNaN(args[0])) {
                message.channel.send('Make sure to use a number');
                return;
            }
            const fetche = await message.channel.fetchMessages({limit: args[0]});
            console.log(fetched.size + ', Found the little cunt(s)');
            message.channel.bulkDelete(fetched)
                .catch(error => message.channel.send('Error: With the purge command, \nPlease report this to MeanTeacher.'));
    }
    purge ();
    }
});


//Token
bot.login(TOKEN);

在另一个文件中,我还存储了我的命令的基础知识

{
    "Help": {
        "name": "Help",
        "group": "User",
        "desc": "Displays commands.",
        "usage": "help",
    },
    "Purge": {
        "name": "Purge",
        "group": "Guild Officer",
        "desc": "Clears Messages",
        "usage": "purge <number>",
    }
}

现在我知道这对你们很多人来说很基础,但我仍然被困在这里 很抱歉,如果这很简单并且您不想提供帮助,但如果可以的话,我会非常感激,谢谢!

【问题讨论】:

  • 看起来你有一个错误类型的 .json 文件,是整个 commands.json 文件吗?
  • 每次获取图片文件? ....不要将文本输出作为图像发布;复制文本并将其粘贴到您的问题中!
  • @NubCoder - 请回复这些 cmets 或我的回答?

标签: javascript bots discord discord.js


【解决方案1】:

您遇到的错误是由于您的 JSON 文件中有 2 个额外的逗号 ","。每个命令对象的最后一个属性("Help""Purge")最后不能有逗号 ","

所以在您的"Help" 命令对象中,删除"usage": "help", 行末尾的逗号,以便命令对象现在看起来像:

"Help": {
    "name": "Help",
    "group": "User",
    "desc": "Displays commands.",
    "usage": "help"
}

在您的"Purge" 命令对象中,删除"usage": "purge &lt;number&gt;", 行末尾的逗号,以便命令对象现在看起来像:

"Purge": {
    "name": "Purge",
    "group": "Guild Officer",
    "desc": "Clears Messages",
    "usage": "purge <number>"
}

所以你最终的json 文件应该是这样的:

{
    "Help": {
        "name": "Help",
        "group": "User",
        "desc": "Displays commands.",
        "usage": "help"
    },
    "Purge": {
        "name": "Purge",
        "group": "Guild Officer",
        "desc": "Clears Messages",
        "usage": "purge <number>"
    }
}

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 2020-10-03
    • 2022-01-26
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 2016-04-21
    • 2020-12-03
    • 2022-11-28
    相关资源
    最近更新 更多