发送消息时不和谐机器人出错

Posted

技术标签:

【中文标题】发送消息时不和谐机器人出错【英文标题】:Error with discord bot on sending message 【发布时间】:2019-12-10 16:10:00 【问题描述】:

在使用 discord Bot 添加此发送消息时,我遇到了这个奇怪的错误。我正在按照 Scratch 教程进行操作,除此之外,当我尝试在 bot 处于活动状态时发送消息时,一切都很好。

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

client.on('ready', () => 
  console.log(`Logged in as $client.user.tag!`);

  client.user.setActivity('You', type: 'WATCHING');

  var mainChannel = client.channels.get('51549559XXXX')
  mainChannel.send("Hello, world!")
);

client.on('message', (received) => 
 if (received.author == client.user) 
    return

    received.channel.send("You: " + received.content);
);  

client.login('TOKEN');

结果:-

`(node:8480) UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Access 在 C:\Users\Deepanshu\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:85:15 在 C:\Users\Deepanshu\node_modules\snekfetch\src\index.js:215:21 在 processTicksAndRejections (internal/process/task_queues.js:85:5) (节点:8480) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:2) (节点:8480)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。 (node:8480) UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Permissions 在 C:\Users\Deepanshu\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:85:15 在 C:\Users\Deepanshu\node_modules\snekfetch\src\index.js:215:21 在 processTicksAndRejections (internal/process/task_queues.js:85:5) (节点:8480) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:4)

【问题讨论】:

【参考方案1】:

我已经复制了您的代码并尝试了它,它工作得非常好。因此,问题必须与您的某些权限有关,如错误所示。也许您尝试发送消息的 mainChannel 不允许从机器人发送消息。

【讨论】:

以上是关于发送消息时不和谐机器人出错的主要内容,如果未能解决你的问题,请参考以下文章

使不和谐机器人发送消息特定通道

如何使不和谐机器人自动发送消息?

为啥我的不和谐机器人不发送每日消息

让您的不和谐机器人保存您发送的消息

如何使用不和谐机器人将消息发送到特定频道?

无法从我的不和谐机器人向用户发送私人消息?