Проблема с префиксом в Discord. js (включая .toUpperCase ()) - PullRequest
0 голосов
/ 21 марта 2020

По сути, я разрабатывал бота уже несколько недель, используя библиотеку discord. js, и недавно столкнулся с небольшой, но важной проблемой. По сути, когда я объявляю свой аргумент, я также сделал так, чтобы содержимое сообщения (message.content) было написано заглавными буквами с помощью .toUpperCase (). По сути, при этом независимо от типа префикса, который вы вводите (символьно), программа будет считывать его действительным.

Только для примера:! Help - должно работать, однако, если я введу .help, оно также будет считаться действительным.

В любом случае, вот код. Я ценю всю помощь!

bot.on('message', message =>{
    let args = message.content.toUpperCase().substring(PREFIX.length).split(" ");
    const sender = message.member;

    switch(args[0])
    {
    case 'HELP':
            message.reply("I've sent you some documentation on all the commands that you can use...").then(d_msg => {d_msg.delete(3000); });
            message.delete(3000);
            const attachment = new Attachment('./UtilityBot_Documentation.txt') 
            message.author.send('[Education] Bot - Documentation');
            message.author.send(attachment);
            break;
    }
})

1 Ответ

0 голосов
/ 21 марта 2020

Учебное пособие. js охватывает проблему, очень похожую на ту, которую вы пытаетесь сделать. Я рекомендую вам проверить это. Страница, на которую я привел ссылку в c, очень похожа на вас, но стоит прочитать ее полностью, если вы еще этого не сделали. В общем, я бы включил следующую строку чуть выше, где вы установили аргументы.

if (! Message.content.startsWith (PREFIX)) return;

What I Я делаю здесь, говорит, что если сообщение не начинается с префикса, остановить выполнение, пока не будет отправлено новое сообщение. Возможно, я что-то упустил, но обязательно ознакомьтесь с руководством. Это действительно хорошо написано.

https://discordjs.guide/creating-your-bot/commands-with-user-input.html#basic -аргументы

...