Having trouble sending a message to a channel with Discord.js(使用 Discord.js 向频道发送消息时遇到问题)
问题描述
我正在尝试制作一个机器人,一旦用户发送特定消息,就会向频道发送消息.我已经设法让它在机器人登录后发送一条消息,但是 client.on()
函数不会做任何事情.如果我做错了什么,请告诉我,提前谢谢!
I'm trying to make a bot that sends a message to a channel once a user sends a specific message. I've managed to make it send a message once the bot logs in, but the client.on()
function won't do anything. Please let me know if I'm doing something wrong, thank you in advance!
const { Client, Intents } = require("discord.js");
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
client.login("<bot token>");
client.once("ready", () => {
console.log("Ready!");
channel.send("hello world"); //This works
const guild = client.guilds.cache.get("<server id>");
const channel = guild.channels.cache.get("<channel id>");
//This is the issue. Nothing happens when I send "!ping" in the server
client.on("message", message => {
if (message.content === "!ping") {
channel.send("pong");
}
});
});
推荐答案
您需要启用 GUILD_MESSAGES
Intent:
You need to enable the GUILD_MESSAGES
intent:
const client = new Client({
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]
});
这将使您能够接收在公会中发送的消息的 MESSAGE_CREATE
事件.
This will enable you to receive the MESSAGE_CREATE
event for messages sent in guilds.
可以在 Discord 开发者文档中找到完整的意图列表.
A full list of intents can be found on the Discord developer docs.
此外,如果您使用 Discord.js v13,message
事件已被弃用,因为它已重命名为 messageCreate
.
Additionally, if you are using Discord.js v13, the message
event has been deprecated as it has been renamed to messageCreate
.
这篇关于使用 Discord.js 向频道发送消息时遇到问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 Discord.js 向频道发送消息时遇到问题
基础教程推荐
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01