Discord机器人在发送消息时出错

时间:2019-08-02 03:32:49

标签: javascript node.js

我在与不和谐的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:缺少访问权限     在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(内部/进程/task_queues.js:85:5) (节点:8480)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。 (拒绝ID:2) (节点:8480)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。 (节点:8480)UnhandledPromiseRejectionWarning:DiscordAPIError:缺少权限     在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(内部/进程/task_queues.js:85:5) (节点:8480)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。 (拒绝ID:4)

1 个答案:

答案 0 :(得分:0)

我已经复制了您的代码并对其进行了尝试,并且效果很好。因此,问题一定出在您的某些权限上,如错误所示。也许您正在尝试发送消息的mainChannel不允许从机器人发送消息。