如何使用服务器ID将消息发送到特定的Discord服务器?

时间:2019-11-17 18:02:05

标签: javascript node.js discord discord.js

我正在尝试使Discord机器人使用服务器的ID将消息发送到特定的Discord服务器,我不知道该命令,我尝试了类似的操作,但是没有用,谢谢! 附言:我知道服务器和频道ID。

编辑:据我所知更新了代码,现在我得到一个错误。

NavigationDrawer

我得到的错误是:

const Discord = require('discord.js');
const bot = new Discord.Client();


module.exports = {
    name: "inviteme",
    description: "inviteme",
    execute(message, args){
        var server = bot.guilds.get("642388927499730975");
        var channel = server.channels.get("642389069829111809");
        bot.guilds.forEach(guild => {
            guild.channels.first().createInvite()
                .then(inv => message(channel).send(`${guild.name} | ${inv.url}`));
        });
    }
}

请帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

Discord.js的Client对象具有名为guilds的属性,该属性是Client当前正在处理的所有行会的映射,并由它们的ID映射(只要不使用分片,将会是该机器人所属的每个公会)。

通过服务器ID查找服务器很简单:

var server = client.guilds.get("server_id"); // get the guild by id

您不能直接向其发送消息。您需要一个频道。

var channel = server.channels.get("channel_id"); // get the channel from the guild

现在,您可以使用.send()方法将消息发送到频道。

channel.send("Your message.");