Kod Discord.js | Süreli Rol | V12

Ege'#0001
Katılım
29 Eki 2021
Mesajlar
96
Tepkime puanı
31
Açıklama: Belirttiğiniz üyeye belirli bir süre rol verir ve süre bittiğinde bot reset yemiş olsada rolü geri alır.
V12 Uyumlu
Ekstra Bilgi:
croxydb, ms, moment, moment-duration-format modülleri gerekli.
Main Dosyası:
JavaScript:
client.on("ready", async () => {
  const cdb = require("croxydb")
  const csm = require('moment')
  require('moment-duration-format')
  setInterval(async() => {
    var mem = [];
    client.guilds.cache.forEach(async guild => {
    guild.members.cache.forEach(async member => {
    let m = await cdb.get(`kullanıcı${guild.id}_${member.id}`)//by: Ege'#0001
    if(m){
    let time = await cdb.get(`rolint${guild.id}_${member.id}`)
    if(!time) return;
    let sures = await cdb.get(`rolsure${guild.id}_${member.id}`)
    let timing = Date.now() - time
    let rl = await cdb.get(`roliste_${guild.id}_${member.id}`)//discord.gg/turkiye
  
    if(timing >= sures) {
      guild.members.cache.find(x => x.id === member.id).roles.remove(rl)
      let logdb = await cdb.fetch(`rollog${guild.id}`)
      let log = guild.channels.cache.get(logdb)
      if(log){
      log.send(new Discord.MessageEmbed()
      .setDescription(`${member} kullanıcısının \`${csm.duration(sures).format(`DD **[Gün,]** HH **[Saat,]** mm **[Dakika,]** ss **[Saniye]**`)}\` Süre Boyunca <@&${cdb.get(`roliste_${guild.id}_${member.id}`)}> Sahip Olduğu Rol Süresi Bittiği İçin Alındı!`))
      }
      await cdb.delete(`kullanıcı${guild.id}_${member.id}`)
      await cdb.delete(`rolsure${guild.id}_${member.id}`)
      await cdb.delete(`rolint${guild.id}_${member.id}`)
      await cdb.delete(`roliste_${guild.id}_${member.id}`)
    }
  }
 })
}) 
}, 5000)
 
})

Kod Dosyası:
JavaScript:
const Discord = require('discord.js')
const db = require('croxydb')
const ms = require('ms')
const moment = require('moment')
require('moment-duration-format')

exports.run = async(client, message, args) => {
if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send(" Yetkin bulunmuyor.");
if(args[0] == 'log') {
  let channel = message.mentions.channels.first()
  if(!channel) return message.reply("bir kanal etiketle.")
  db.set(`rollog${message.guild.id}`, channel.id)
  return message.channel.send(`log kanalı ${channel} olarak ayarlandı!`);
}
 
  let rol = message.mentions.roles.first()
  let duration = args[1]
  let sure = args[2]
  let typ;
  if (sure == 'saniye') typ = 'seconds'
  if (sure == 'dakika') typ = 'minutes'
  if (sure == 'saat') typ = 'hours'
  if (sure == 'gün') typ = 'days'
 
  let user = message.mentions.members.first()
  if(!user) return message.reply('Kime Süreli Rol Vericeksin?')
  if(isNaN(duration)) return message.reply('Süreyi Belirt!')
  if(!typ) return message.reply('Süreyi Belirt! Örnek: `!süreli-rol @Umut 10 saniye/daika/saat/gün`')
  if(!rol) return message.reply("Rolü Belirt!")

    message.channel.send(`${user} adlı kullanıcıya \`${moment.duration(ms(`${duration} ${typ}`)).format(`DD **[Gün,]** HH **[Saat,]** mm **[Dakika,]** ss **[Saniye]**`)}\` boyunca belirttiğiniz rol verildi!`)
    db.set(`rolint${message.guild.id}_${user.id}`, Date.now())
    db.set(`rolsure${message.guild.id}_${user.id}`, ms(`${duration} ${typ}`))//discord.gg/turkiye
    db.set(`kullanıcı${message.guild.id}_${user.id}`, user.id)
    db.set(`roliste_${message.guild.id}_${user.id}`, rol.id)
    message.guild.members.cache.get(user.id).roles.add(rol.id)
 
 
  }

exports.conf = {
  aliases: ['sr']
};

exports.help = {
  name: 'süreli-rol' //by: Ege'#0001
};
 
Son düzenleme:
InFlames#2005
Katılım
2 Eyl 2021
Mesajlar
393
Tepkime puanı
129
Şehir
İstanbul
çok ufak bi hata var name kısmına süreli-rol by Ege'#0001' yazmışsın hata verir o kısım
 
Konu Sahibi
Ege_
Ege'#0001
Katılım
29 Eki 2021
Mesajlar
96
Tepkime puanı
31
Hastayım // Koymayı Unutmuşum Kafam Güzel
 

pirco0657

Bu kullanıcı dolandırıcılık sebebiyle yasaklanmış, ticaret yapmayın!
Dolandırıcı
JaVeX?+#1269
Katılım
27 Şub 2023
Mesajlar
3
Tepkime puanı
0
Şehir
Ankara
kardeşim ben nasıl yapcam bunu kodlama bilmiyorum yardımcı olurmusnuz dc pircoshop
 

pirco0657

Bu kullanıcı dolandırıcılık sebebiyle yasaklanmış, ticaret yapmayın!
Dolandırıcı
JaVeX?+#1269
Katılım
27 Şub 2023
Mesajlar
3
Tepkime puanı
0
Şehir
Ankara
bunu yapamadım yardım edebilecek varmı babuşlar yeni dc: pircoshop
 

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

  • Bilgi