【发布时间】:2021-05-23 22:23:01
【问题描述】:
我在 Heroku 上运行了一个 discord.js 机器人,当它从公会中添加或删除时,它会向我服务器中的特定频道发送一条消息。这在一周前运行良好,现在当我更新它(通过 GitHub 将更新推送到 Heroku)时,它会发送消息说它已从公会中删除。有一个错误:
UnhandledPromiseRejectionWarning: Error: 504 Gateway Time-out
这是代码:
client.on('guildCreate', guild => {
try{
//Check for system channel
if(!guild.systemChannel) return false;
//Sends message to system channel
guild.systemChannel.send('Thank you for adding me to your server. Run ``-setup`` to begin setup.')
//My server and channel
const server = client.guilds.cache.get('guildID')
const channel = server.channels.cache.get('channelID')
//The embed which sends to channel
const joinEmbed = new Discord.MessageEmbed()
.setTitle("Joined")
.setDescription("Optic was added to a server")
.addFields(
{ name: 'Name', value: guild.name, inline: false },
{ name: 'GuildId', value: guild.id,inline: false },
{ name: 'Guild OwnerId', value: guild.ownerID, inline: false },
{ name: 'Member Count', value: guild.memberCount, inline: false },
{ name: 'Total Guilds', value: client.guilds.cache.size, inline: true },
)
channel.send(joinEmbed)
}catch(error){
console.log("There was an error sending join embed to channel")
}
});
client.on('guildDelete', guild => {
try{
//My server and channel:
const server = client.guilds.cache.get('guildID')
const channel = server.channels.cache.get('channelID')
//The embed which sends to channel
const leaveEmbed = new Discord.MessageEmbed()
.setTitle("Removed")
.setDescription("Optic was removed from a server")
.addFields(
{ name: 'Name', value: guild.name, inline: false },
{ name: 'GuildId', value: guild.id,inline: false },
{ name: 'Guild OwnerId', value: guild.ownerID, inline: false },
{ name: 'Member Count', value: guild.memberCount, inline: false },
{ name: 'Total Guilds', value: client.guilds.cache.size, inline: true },
)
channel.send(leaveEmbed)
}catch(error){
console.log("There was an error sending leave embed to channel.")
}
});
当它更新时,正如我之前所说,它会发送带有以下显示为未定义的休假嵌入:
- 姓名
- 公会所有者 ID
- 会员数
对于正在发生的事情,我们将不胜感激。谢谢:)
更新 (22/02/21): 这个问题仍然存在,如果它自己关闭并打开几秒钟,它仍然会发送嵌入。 另一个更新(23/02/21): 出现了错误,就是这样:
UnhandledPromiseRejectionWarning: Error: 504 Gateway Time-out
如果您需要整个错误,请发表评论,因为我不确定其余部分是否有帮助
赏金原因: 吸引注意 这个问题没有得到足够的重视。
我声明客户端的代码:
const Discord = require('discord.js');
const client = new Discord.Client();
【问题讨论】:
-
你能显示完整的错误吗?
-
我不知道为什么,但它有时只会出现这个错误。但是,离开嵌入仍然会自行发送。
-
你能用你声明客户端的代码更新你的问题吗
标签: node.js heroku discord discord.js