Javascript 如何使用v12+;向discord.js中的所有公会发送消息;(12.0.0及以上)
我试着使用v11.2,但那是个好主意。 它说它已经过时,需要更新。我可以用此代码替换什么?Javascript 如何使用v12+;向discord.js中的所有公会发送消息;(12.0.0及以上),javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我试着使用v11.2,但那是个好主意。 它说它已经过时,需要更新。我可以用此代码替换什么?defaultChannel()已被弃用,没有其他选择。 您需要指定发送消息的通道,但由于某些服务器具有唯一的通道名称,因此无法工作…除非它们都具有相同的通道名称并保持不变(某些PEEP更改了general的名称) 嗯。。我为它编写了一个代码(如果频道名称为“general”,则有效) 摘自:因此您只想将消息“messageToSend”发送到每个帮会的一个频道,或者每个帮会中的所有textconnels?
defaultChannel()
已被弃用,没有其他选择。
您需要指定发送消息的通道,但由于某些服务器具有唯一的通道名称,因此无法工作…除非它们都具有相同的通道名称并保持不变(某些PEEP更改了general的名称)
嗯。。我为它编写了一个代码(如果频道名称为“general”,则有效)
摘自:因此您只想将消息
“messageToSend”
发送到每个帮会的一个频道,或者每个帮会中的所有textconnels
?每个帮会中都有一个频道尝试过,但我有一个错误:EnhandlePromisejectionWarning:TypeError:client.guilds.map不是一个函数
discord.JS现在使用缓存,所以您需要使用client.guilds.cache和Guild.channels.cache
if (command === "sendguildmessages") {
if (message.author.id === "231956829159161856") {
var guildList = client.guilds.array();
try {
guildList.forEach(guild => guild.defaultChannel.send("messageToSend"));
} catch (err) {
console.log("Could not send message to a (few) guild(s)!");
}
} else {
message.reply(`You cant do that!`)
}
} else
if (command === "sendguildmessages") {
if (message.author.id === "231956829159161856") {
try {
let toSay = "messageToSend"
this.client.guilds.map((guild) => {
let found = 0
guild.channels.map((c) => {
if (found === 0) {
if (c.type === "text") {
if (c.permissionsFor(this.client.user).has("VIEW_CHANNEL") === true) {
if (c.permissionsFor(this.client.user).has("SEND_MESSAGES") === true) {
c.send(toSay);
found = 1;
}
}
}
}
});
});
}
catch (err) {
console.log("Could not send message to a (few) guild(s)!");
}
} else {
message.reply("You cant do that!")
}
}