【问题标题】:Cannot get gifs with giphy using discord.js, making a bot无法使用 discord.js 获取带有 giphy 的 gif,制作机器人
【发布时间】:2020-07-19 02:15:47
【问题描述】:
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。我试图通过控制台记录导致此问题的步骤,但没有显示任何内容。

【问题讨论】:

  • 你能记录你得到的错误吗?
  • 没有错误,我刚刚得到了上面显示的问题,所以控制台只是说“你又搞砸了......”
  • .catch ((e) => { console.log(e) })我想你可以用那个
  • { status: 403, error: null, statusText: 'Forbidden' }
  • 作为旁注,为什么要对时间戳进行一些复杂的划分,而不是仅使用 Date 类的内置属性?前hours = new Date().getHours()

标签: javascript node.js discord.js giphy giphy-api


【解决方案1】:

根据giphy's docs 403 状态表示,您可能没有使用 API 密钥

您无权提出请求;这很可能表明您的 API 密钥存在问题。

如果您没有使用 API 密钥,您可以通过关注 this guide 获取它

【讨论】:

  • 我使用的是 SDK 版本,而不是常规 API 版本,您认为这可能是问题所在吗?
  • 其实我只是使用了常规的 API 密钥,它仍然给了我同样的错误,所以我很确定我的密钥是正确的并且初始化正确。
  • 您是否检查过 API 密钥是否正确?你可以在这里查看:developers.giphy.com/dashboard
【解决方案2】:

我很荒谬,哈哈,我的 API 密钥是从配置文件中提取的,但是当我初始化 giphy 客户端时,我将密钥称为字符串“giphyAPIToken”,而不是变量 giphyAPIToken 哈哈。如果您有同样的问题并且您的代码是正确的,请检查您的 API 密钥!

【讨论】:

    猜你喜欢
    • 2019-12-21
    • 2017-05-31
    • 2017-10-30
    • 2018-06-05
    • 2021-02-01
    • 1970-01-01
    • 2021-04-13
    • 2020-08-16
    • 2021-05-04
    相关资源
    最近更新 更多