- 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ı:V12 Uyumlu
Ekstra Bilgi: croxydb, ms, moment, moment-duration-format modülleri gerekli.
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: