Не могу получить GIF-файлы с Giphy, используя Discord. js, делая бот - PullRequest
0 голосов
/ 07 апреля 2020
if (command === 'fetar') {
    var deadline = new Date("apr 19, 2020 00:00:00").getTime();
    var currentDate = new Date().getTime();
    var remainingTime = deadline - currentDate;

    var days = Math.floor(remainingTime / (1000 * 60 * 60 * 24)); 
    var hours = Math.floor((remainingTime %(1000 * 60 * 60 * 24))/(1000 * 60 * 60)); 
    var minutes = Math.floor((remainingTime % (1000 * 60 * 60)) / (1000 * 60)); 
    var seconds = Math.floor((remainingTime % (1000 * 60)) / 1000);

    giphy.search('gifs', {"q": "food"})
        .then((response) => {
            console.log(response);
            var totalResponses = response.data.length;
            var responseIndex = Math.floor((Math.random() * 10) + 1) % totalResponses;
            var responseFinal = response.data[responseIndex];
            message.channel.send('? **E N D   O F   L E N T** ?');
            message.channel.send(`**${days}** days, **${hours}** hrs, **${minutes}** mins, **${seconds}** secs`, {
                files: [responseFinal.images.fixed_height.url]})
        })
        .catch (() => {
            console.log('Ya messed up again...')
        })

}

Пытался использовать этот код, но безрезультатно, он переходит непосредственно к моей ошибке и не генерирует GIF. Я попытался записать в лог шаги, ведущие к этому, но ничего не отображалось.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Я был нелепым, мой ключ API был извлечен из файла конфигурации, но когда я инициализировал клиент giphy, я назвал ключ как строку «giphyAPIToken», а не как переменную giphyAPIToken lol. Извините за беспокойство, если у вас возникла та же проблема, и ваш код верен, проверьте ваш ключ API !!!

0 голосов
/ 07 апреля 2020

Вы, вероятно, не используете ключ API, в соответствии с документами giphy 403 означает состояние

Вы не были авторизованы для выполнения запроса; скорее всего, это указывает на проблему с вашим ключом API.

Если вы не используете ключ API, вы можете получить его, следуя этому руководству

...