尝试向多个 Discord 频道发送消息
Posted
技术标签:
【中文标题】尝试向多个 Discord 频道发送消息【英文标题】:Trying to send a message to Multiple Discord channels 【发布时间】:2020-01-05 17:08:10 【问题描述】:我用 Discord.js 和 MongoDB 为我的 discord 服务器制作了一个 Discord 机器人。
所以在我的 MongoDB 中,我有一个频道 ID 的变量,这是我的 3 个不和谐中的每个频道中的不同频道。使用下面的代码,当我运行命令时,消息只会发送到数据库中的第一个不和谐通道。关于我做错了什么有什么想法吗?
const Discord = require("discord.js");
module.exports.run = async (bot, message, args, settings, guild, channels) =>
if (message.channel.id === '123456789')
bot.guilds.forEach(guild =>
const sayMessage = args.join(" ");
let sicon = message.guild.iconURL;
let serverembed = new Discord.RichEmbed()
.setTitle("**Announcement**")
.setFooter("from SpikyZA", sicon)
.setTimestamp()
.setColor("#5500FF")
.addField("Message", `$sayMessage`);
//let testchannel = guild.channels.find(c => c.id === `$settings.notify`);
bot.channels.get(`$settings.notify`).send(serverembed);
);
;
module.exports.help =
name:"test",
aliases: ["test"]
;```
【问题讨论】:
每个服务器的频道id不一样,你可以获取3个公会的默认频道并在那里发送消息,也可以制作一个频道数组并将它们与公会对应并为每个公会发送. 嗯,好的。我想我可以使用从数据库中提取的单个频道 ID。谢谢 【参考方案1】:如果您正在寻找一种简单的方法,请尝试遍历数据库中的项目数量,如下所示:
for(n = 0; n <= channelDB.length; n++)
let ch = bot.channels.get(channelDB.channels[n].id);
ch.send(embed);
或任何与MongoDB
?♂️ 一起使用的类似代码
【讨论】:
以上是关于尝试向多个 Discord 频道发送消息的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 向存储在数据库中的每个频道 ID 发送消息