Kod Bir role sahip olanlanlara bir rol verme komutu

!Edip#0170
Katılım
1 Eyl 2021
Mesajlar
170
Tepkime puanı
106
Şehir
İzmir
Kodu olduğu gibi paylaştım. dil desteği bulunduğu için açıklamalar kod gibi gözükebilir.
return message.reply mesaj kısımlarını siz kendinize göre düzeltebilirsiniz.





JavaScript:
 const config = require(`${process.cwd()}/botconfig/config.json`);
 const ms = require(`ms`);
 var ee = require(`${process.cwd()}/botconfig/embed.json`)
 const emoji = require(`${process.cwd()}/botconfig/emojis.json`);
 const map = new Map();
 const {
   MessageEmbed,
   Permissions,
   MessageMentions
 } = require(`discord.js`)
 const {
   databasing,
   delay
 } = require(`${process.cwd()}/handlers/functions`);
 module.exports = {
   name: `addroletorole`,
   category: `🚫 Administration`,
   cooldown: 60,
   usage: `addroletorole @RoletoHave @RoletoGive`,
   description: `Adds a Role to every MEMBER who has a ROLE in this Guild`,
   type: "memberrole",
   run: async (client, message, args, cmduser, text, prefix) => {
    
     let es = client.settings.get(message.guild.id, "embed");let ls = client.settings.get(message.guild.id, "language")
     try {
      if(!message.guild.me.permissions.has([Permissions.FLAGS.MANAGE_ROLES]))     
      return message.reply({embeds : [new MessageEmbed()
        .setColor(es.wrongcolor).setFooter(client.getFooter(es))
        .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable1"]))
      ]})
       let adminroles = client.settings.get(message.guild.id, "adminroles")
       let cmdroles = client.settings.get(message.guild.id, "cmdadminroles.addroletorole")
       var cmdrole = []
       if (cmdroles.length > 0) {
         for (const r of cmdroles) {
           if (message.guild.roles.cache.get(r)) {
             cmdrole.push(` | <@&${r}>`)
           } else if (message.guild.members.cache.get(r)) {
             cmdrole.push(` | <@${r}>`)
           } else {
            
             //console.log(r)
             client.settings.remove(message.guild.id, r, `cmdadminroles.addroletorole`)
           }
         }
       }
       if (([...message.member.roles.cache.values()] && !message.member.roles.cache.some(r => cmdroles.includes(r.id))) && !cmdroles.includes(message.author.id) && ([...message.member.roles.cache.values()] && !message.member.roles.cache.some(r => adminroles.includes(r ? r.id : r))) && !Array(message.guild.ownerId, config.ownerid).includes(message.author.id) && !message.member.permissions.has([Permissions.FLAGS.ADMINISTRATOR]))
         return message.reply({embeds : [new MessageEmbed()
           .setColor(es.wrongcolor)
           .setFooter(client.getFooter(es))
           .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable2"]))
           .setDescription(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable3"]))
         ]});
       if (map.get(message.guild.id))
         return message.reply({embeds : [new MessageEmbed()
           .setColor(es.wrongcolor)
           .setFooter(client.getFooter(es))
           .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable4"]))
         ]});
      let RoleRegex = message.content.match(MessageMentions.ROLES_PATTERN)?.map(r => message.guild.roles.cache.get(r.replace(/[<@&#>]/igu, "")))
      let rolehas = RoleRegex && RoleRegex.length >= 1 ? RoleRegex[0] : message.guild.roles.cache.get(args[0]);
      let role = RoleRegex && RoleRegex.length >= 2 ? RoleRegex[1] : message.guild.roles.cache.get(args[1]);
      if (!rolehas || rolehas == null || rolehas == undefined || rolehas.name == null || rolehas.name == undefined)
        return message.reply({embeds :[new MessageEmbed()
          .setColor(es.wrongcolor)
          .setFooter(client.getFooter(es))
          .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable5"]))
          .setDescription(`Usage: \`${prefix}addroletorole @RoletoHave @RoletoGive\``)
        ]});
      if (role.id == rolehas.id)
        return message.reply({embeds :[new MessageEmbed()
          .setColor(es.wrongcolor)
          .setFooter(client.getFooter(es))
          .setTitle(`The Roles can't be the same!`)
          .setDescription(`Usage: \`${prefix}addroletorole @RoletoHave @RoletoGive\``)
        ]});
       if (message.member.roles.highest.position <= role.position)
         return message.reply({embeds : [new MessageEmbed()
           .setColor(es.wrongcolor)
           .setFooter(client.getFooter(es))
           .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable7"]))
         ]});
       await message.guild.members.fetch().catch(() => {});
       var members = message.guild.members.cache.filter(member => member.roles.cache.has(rolehas.id) && !member.roles.cache.has(role.id)).map(this_Code_is_by_Tomato_6966 => this_Code_is_by_Tomato_6966);
       if (!members || members.length == 0)
         return message.reply({embeds :[new MessageEmbed()
           .setColor(es.wrongcolor)
           .setFooter(client.getFooter(es))
           .setTitle(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable8"]))
           .setDescription(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable9"]))
         ]});
       let seconds = (Number(members.length) * 1500);
       message.reply({embeds:  [new MessageEmbed()
          .setColor(es.color).setThumbnail(es.thumb ? es.footericon && (es.footericon.includes("http://") || es.footericon.includes("https://")) ? es.footericon : client.user.displayAvatarURL() : null)
         .setFooter(client.getFooter(es))
         .setAuthor(`Changing roles for ${members.length} Members...`, "https://images-ext-1.discordapp.net/external/ANU162U1fDdmQhim_BcbQ3lf4dLaIQl7p0HcqzD5wJA/https/cdn.discordapp.com/emojis/756773010123522058.gif", "https://discord.gg/2dKrZQyaC4")
         .setDescription(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable10"]))
       ]});
       if (client.settings.get(message.guild.id, `adminlog`) != "no") {
         try {
           var channel = message.guild.channels.cache.get(client.settings.get(message.guild.id, `adminlog`))
           if (!channel) return client.settings.set(message.guild.id, "no", `adminlog`);
           channel.send({embeds :[new MessageEmbed()
             .setColor(es.color).setThumbnail(es.thumb ? es.footericon && (es.footericon.includes("http://") || es.footericon.includes("https://")) ? es.footericon : client.user.displayAvatarURL() : null).setFooter(client.getFooter(es))
             .setAuthor(`${require("path").parse(__filename).name} | ${message.author.tag}`, message.author.displayAvatarURL({
               dynamic: true
           }))
             .setDescription(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable11"]))
             .addField(eval(client.la[ls]["cmds"]["administration"]["ban"]["variablex_15"]), eval(client.la[ls]["cmds"]["administration"]["ban"]["variable15"]))
            .addField(eval(client.la[ls]["cmds"]["administration"]["ban"]["variablex_16"]), eval(client.la[ls]["cmds"]["administration"]["ban"]["variable16"]))
             .setTimestamp().setFooter(client.getFooter("ID: " + message.author.id, message.author.displayAvatarURL({dynamic: true})))
          ]})
         } catch (e) {
           console.log(e.stack ? String(e.stack).grey : String(e).grey)
         }
       }
       var success = 0;
       var failed = 0;
       var counter = 0;
       addroletomember(members[counter])
       map.set(message.guild.id, true)
       async function addroletomember(member) {
         if (counter == members.length) return send_finished()
         counter++;
         await member.roles.add(role.id).then(async s => {
           success++;
           await delay(1500)
           addroletomember(members[counter]);
         }).catch(e => {
           failed++;
           addroletomember(members[counter]);
         })
       }

       function send_finished() {
         map.set(message.guild.id, false)
         message.reply({
           content: `<@${message.author.id}>`,
           embeds: [new MessageEmbed()
             .setColor(es.color).setThumbnail(es.thumb ? es.footericon && (es.footericon.includes("http://") || es.footericon.includes("https://")) ? es.footericon : client.user.displayAvatarURL() : null)
             .setFooter(client.getFooter(es))
             .setTitle(`${emoji?.msg.SUCCESS} SUCCESS`)
             .setDescription(`Successfully added ${role} to \`${success} Members\` of \`${counter} Members\`${failed != 0 ? `\n${failed} Members, did not get the added, redo it with: \`${prefix}addroletorole ${rolehas.id} ${role.id}\``: ""}`)
          ]});
       }

     } catch (e) {
       map.set(message.guild.id, false)
       console.log(String(e.stack).grey.bgRed)
       return message.reply({embeds :[new MessageEmbed()
         .setColor(es.wrongcolor)
         .setFooter(client.getFooter(es))
         .setTitle(client.la[ls].common.erroroccur)
         .setDescription(eval(client.la[ls]["cmds"]["administration"]["addroletoeveryone"]["variable16"]))
       ]});
     }
   }
 };
 
  • Beğen
Tepkiler: berkaux ve kedy

Aventia

Aventia | Yasin
Moderator
aventia
Katılım
11 Kas 2021
Mesajlar
3,692
Tepkime puanı
1,048
Şehir
Samsun
Eline sağlık.
 
  • Beğen
Tepkiler: Edip

Leáo

smmhizmetleri.com
Leáo#0001
Katılım
24 Tem 2021
Mesajlar
497
Tepkime puanı
270
Şehir
Çorum
Elinize sağlık hocam.
 
Piques#5792
Katılım
17 Şub 2022
Mesajlar
269
Tepkime puanı
96
Şehir
Konya
Eline sağlık hocam, iyi forumlar.
 
Auxiliator#0002
Katılım
8 Ocak 2022
Mesajlar
140
Tepkime puanı
43
Şehir
Afyonkarahisar
Elinize sağlık, iyi forumlar.
 

Konuyu 1 kişi okuyor. (0 kayıtlı üye ve 1 ziyaretçi)

  • Bilgi