我想询问一下我最近一直在尝试做的事情。我有一个 Discord.JS 机器人,它非常公开(130 多个服务器),我希望它向它所在的每个服务器中的任何通道发送一条消息,当机器人启动时,目的是创建一个“新更新”其中一个频道中的通知。请告诉我,谢谢!
-RocketFue1
答案 0 :(得分:0)
首先,我想通知您,这不是代码编写服务。但是,我很乐意为您解答问题。
这是可能的。有一个问题,没有默认的公会频道,所以你不能仅仅通过他们的公会对象来获得他们的“主”频道。如果您想这样做,您需要他们选择他们的频道并将该 ID 存储在某处。
这是一个简单的解决方案,您可以遍历 Discord 客户端的每个公会,并向某个频道发送消息。您不知道该解决方案具体是哪个频道,但如果不是语音频道,您会向某个频道发送消息。
const Discord = require("discord.js");
require("dotenv").config();
// Creating our Client
const client = new Discord.Client();
// Event listener: when the bot is ready
client.on("ready", () => {
// Looping through every guild the bot is in
client.guilds.cache.forEach((guild) => {
// Getting one of their channels
let channel = guild.channels.cache.array()[2];
// Sending the channel a message
channel.send("Hey");
});
});
client.login(process.env.DISCORD_BOT_TOKEN);
希望这对您有所帮助,请随时阅读official Discord.js library documentation。