【问题标题】:My discord bot isn't working after 13.0.0我的不和谐机器人在 13.0.0 之后无法工作
【发布时间】:2021-10-20 07:06:25
【问题描述】:

我正在试用 discord.js 版本 13.1.0,并且我正在遵循 discord 的关于如何设置机器人的指南。我已遵循所有步骤。当我运行机器人并将消息或命令发送到服务器时,控制台不会打印任何内容。有什么想法吗?

我的代码:

const { Client, Intents } = require("discord.js");

const client = new Client({ intents: [Intents.FLAGS.GUILDS] });

client.once("ready", () => {
  console.log("Ready!");
});

client.on("interactionCreate", (interaction) => {
  console.log(interaction);
});

client.login(process.env.TOKEN);

【问题讨论】:

标签: discord discord.js


【解决方案1】:

来自Discord Developer Portal

交互是当用户使用应用程序命令或消息组件时,您的应用程序收到的消息。

应用程序命令是指一种特殊类型的命令,您必须向 Discord API 注册。要了解有关应用程序命令的更多信息,请阅读this

从discord.js docs主页,如何注册一个应用(斜杠)命令:

const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');

const commands = [{
  name: 'ping',
  description: 'Replies with Pong!'
}]; 

const rest = new REST({ version: '9' }).setToken('token');

(async () => {
  try {
    console.log('Started refreshing application (/) commands.');

    await rest.put(
      Routes.applicationGuildCommands(CLIENT_ID, GUILD_ID),
      { body: commands },
    );

    console.log('Successfully reloaded application (/) commands.');
  } catch (error) {
    console.error(error);
  }
})();

但是,如果您正在寻找一种方法来回复(或只是捕获)在 TextChannel 中发送的普通消息,那么您可能正在寻找 messageCreate 事件。

client.on("messageCreate", (message) => {
    console.log(message);
});

还要注意,要接收messageCreate 事件,您需要GUILD_MESSAGES 意图。

const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] });

【讨论】:

  • 谢谢。我改变了我的意图,它现在可以响应消息。
猜你喜欢
  • 2017-10-18
  • 2021-01-17
  • 2018-08-24
  • 2021-01-19
  • 2020-12-19
  • 2018-05-19
  • 2019-04-12
  • 2021-11-08
  • 1970-01-01
相关资源
最近更新 更多