我在与不和谐的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)
答案 0 :(得分:0)
我已经复制了您的代码并对其进行了尝试,并且效果很好。因此,问题一定出在您的某些权限上,如错误所示。也许您正在尝试发送消息的mainChannel不允许从机器人发送消息。