我的不和谐机器人在 13.0.0 之后无法工作
Posted
技术标签:
【中文标题】我的不和谐机器人在 13.0.0 之后无法工作【英文标题】:My discord bot isn't working after 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);
【问题讨论】:
消息不会发出交互事件,你试过用messageCreate
这能回答你的问题吗? “message event listener not working properly”、“Having trouble sending a message to a channel with Discord.js”、“Discord bot is not replying to messages”。
【参考方案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"] );
【讨论】:
谢谢。我改变了我的意图,它现在可以响应消息。以上是关于我的不和谐机器人在 13.0.0 之后无法工作的主要内容,如果未能解决你的问题,请参考以下文章
为啥当我输入 node main.js 时我的不和谐机器人无法上线?
试图制作一个命令页面来列出我的不和谐机器人上的所有命令,但不知道如何[关闭]