Discord.js mute sistemi yapma

[CODE lang="javascript" title="Mute.js"]const Discord = require('discord.js');
const qdb = require('quick.db');
const ms = require("ms");
const ayarlar = require('../../config.json');

const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');
const adapter = new FileSync('./database/systems.json');
const sdb = low(adapter);

exports.run = async (client, message, args) => {

var msg = message;
sdb.read()
var muterole1 = qdb.fetch(`muteroluid_${message.guild.id}`);
var muterole2 = message.guild.roles.cache.find(r => r.id === muterole1);
if (!muterole2) {
try {
muterole2 = await message.guild.roles.create({
data: {
name: "Muted",
color: "#1800FF",
permissions: []
},
reason: 'Mute Rolü!'
})
qdb.set(`muteroluid_${message.guild.id}`, muterole2.id);
message.guild.channels.cache.forEach(async (channel) => {
await channel.createOverwrite(muterole2, {
SEND_MESSAGES: false,
ADD_REACTIONS: false,
CONNECT: false
});
});
} catch (err) {
console.log(err);
}
};
var kisi = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[0]));
if (!kisi) return message.reply("Susturmam İçin Bir Kullanıcı Belirtiniz!");
var time = args[1];
var reason = args.slice(2).join(" ")
if (!time) {
if(reason) {
if(!sdb.get('mute').find({guild: message.guild.id, user: kisi.id}).value()) {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: reason, time: "INFINITY", finishtime: "INFINITY"}
sdb.get('mute').push(obj12).write()
} else {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: reason, time: "INFINITY", finishtime: "INFINITY"}
sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).assign(obj12).write()
}
if(!kisi.roles.cache.has(muterole2.id)) await kisi.roles.add(muterole2.id);
message.channel.send(`${kisi} **SINIRSIZ** Şekilde Susturuldu!\nNedeni: **${reason}**\nYetkili: **${message.author}**`);
} else {
if(!sdb.get('mute').find({guild: message.guild.id, user: kisi.id}).value()) {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: "No Reason Given", time: "INFINITY", finishtime: "INFINITY"}
sdb.get('mute').push(obj12).write()
} else {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: "No Reason Given", time: "INFINITY", finishtime: "INFINITY"}
sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).assign(obj12).write()
}
if(!kisi.roles.cache.has(muterole2.id)) await kisi.roles.add(muterole2.id);
message.channel.send(`${kisi} **SINIRSIZ** Şekilde Susturuldu!\nYetkili: **${message.author}**`);
};
} else {
let finishtime = Date.now() + ms(time.replace(' dakika', 'm').replace(' saat', 'h').replace(' saniye', 's').replace(' gün', 'd'))
if(reason){
if(!sdb.get('mute').find({guild: message.guild.id, user: kisi.id}).value()) {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: reason, time: time, finishtime: finishtime}
sdb.get('mute').push(obj12).write()
} else {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: reason, time: time, finishtime: finishtime}
sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).assign(obj12).write()
}
if(!kisi.roles.cache.has(muterole2.id)) await kisi.roles.add(muterole2.id);
message.channel.send(`${kisi} **${time}** Süresince Şekilde Susturuldu!\nNedeni: **${reason}**\nYetkili: **${message.author}**`);
sdb.read()
let bitiszamani = sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).value().finishtime
if(bitiszamani && bitiszamani !== null && bitiszamani !== "INFINITY") {
let ainterval = setInterval(function() {
if(bitiszamani <= Date.now()) {
clearInterval(ainterval)
if(kisi.roles.cache.find(r => r.id === muterole2.id)){
kisi.roles.remove(muterole2.id)
sdb.get('mute').remove(sdb.get('mute').find({guild:message.guild.id, user: kisi.id}).value()).write()
message.channel.send(`${kisi} Susturulma Süresi Dolduğu İçin Susturulması Kaldırılmıştır.`)
}
}
}, 6000);
}
} else {
if(!sdb.get('mute').find({guild: message.guild.id, user: kisi.id}).value()) {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: "No Reason Given", time: time, finishtime: finishtime}
sdb.get('mute').push(obj12).write()
} else {
let obj12 = {guild: msg.guild.id, guild_name: msg.guild.name, user: kisi.id, user_name: kisi.user.username, staff: msg.author.id, staff_username: message.author.username, channel: message.channel.id, channel_name: message.channel.name, reason: "No Reason Given", time: time, finishtime: finishtime}
sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).assign(obj12).write()
}
if(!kisi.roles.cache.has(muterole2.id)) await kisi.roles.add(muterole2.id);
message.channel.send(`${kisi} **${time}** Süresince Şekilde Susturuldu!\nYetkili: **${message.author}**`);
sdb.read()
let bitiszamani = sdb.get('mute').find({guild: msg.guild.id, user: kisi.id}).value().finishtime
if(bitiszamani && bitiszamani !== null && bitiszamani !== "INFINITY") {
let ainterval = setInterval(function() {
if(bitiszamani <= Date.now()) {
clearInterval(ainterval)
if(kisi.roles.cache.find(r => r.id === muterole2.id)){
kisi.roles.remove(muterole2.id)
sdb.get('mute').remove(sdb.get('mute').find({guild:message.guild.id, user: kisi.id}).value()).write()
message.channel.send(`${kisi} Susturulma Süresi Dolduğu İçin Susturulması Kaldırılmıştır.`)
}
}
}, 6000);
}
}
};
};

exports.conf = {
aliases: ['sustur',],
permLevel: 2
};

exports.help = {
name: 'mute',
description: 'Sunucudaki Bir Kişiyi Susuturur.',
usage: 'mute {@kullanici} {zaman} {sebep}'
};[/CODE]
[CODE lang="javascript" title="Unmute.js"]const Discord = require('discord.js');
const qdb = require('quick.db');
const ms = require("ms");
const ayarlar = require('../../config.json');

const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');
const adapter = new FileSync('./database/systems.json');
const sdb = low(adapter);

exports.run = async (client, message, args) => {

var msg = message;
sdb.read()

var muterole1 = qdb.fetch(`muteroluid_${message.guild.id}`);
var muterole2 = message.guild.roles.cache.find(r => r.id === muterole1);
if (!muterole2) {
try {

muterole2 = await message.guild.roles.create({
data: {
name: "Muted",
color: "#1800FF",
permissions: []
},
reason: 'Mute Rolü!'
})

qdb.set(`muteroluid_${message.guild.id}`, muterole2.id);

message.guild.channels.cache.forEach(async (channel) => {
await channel.createOverwrite(muterole2, {
SEND_MESSAGES: false,
ADD_REACTIONS: false,
CONNECT: false
});
});

} catch (err) {
console.log(err);
}

};

var kisi = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[0]));
if (!kisi) return message.reply("Susturmasını Açmam İçin Bir Kullanıcı Belirtiniz!");

// if(!kisi.roles.cache.find(r => r.id === muterole2.id)) return message.reply("Kişi Daha Önceden Susturulmamış!")


var reason = args.slice(1).join(" ")

if(reason){


if(kisi.roles.cache.has(muterole2.id)) await kisi.roles.remove(muterole2.id);
sdb.get('mute').remove(sdb.get('mute').find({guild:message.guild.id, user: kisi.id}).value()).write()
message.channel.send(`${kisi} Susturulması Açıldı!\nNedeni: **${reason}**\nYetkili: **${message.author}**`);
} else {
if(kisi.roles.cache.has(muterole2.id)) await kisi.roles.remove(muterole2.id);
sdb.get('mute').remove(sdb.get('mute').find({guild:message.guild.id, user: kisi.id}).value()).write()
message.channel.send(`${kisi}Susturulması Açıldı!\nYetkili: **${message.author}**`);
};


};

exports.conf = {
aliases: [],
permLevel: 2
};

exports.help = {
name: 'unmute',
description: 'Sunucudaki Bir Kişiyi Susturmasını Kaldırır.',
usage: 'unmute {@kullanici} {sebep}'
};[/CODE]
[CODE lang="javascript" title="Main"]////DATABASE
const qdb = require('quick.db');
const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');

const sunucuadapter = new FileSync('./database/systems.json')

const sdb = low(sunucuadapter)

sdb.defaults({mute: [], ban: [], kufurEngel: [], autorole: [], reklamEngel: [], security: [], counter: []})
.write()

sdb.read()

////////DATABASE-UPDATER
/*
client.on("message", async msg => {
if(!msg.guild) return;

db.add(`mesajsayi_${msg.author.id}`, 1);
});
*/
setInterval(function(){
sdb.read()
},1000);


client.on('ready', async () => {
client.guilds.cache.forEach(async guild => {
guild.members.cache.forEach(async member => {

sdb.read()
var muteverisi = sdb.get('mute').find({guild: guild.id, user: member.id}).value()

if(muteverisi) {
var mutebitiszamani = muteverisi.finishtime
var mutekanali = muteverisi.channel
} else {
var mutebitiszamani = null;
var mutekanali = null;
}
const ainterval = setInterval(async function(){
sdb.read()
if(mutebitiszamani && mutebitiszamani !== null && mutebitiszamani !== "INFINITY") {
if(mutebitiszamani <= Date.now()) {
clearInterval(ainterval)
var muterole1 = qdb.fetch(`muteroluid_${guild.id}`);
var muterole2 = guild.roles.cache.find(r => r.id === muterole1);
if(member.roles.cache.has(muterole2.id)) await member.roles.remove(muterole2.id);
var mutekanali2 = guild.channels.cache.find(c => c.id === mutekanali);
if(mutekanali2) mutekanali2.send(`${member} Susturulması Açıldı!`)
sdb.get('mute').remove(sdb.get('mute').find({guild: guild.id, user: member.id}).value()).write()
}
}
}, 6000)
})
})
});[/CODE]
Alıntıdır: Codare
 

Geri
Yukarı