【发布时间】:2020-12-11 03:55:42
【问题描述】:
我主要有这个不和谐的机器人工作。我只是在这个模块上遇到了一些麻烦。问题的根源在于这段代码是为 discord.js v11 编写的。我需要为 v12 重写它。 原始 v11 模块可以在这里找到: https://github.com/Meschdog18/disnet/blob/master/commands/broadcast.js
这是我目前所拥有的:
exports.run = (client, message, args) => {
var serverlist = client.guilds.cache.size;
console.log(client.Networks)
var server = message.guild.channels.cache;
var Sender = client.Networks.get(message.guild.name);
const input = args.join(" "); //rejoins arg array into string
for (var i = 0; i < serverlist.length; i++) {
//get network id of message sender
var Recipient = client.Networks.get(serverlist[i].name);
Recipient = parseInt(Recipient);
if (Sender == Recipient) {
try {
var serv = serverlist[i].channels.cache.find(
serv => serv.name === "broadcast"
);
serv.send({
embed: {
/* author: { works but is disabled, because not sure if i like the look
name: "Disnet",
icon_url: client.user.defaultAvatarURL
},*/
color: 0x3850eb,
title: "**__BROADCAST__**",
thumbnail: {
url: message.guild.iconURL
},
fields: [{
name: "Broadcasted From ",
value: message.guild.name
}, {
name: "Message",
value: input
}
],
timestamp: new Date(),
footer: {
icon_url: message.author.avatarURL,
text: "Executed By " + message.author.username
}
}
})
} catch (error) {
console.log(error);
message.reply(
"You must create a #broadcast channel to recieve messages!"
);
break;
}
}
}
};
exports.help = {
name: "broadcast",
description: "Broadcasts message to all servers on your network",
usage: "N$broadcast <Message>"
};
exports.config = {
permLevel: "admin"
}
此模块旨在让机器人向我的不和谐服务器网络中的每台服务器发送消息。 (它确实使用了 enmap 和 MySQL,但这个模块似乎没有使用 SQL 组件) 它没有将消息传输到我网络中的其他服务器,但我的终端没有收到任何错误。机器人只是给了我这个:
Enmap(2) [Map] {
'Discord Sports & Athletics Associations' => 'DSAAnet',
'NFL Discussion 2.0' => 'DSAAnet'
}
这似乎是正确的。 (DSAAnet 是网络的名称,另外两个名称是网络中的服务器名称。) 它是否正确?为了使这个 v12 兼容,我还需要进行哪些更改?
【问题讨论】:
-
What's the error? -
就是这样,没有抛出错误信息。我在终端中唯一得到的是我的 OP 中包含的 Enmap 消息。 @Jakye 我读过那篇文章,但它只是说 .array() 已从 v12 中删除。它没有告诉您如何重写该字符串以使其在 v12 中起作用。
标签: networking bots discord.js