Возникли проблемы с Weather-JS и Args - PullRequest
0 голосов
/ 22 апреля 2019

У меня в боте есть команда, которая называется weather, она работает нормально, но я хочу отправить сообщение об ошибке, если пользователь пишет ее без аргументов.

Это работает, если аргументы не являются местом, но если вы пишете это без каких-либо аргументов, он ничего не отвечает

Вот код (обновлен со всем кодом)

      const Discord = require('discord.js');
const weather = require('weather-js');

exports.run = async (client, message, args) => {

    weather.find({search: args[0], degreeType: "C"}, function(err, result){
        if (err) message.channel.send(err);

        const noargs = new Discord.RichEmbed()
        .setDescription(`Input a valid location, please`)
        .setColor(0xfd5454)

        if(!result.length) {
            message.channel.send(noargs);
            return;
        }

        var current = result[0].current;
        var location = result[0].location;

Это работает, если вы пишете ", погода не существует", но еслиВы пишете "погода" без каких-либо аргументов, это не работает.PD: noargs - вставка разногласий, объявлена, но не включена в этот пост.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

... weather-js запрограммирован на ответ пользователя, если он не предоставил аргументы сообщению по умолчанию.Я хочу знать, как изменить это сообщение.

Если вы действительно хотите изменить это сообщение, а не проверять свои аргументы самостоятельно, как подсказал @PLASMA chicken, сообщение находитсяв строке 31 из weather-js/index.js.

0 голосов
/ 23 апреля 2019

Если вы хотите проверить, нет ли аргументов там, где это указано, вы можете сделать:

if(args.length == 0) return message.channel.send('You need to provide a city');
...