为啥我的 DJS 角色声明消息可以工作几个小时,但突然停止?
Posted
技术标签:
【中文标题】为啥我的 DJS 角色声明消息可以工作几个小时,但突然停止?【英文标题】:Why does my DJS role claim message work for a few hours, but suddenly stops?为什么我的 DJS 角色声明消息可以工作几个小时,但突然停止? 【发布时间】:2021-10-28 06:15:13 【问题描述】:我创建了一个托管在 Heroku 上的 DJS Discord Bot,它似乎工作得非常好,除了我创建的角色声明命令。它工作得很好,机器人对频道中的消息做出反应,并为用户提供他们反应的角色。然而,几个小时后,它就停止工作了。我没有收到任何错误。
由于代码似乎运行良好,我认为这可能与我的 Heroku 应用程序有关,也许它正在睡着,这就是影响它的原因。但是验证了我的帐户,它现在有很多免费的测功时间,而且这种情况仍在发生。
我现在完全不知道该怎么办......我从来没有见过这种情况发生在其他人身上,我也不知道是什么原因造成的。
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.partial) await reaction.fetch();
if (user.bot) return;
if (!reaction.message.guild) return;
if (reaction.message.channel.id == channel)
if (reaction.emoji.id === '842102278223167528')
await reaction.message.guild.members.cache.get(user.id).roles.add(technologyRole);
else if (reaction.emoji.id === '871172469334089738')
await reaction.message.guild.members.cache.get(user.id).roles.add(engineeringRole);
else if (reaction.emoji.id === '871172735114555393')
await reaction.message.guild.members.cache.get(user.id).roles.add(roboticsRole);
else if (reaction.emoji.id === '870823307467968603')
await reaction.message.guild.members.cache.get(user.id).roles.add(mathRole);
else if (reaction.emoji.id === '871172490892804107')
await reaction.message.guild.members.cache.get(user.id).roles.add(chemistryRole);
else if (reaction.emoji.id === '870823212441800714')
await reaction.message.guild.members.cache.get(user.id).roles.add(biomedRole);
else if (reaction.emoji.id === '842102248993718374')
await
else
return;
【问题讨论】:
请将您的代码发布到您的问题中(不是外部站点)。此外,将其修剪为仅包含相关部分(仅与此问题相关的内容) 很抱歉,感谢您告诉我! 【参考方案1】:问题可能是当服务器重新启动时,你的机器人也没有监听消息事件,因为你让它监听通过编写命令创建的消息。最粗略的解决方案是让机器人在某个测试通道中写入命令,一旦他启动,只有模组才能看到。 例如:
bot.once('ready', () =>
console.log('DiscordBot is online!');
bot.channels.cache.get("testing channelid")
.send("-reactionrole"); //Or whatever the command is to make the message your member are supposed to react to
);
所以你可能已经制作了 bot.once ready 事件,只需添加额外的两行,如果有帮助,请告诉我!
【讨论】:
以上是关于为啥我的 DJS 角色声明消息可以工作几个小时,但突然停止?的主要内容,如果未能解决你的问题,请参考以下文章