discord.js 代码在 heroku 主机上不起作用

Posted

技术标签:

【中文标题】discord.js 代码在 heroku 主机上不起作用【英文标题】:discord.js code not working on heroku hosting 【发布时间】:2020-12-11 00:29:39 【问题描述】:
exports.run = (client, message, args) => 
    const  get  = require('snekfetch')
    const Discord = require('discord.js')
    message.delete()
    try 
        get('https://dog.ceo/api/breeds/image/random').then(res => 
            const embed = new Discord.MessageEmbed()
            .setImage(res.body.message)
            return message.channel.send(embed);
        );
     catch(err) 
        return message.channel.send(err.stack);
    

这是命令,在本地主机上这个命令有效,是被heroku阻止还是什么?

【问题讨论】:

嗯,日志是怎么说的?在什么情况下它不起作用? 欢迎来到 Stack Overflow。请使用tour 并阅读How to Ask。 “不工作”是什么意思? 令人困惑的是 bsc 没有任何错误 @Chris 抱歉 :) - 不工作 - 如果我写 !dog 它会删除我的消息但它不发送图像 如果我使用相同的代码但使用 !cat 命令(另一个 api)它可以工作,也许这个 api 在 heroku 上被阻止了 【参考方案1】:

snekfetch 已被弃用。而是使用node-fetch


例子:

const fetch = require("node-fetch");

fetch("https://dog.ceo/api/breeds/image/random")
 .then((res) => res.text())
 .then((body) => 
  const embed = new MessageEmbed().setImage(body);
  message.channel.send(embed);
 );

【讨论】:

@Liones100 你能给我准备好的代码示例吗bcs我不明白这个节点:( erorr : embed.image.url: 不是格式正确的 URL。你应该注意这一点:.setImage(res.body.message)这是图像的url代码你可以再编辑一次吗:)?谢谢 bcs 我不知道该怎么做 所以这次你也能帮帮我吗:D?

以上是关于discord.js 代码在 heroku 主机上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试在 heroku 上部署我的 node.js discord 机器人,但我不断收到错误

discord.js 机器人在本地工作,但不在 Heroku 上

Discord.js 机器人的 Heroku 构建失败

错误:在 Heroku 上找不到模块 Discord.js

使用 2 个 Dynos 在 Heroku 上运行 Discord.js 机器人会触发 2 个事件。每个 websocket 连接 1 个

在 Heroku 上托管 discord.js 机器人