繁体   English   中英

heroku 和 nodejs 错误(Web 进程未能在启动后 60 秒内绑定到 $PORT)

[英]heroku and nodejs erorr (Web process failed to bind to $PORT within 60 seconds of launch)

我正在使用 discord.js 并且我有一个代码,如果有人在https://top.gg上为我的机器人投票,机器人将发送一条消息,但它会收到此错误

Web process failed to bind to $PORT within 60 seconds of launch

这是我的代码:

const Discord = require('discord.js')
const bot = new Discord.Client();

const DBL = require('dblapi.js');
const dbl = new DBL(process.env.DBTOKEN, { webhookPort: 5000, webhookAuth: 'password' }, bot)
dbl.webhook.on('ready', hook => {
    console.log(`Webhook running at http://${hook.hostname}:${hook.port}${hook.path}`);
  });

dbl.webhook.on('vote', vote => {
  let embed = new Discord.MessageEmbed()
  .setTitle('A user just upvoted!')
  .setDescription(`Thank you **${vote.user.tag}** for voting me!`)
  .setColor('FF000')
  .setThumbnail(vote.user.displayAvatarURL())
  let votechannel = bot.channels.cache.find(x => x.id === '775360008786280468')
  votechannel.send(embed)
})

请帮助我,将不胜感激

Heroku 实际上告诉您应该通过PORT环境变量将 Web 服务器绑定到哪个端口,您可以在节点上的process.env.PORT访问该变量。

将您的webhookPort5000更改为该变量,它应该可以工作:)

Heroku 会不时更改运行 Node 应用程序的端口。 尝试将您的 webhook 端口更改为process.env.PORT 检查下面的代码。

const Discord = require('discord.js')
const bot = new Discord.Client();

const DBL = require('dblapi.js');
const dbl = new DBL(process.env.DBTOKEN, { webhookPort: process.env.PORT || 5000, webhookAuth: 'password' }, bot)
dbl.webhook.on('ready', hook => {
    console.log(`Webhook running at http://${hook.hostname}:${hook.port}${hook.path}`);
  });

dbl.webhook.on('vote', vote => {
  let embed = new Discord.MessageEmbed()
  .setTitle('A user just upvoted!')
  .setDescription(`Thank you **${vote.user.tag}** for voting me!`)
  .setColor('FF000')
  .setThumbnail(vote.user.displayAvatarURL())
  let votechannel = bot.channels.cache.find(x => x.id === '775360008786280468')
  votechannel.send(embed)
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM