有什么办法让机器人在Discord上创建公会吗?

时间:2020-09-25 18:37:04

标签: node.js discord discord.js

我正在使用discord.js V12,并且试图使我的机器人创建一个带有通道的公会。但是,我无法修复此错误“ TypeError:渠道不可迭代”。这是我当前的代码:

client.on("message", async message => {
    if(message.content == "?createGuild") {
        let guild = await client.guilds.create("Test Guild", {channels: {id: 1, type: "text", name: "invite-channel"}}).catch(err => {console.log(err)});        
        let guildchannel = await guild.channels.find(cha => cha.name == "invite-channel");
        let invite = await guildchannel.createInvite({maxAge: 0, unique: true, reason: "Testing."});
        message.channel.send(`https://discord.gg/${invite.code} is the server I created!`);
    }
});

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

Client.guilds .create将选项Object作为第二个参数。 Options.channels取一个Array,其中包含多个对象,每个对象代表一个通道。您提供的是Object

请注意,每个人都可以创建公会,因为您对此命令没有任何限制。


client.on("message", async message => {
    if (message.content == "?createGuild") {
        const Guild = await client.guilds.create("Test Guild", {
            channels: [
                {"name": "invite-channel"},
            ]
        });

        const GuildChannel = Guild.channels.cache.find(channel => channel.name == "invite-channel");
        const Invite = await GuildChannel.createInvite({maxAge: 0, unique: true, reason: "Testing."});
        message.channel.send(`Created guild. Here's the invite code: ${Invite.url}`);
    };
});