NodeJS 我的discord机器人不响应命令

sg24os4d  于 2022-12-03  发布在  Node.js
关注(0)|答案(2)|浏览(200)

我有一个Discord Bot,它可以打开,但它不响应命令。

const Discord = require("discord.js");
const client = new Discord.Client( {intents: 32767}, );
 { 
   partials: ['MESSAGE', 'CHANNEL', 'REACTION', 'USER', 'GUILD_MEMBER']
 }

client.on('ready', () => {
  console.log('Estoy ON')
  client.user.setActivity('Ark Survival Evolved', { type: "PLAYING"});
});

client.once('message', (message) => {
  if(message.content.startsWith('ping')) {
    message.channel.send(`pong 🏓!!`);
  }

});

client.login('MY TOKEN');

我需要帮助。我尝试做一切,但它不工作。我在最新版本的node.js和最新版本的discord.js我已经尝试了5个版本,但我不能做任何事情。
我试着用前缀,没有前缀...但是不起作用。我试了3个代码,什么都没有。

camsedfj

camsedfj1#

这很明显是因为你使用了神奇的“all”intent代码。考虑用正确的intent替换它,而不是使用32767。上述用法也是正确的,因为message事件已被弃用,不再记录任何错误。
至于出于什么原因,部分是完全出于Discord.Client选项,我不知道。

const client = new Discord.Client({
  intents: [
    Discord.GatewayIntentBits.GuildMessages,
    Discord.GatewayIntentBits.DirectMessages,
    Discord.GatewayIntentBits.MessageContent
  ],
  partials: [
    Discord.Partials.User,
    Discord.Partials.Message
    Discord.Partials.Channel
    Discord.Partials.Reaction
    Discord.Partials.GuildMember
   ]
});

client.on('ready', () => {
  console.log('Estoy ON');
  client.user.setActivity('Ark Survival Evolved', { type: "PLAYING"});
});

client.once('messageCreate', (message) => {
  if(message.content.startsWith('ping')) {
    message.channel.send(`pong 🏓!!`);
  }
});

client.login('token');

我已经将message更改为messageCreate,并将intent和partials重新排列到新的discord.js@v14版本中,并将“魔法intent”更改为适当的intent数组。
此外,请确保在developer portal中启用了消息特权意图

iezvtpos

iezvtpos2#

这对我很有效

client.on('messageCreate', message => {
  if(message.content.startsWith('ping')) {
    message.channel.send(`pong 🏓!!`);
  }
});

相关问题