gpt4 book ai didi

javascript - 机器人不接收消息

转载 作者:行者123 更新时间:2023-12-05 05:35:14 24 4
gpt4 key购买 nike

我试图让我的机器人回复消息,但它不起作用。有人知道如何解决这个问题吗?

代码:

const Discord = require('discord.js');

const client = new Discord.Client({ intents: ['GuildMessages', 'GuildMessageReactions', 'GuildMessageTyping', 'MessageContent', ''] })

const prefix = '!';

client.once('ready', () => {
console.log('MONKE BOT RISES');
});

client.on('messageCreate', message => {
message.channel.send('pong');
console.log('hoi');
if(!message.content.startsWith(prefix) || message.author.bot) return;

const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();

if(command === 'ping'){
message.channel.send('pong');
}
});



client.login('<token>');

最佳答案

您需要在 Discord Developer Portal 中启用 MessageContent 网关意图由于其特权性质。

enter image description here

docs 中查看关于此的好文章.


我已经测试了您的代码,一切正常。

let message = {
content: "!ping"
};
const prefix = '!';

const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();

if (command === 'ping') {
console.log('pong!');
};

因此,此行为只能由不正确分配的意图引起,或者在客户端实例化期间代码中的错误引起。

正如我之前所说,仔细检查 MessageContent 在开发门户中是否已启用。然后尝试像这样实例化 Client

const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });

如果这不起作用,请检查您使用的是最新版本的节点和 discord.js(npm list discord.js, node --version) .

关于javascript - 机器人不接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73542593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com