Мой бот discord.js не отвечает, когда я внес в него изменения, я все еще новичок, но я не вижу, что случилось - PullRequest
0 голосов
/ 24 сентября 2019

вот код,

const Discord = require('discord.js')
const Keyv = require('keyv');
const client = new Discord.Client()
const prefixes = new Keyv();
const prefix = '/';
const eris = require('eris')

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

client.on('message',async message => {
    if (message.author.bot) return;

    let args;
    // handle messages in a guild
    if (message.guild) {
        let prefix;

        // if we found a prefix, setup args; otherwise, this isn't a command
        if (!prefix) return;
        args = message.content.slice(prefix.length).split(/ +/);
    } else {
        // handle DMs
        const slice = message.content.startsWith(prefix) ? prefix.length : 0;
        args = message.content.slice(slice).split(/ +/);
    }

    // get the first space-delimited argument after the prefix as the command
    const command = args.shift().toLowerCase();
    if (command === 'args-info') {
        if (!args.length) {
            return message.channel.send(`You didn't provide any arguments, ${message.author}!`);
        }

        message.channel.send(`Command name: ${command}\nArguments: ${args}`);
    }

    if (command === 'ping') {
        return message.channel.send('Pong!')
    }
    if ( command === 'help'){
        return message.channel.send('Sorry! I have no commands yet. You can use /ping to make me reply "Pong!"')
    }
    if(message === '(╯°□°)╯︵ ┻━┻'){
        return message.channel.send('(╯°□°)╯︵ ┻━┻ yo face.')  
    }
    if(message === '┬─┬ ノ( ゜-゜ノ)') return message.reply('thanks for returning the table.')

    if(command === 'about') return message.channel.send('Creator: mudkip989, Version: 1.0.0, Name: ' +  client.user.tag)
})

client.login(process.env.TOKEN)

Я протестировал, и бот в сети, и я использовал более простой код, который работал, но когда он у меня есть, он просто не работает.я не понимаю почему.Я внес изменения, и, возможно, мне нужно больше понять «правила» или что-то, что не работает с кодом разногласия.

1 Ответ

0 голосов
/ 24 сентября 2019
if (message.guild) {
        let prefix;

        // if we found a prefix, setup args; otherwise, this isn't a command
        if (!prefix) return;

Похоже, что все, что вы сейчас делаете, объявляет переменную с именем prefix и затем проверяет, является ли ее значение ложным.Это всегда будет иметь значение true, поскольку значение prefix не определено.

Также важно указать, что ваш let prefix; скрывает ваш глобальный конст с тем же именем.

...