Как проверить, находится ли строка в JSON файле, и получить номер записи строки - PullRequest
1 голос
/ 17 июня 2020

В настоящее время я кодирую Discord Bot с помощью Discord. js и Node.js.

Я не хочу писать команды непосредственно в модуль JavaScript, поэтому я решил создать json файл с командами и awnsers ... но я не знаю, как действовать.

Мой json файл выглядит так:

{
    "test": "test2222",
    "second": "test33333"
}

Вот как мой Javascript файл выглядит так:

const Discord = require('discord.js')
const fs = require('fs')

const config = JSON.parse(fs.readFileSync("config.json", "utf-8"))
const cmds = JSON.parse(fs.readFileSync("cmds.json", "utf-8"))

let client = Discord.client = new Discord.Client()

client.on('ready', () => {
    console.log(`Logged in as ${client.user.username}`)
})

function execCmd(args, cmd, jsonstring) {
    msg.channel.send(cmds.jsonstring)
}

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

    let cont = msg.content,
        author = msg.member,
        chan = msg.channel,
        guild = msg.guild

    if (author.id != client.user.id && cont.startsWith(config.prefix))

        // ::COMMAND
        var invoke = cont.split(' ')[0].substr(config.prefix.lenght)
            args = cont.split(' ').slice(1)

        for (let i=1 ; i < 2 ; i++)
        {
            console.log(i, invoke)
            if (cmds.list[i] == invoke) {
                console.log("yes")
                execCmd(args, cmd, i)
            }
        }

})

client.login(config.token)

1 Ответ

0 голосов
/ 18 июня 2020

Вместо вашего for l oop вы можете просто попробовать это:

if (cmds[invoke]) {
    console.log('Command found : ' + invoke);
    return message.channel.send(cmds[invoke]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...