如何提及多个角色 [DISCORD.JS]

时间:2021-06-09 04:04:36

标签: javascript discord.js

我正在创建一个创建频道命令,但我意识到,如何在 args 中添加多个角色?就像当我做 a!create-channel <name of the channel> <role> <role 2> 时它不添加角色 2 它只添加角色而不是角色 2 所以我只想让它有多个角色..就像提到多个角色你知道..抱歉混淆你。所以帮助将不胜感激!顺便说一句,这是我的代码。

const { Client, Message, MessageEmbed } = require('discord.js');
const Guild = require("../../schemas/Guild")
module.exports = {
    name: 'cchannel',
      category: "Admin",
    aliases: ['create-channel'],  
    /** 
     * @param {Client} client 
     * @param {Message} message 
     * @param {String[]} args 
     */
    run: async(client, message, args) => {
      const guildDB = await Guild.findOne({
        guildId: message.guild.id
      });

      const language = require(`../../languages/${guildDB.language}.json`)
       if(!message.member.permissions.has("MANAGE_CHANNELS")) return message.reply(`you don't have \`manage channels\` permission to create a channel!`)

       const go = args.join(" ").split(" | ")

       const channelNameQuery = go[0]
       if(!channelNameQuery) return message.reply(`${language.channelCreateMissingArgument}`)


       const role = go[1]

       if(!role) return message.channel.send("You forgot to specify a role id.")

       if(!message.guild.roles.cache.has(role)) return message.reply("yowza, that's a invalid role id.")

       let perms = go[2].toUpperCase()

       message.guild.channels.create(channelNameQuery, {
         type: "text",
         permissionOverwrites: [
           {
             id: role,
             deny: []
           }
         ]
        }).then((ch) => {
         var ni = language.channelCreateSuccess.desc;

         ni = ni.replace(/{channel}/g, ch)
         ni = ni.replace(/{type}/g, ch.type)
         ni = ni.replace(/{createdAt}/g, ch.createdAt)
         ni = ni.replace(/{createdTimestamp}/g, ch.createdTimestamp)
         ni = ni.replace(/{id}/g, ch.id)

         var ig = language.channelCreateSuccess.fields;

        //  ig = ig.replace(/{channel}/g, ch)
        //  ig = ig.replace(/{type}/g, ch.type)
        //  ig = ig.replace(/{createdAt}/g, ch.createdAt)
        //  ig = ig.replace(/{createdTimestamp}/g, ch.createdTimestamp)
        //  ig = ig.replace(/{id}/g, ch.id)


           message.channel.send(
             new MessageEmbed()
             .setTitle(language.channelCreateSuccess.title)
             .setDescription(language.channelCreateSuccess.desc.replace(/{channel}/g, ch))
             .addField(ig[0], ig[1].replace(/{channel}/g, ch))
             .addField(ig[2], ig[3].replace(/{id}/g, ch.id))
             .addField(ig[4], ig[5].replace(/{type}/g, ch.type))
             .addField(ig[6], ig[7].replace(/{createdAt}/g, ch.createdAt))
             .addField(ig[8], ig[9].replace(/{createdTimestamp}/g, ch.createdTimestamp))
             .setColor("GREEN")
           )
        })
    }
}

0 个答案:

没有答案