├── ayarlar.json ├── util ├── eventLoader.js └── Util.js ├── komutlar ├── phentos.js ├── Sıfırla.js ├── Top.js ├── Vip.js ├── Say2.js ├── TaglıAlım.js ├── Kayıtsız.js ├── Kayıtlar.js ├── Teyit.js ├── İsim.js └── Kayit.js ├── events ├── ready.js └── message.js ├── package.json ├── README.md └── phentos.js /ayarlar.json: -------------------------------------------------------------------------------- 1 | { 2 | "prefix": "prefix", 3 | "token": "token", 4 | "sahip": "sahipid" 5 | } -------------------------------------------------------------------------------- /util/eventLoader.js: -------------------------------------------------------------------------------- 1 | const reqEvent = (event) => require(`../events/${event}`); 2 | module.exports = client => { 3 | client.on('ready', () => reqEvent('ready')(client)); 4 | client.on('message', reqEvent('message')); 5 | }; 6 | -------------------------------------------------------------------------------- /komutlar/phentos.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"), 2 | client = new Discord.Client(); 3 | 4 | exports.run = async (client, message, args) => { 5 | message.channel.send('Selam Dostum Bu Bir Taslak | Phentos#4545') 6 | }; 7 | 8 | exports.conf = { 9 | enabled: true, 10 | guildOnly: true, 11 | aliases: [], 12 | permLevel: 3 13 | }; 14 | exports.help = { 15 | name: 'phentos' 16 | } -------------------------------------------------------------------------------- /events/ready.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk'); 2 | const moment = require('moment'); 3 | const Discord = require('discord.js'); 4 | const ayarlar = require('../ayarlar.json'); 5 | 6 | var prefix = ayarlar.prefix; 7 | 8 | module.exports = client => { 9 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT Aktif, Komutlar yüklendi!`); 10 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT ${client.user.username} ismi ile giriş yapıldı!`); 11 | console.log("Bot aktif!"); 12 | client.user.setActivity("Keep Calm Discord, This Is Phentos!"); 13 | } -------------------------------------------------------------------------------- /komutlar/Sıfırla.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const db = require('quick.db') 3 | 4 | module.exports.run = async (client, message, args) => { 5 | let kişi = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 6 | if(!kişi) return message.channel.send('Bir kişiyi etiketlemen gerekli.') 7 | if(kişi) { 8 | message.channel.send(`<@!${kişi.id}> Kişisinin teyit bilgileri başarıyla sıfırlandı.`) 9 | db.delete(`yetkili.${message.author.id}.erkek`) 10 | db.delete(`yetkili.${message.author.id}.kadin`) 11 | db.delete(`yetkili.${message.author.id}.toplam`) 12 | } 13 | } 14 | exports.conf = { 15 | enabled: true, 16 | guildOnly: true, 17 | aliases: [], 18 | permLevel: 3 19 | }; 20 | exports.help = { 21 | name: 'sıfırla' 22 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "//1": "describes your app and its dependencies", 3 | "//2": "https://docs.npmjs.com/files/package.json", 4 | "//3": "updating this file will download and update your packages", 5 | "version": "0.0.1", 6 | "description": "Phentos kayıt altyapısı", 7 | "main": "phentos.js", 8 | "scripts": { 9 | "start": "node phentos.js" 10 | }, 11 | "dependencies": { 12 | "chalk": "^4.1.0", 13 | "discord.js": "^12.5.1", 14 | "express": "^4.17.1", 15 | "jimp": "^0.16.1", 16 | "moment": "^2.28.0", 17 | "moment-duration-format": "^2.3.2", 18 | "quick.db": "^7.1.2", 19 | "request": "^2.88.2" 20 | }, 21 | "engines": { 22 | "node": "12.x" 23 | }, 24 | "repository": { 25 | "url": "https://github.com/phentoss" 26 | }, 27 | "license": "MIT", 28 | "keywords": [ 29 | "phentos", 30 | "emokili", 31 | "kayıt" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Phentos V12 Emojili Kayıt Botu 2 | Phentos tarafından hazırlanıp geliştirilmiş V12 emojili kayıt botu! 3 | 4 | Ayarlarınızı ayarlar.json dosyasına girmeyi unutmayın! 5 | 6 | Yapılması gereken çoğu şeyi dosya içerisinde bilgi olarak verdim. 7 | 8 | İzinsiz paylaşmak kesinlikle yasaktır! 9 | 10 | Intentleri açmayı unutmayın. 11 | 12 | 13 | 14 | Herhangi bir sorunda, soruda aşşağıdaki linklerden ulaşabilirsiniz. 15 | 16 |

17 | 18 | 19 | 20 |

21 | 22 | 23 | -------------------------------------------------------------------------------- /komutlar/Top.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const { MessageEmbed } = require('discord.js'); 3 | const rdb = require('quick.db') 4 | const pdb = rdb.table('teyitler'); 5 | exports.run = async (client, message, args) => { 6 | let uye = message.mentions.users.first() || message.author; 7 | let bilgi = rdb.get(`yetkili.${uye.id}.toplam`); 8 | let yazı = "Top Teyit Listesi" 9 | 10 | let top = message.guild.members.cache.filter(uye => rdb.get(`yetkili.${uye.id}.toplam`)).array().sort((uye1, uye2) => Number(rdb.get(`yetkili.${uye2.id}.toplam`))-Number(rdb.get(`yetkili.${uye1.id}.toplam`))).slice(0, 15).map((uye, index) => (index+1)+" • <@"+ uye +"> | \`" + rdb.get(`yetkili.${uye.id}.toplam`) +"\` Kayıta Sahip.").join('\n'); 11 | message.channel.send(new Discord.MessageEmbed().setAuthor(yazı).setTimestamp().setColor("RANDOM").setFooter("Developed Phentos").setDescription(top)); 12 | 13 | } 14 | exports.conf = { 15 | enabled: true, 16 | guildOnly: true, 17 | aliases: ['top','topteyit'], 18 | permLevel: 0 19 | } 20 | exports.help = { 21 | name: 'top', 22 | description: "toplam teyit gösterir", 23 | usage: 'top' 24 | } -------------------------------------------------------------------------------- /komutlar/Vip.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db'); 3 | const moment = require('moment'); 4 | exports.run = async (client, message, args) => { 5 | let vip = 'vipid' 6 | if(!["yetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 7 | return message.channel.send(`Bu komutu kullanabilmek için ayarlanan kayıt yetkisine sahip olmalısınız!`).then(x => x.delete({timeout: 5000})); 8 | let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 9 | if (!member) return message.channel.send('Bir üye etiketlemelisin.').then(x => x.delete({timeout: 5000})); 10 | member.roles.add(vip) 11 | let embed = new Discord.MessageEmbed() 12 | .setColor('RANDOM') 13 | .setDescription(`${member} kişisi artık ${vip}! .`) 14 | .setTimestamp() 15 | message.react(client.emojiler.onay).catch(); 16 | message.channel.send(embed).then(x => x.delete({timeout: 5000})); 17 | } 18 | 19 | exports.conf = { 20 | enabled: true, 21 | guildOnly: true, 22 | aliases: ['vip'], 23 | permLevel: 0 24 | } 25 | exports.help = { 26 | name: 'vip', 27 | description: "Belirtilen üyeye kayıtsız rolü verir", 28 | usage: 'vip @kişi' 29 | } -------------------------------------------------------------------------------- /komutlar/Say2.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | 4 | module.exports.run = function(client, message, args) { 5 | let no = "no emojisi id"; let yes = "yes emojisi id";let n = no;let y = yes; 6 | let phentosSayılar = { 7 | '0': `795219038736744458`, 8 | '1': `795218775363944459`, 9 | '2': `795218798042546187`, 10 | '3': `795218815654952971`, 11 | '4': `795218839264297041`, 12 | '5': `795218887661977600`, 13 | '6': `795218910441898004`, 14 | '7': `795218941449863220`, 15 | '8': `795218976849788978`, 16 | '9': `795218999876386826`, 17 | }; 18 | let tag = "TAGINIZ"; 19 | let embed = new Discord.MessageEmbed().setFooter("Developed By Phentos.").setColor("RANDOM").setTimestamp(); 20 | message.channel.send(embed.setDescription(`\`>\` Sunucumuzda toplam ${message.guild.memberCount.toString().split("").map(a => client.emojis.cache.get(phentosSayılar[a])).join("")} adet üye bulunmaktadır.\`>\` \n Sunucumuzun sesli odalarında ${message.guild.channels.cache.filter(channel => channel.type == "voice").map(channel => channel.members.size).reduce((a, b) => a + b).toString().split("").map(a => client.emojis.cache.get(phentosSayılar[a])).join("")} adet üye bulunmaktadır.\`>\` \n Sunucumuzun tagında ${message.guild.members.cache.filter(m => m.user.username.includes(tag)).size.toString().split("").map(a => client.emojis.cache.get(phentosSayılar[a])).join("")} adet üye bulunmaktadır.`))} 21 | exports.conf = { 22 | enabled: true, 23 | guildOnly: true, 24 | aliases: ['say'], 25 | permLevel: 0 26 | } 27 | exports.help = { 28 | name: 'say', 29 | description: "Sunucu istatistiklerini sayar", 30 | usage: 'say' 31 | } -------------------------------------------------------------------------------- /komutlar/TaglıAlım.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | client = new Discord.Client(); 3 | const db = require('quick.db'); 4 | const config = require('../ayarlar.json') 5 | 6 | exports.run = async(client, message, args) => { 7 | let no = "795217992602353664"; 8 | let yes = "795217749731049493"; 9 | let n = no; 10 | let y = yes; 11 | 12 | let embed = new Discord.MessageEmbed().setFooter("Developed By Phentos.").setColor("RANDOM").setTimestamp(); 13 | 14 | if (!message.member.roles.cache.has("yetkiliid") && !message.member.hasPermission("ADMINISTRATOR")) return; //sahiprolu 15 | 16 | if(!args[0]) { 17 | message.react(no); 18 | message.channel.send(embed.setDescription(`${client.emojis.cache.get(no)} Komutu yanlış kullandınız! ${config.prefix}taglıalım aç/kapat`)).then(x => x.delete({timeout: 5000})); 19 | return; 20 | } 21 | if (args[0] === "aç") { 22 | if(db.fetch(`taglıAlım.${message.guild.id}`)) return message.channel.send(embed.setDescription(`${client.emojis.cache.get(no)} Taglı alım sistemi zaten aktif!`)).then(x => x.delete({timeout: 5000})); 23 | db.set(`taglıAlım.${message.guild.id}`, "taglıAlım") 24 | message.channel.send(embed.setDescription(`${client.emojis.cache.get(yes)} Taglı alım sistemi aktif edildi!`)).then(x => x.delete({timeout: 5000})); 25 | return; 26 | } else if (args[0] === "kapat") { 27 | if(!db.fetch(`taglıAlım.${message.guild.id}`)) return message.channel.send(embed.setDescription(`${client.emojis.cache.get(no)} Taglı alım sistemi zaten devre dışı!`)).then(x => x.delete({timeout: 5000})); 28 | db.delete(`taglıAlım.${message.guild.id}`) 29 | message.channel.send(embed.setDescription(`${client.emojis.cache.get(yes)} Taglı alım sistemi devre dışı bırakıldı!`)).then(x => x.delete({timeout: 5000})); 30 | return; 31 | }; 32 | 33 | }; 34 | 35 | exports.conf = { 36 | enabled: true, 37 | guildOnly: true, 38 | aliases: ['taglıalım'], 39 | permLevel: 0 40 | } 41 | exports.help = { 42 | name: 'taglıalım', 43 | description: "erkek kullanıcıları kayıt etme komutu.", 44 | usage: 'taglıalım aç/kapat' 45 | } -------------------------------------------------------------------------------- /komutlar/Kayıtsız.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db'); 3 | const moment = require('moment'); 4 | exports.run = async (client, message, args) => { 5 | let kayıtsızRole = 'kayıtsızid' 6 | let erkekRole = 'erkekrolid' 7 | let erkekRole2 = 'erkekdol2id' 8 | let kızRole = 'kızrolid' 9 | let kızRole2 = 'kızrol2id' 10 | 11 | if(!["kayıtyetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 12 | return message.channel.send(`Bu komutu kullanabilmek için ayarlanan kayıt yetkisine sahip olmalısınız!`).then(x => x.delete({timeout: 5000})); 13 | let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 14 | if(message.member.roles.highest.position <= member.roles.highest.position) { 15 | let yüksekte = new Discord.MessageEmbed() 16 | .setDescription(`Bu kişiye kayıtsız veremiyorum çünkü yetkisi benden üstte.`) 17 | .setTimestamp() 18 | .setColor('RANDOM'); 19 | message.react(client.emojiler.ret).catch(); 20 | return message.channel.send(yüksekte).then(x => x.delete({timeout: 5000})); 21 | } 22 | let tag = 'TAGINIZ' //İsmin önüne gelecek simge,tag 23 | let ikinciTag = 'İKİNCİTAGINIZ' 24 | if (!member) return message.channel.send('Bir üye etiketlemelisin.').then(x => x.delete({timeout: 5000})); 25 | let Isim = `${member.user.username.includes(tag) ? tag : (ikinciTag ? ikinciTag : (tag || ""))} ${isim} | ${yaş}` 26 | await member.setNickname(Isim) 27 | await member.roles.set([kayıtsızRole]) 28 | let embed = new Discord.MessageEmbed() 29 | .setColor('RANDOM') 30 | .setFooter(`Developed By Phentos`) 31 | .setDescription(`${member} kişisi kayıtsıza atıldı.`) 32 | .setTimestamp() 33 | message.react(client.emojiler.onay).catch(); 34 | message.channel.send(embed).then(x => x.delete({timeout: 15000})); 35 | } 36 | 37 | exports.conf = { 38 | enabled: true, 39 | guildOnly: true, 40 | aliases: ['kayıtsız'], 41 | permLevel: 0 42 | } 43 | exports.help = { 44 | name: 'kayıtsız', 45 | description: "Belirtilen üyeye kayıtsız rolü verir", 46 | usage: 'kayıtsız @kişi isim yaş' 47 | } -------------------------------------------------------------------------------- /komutlar/Kayıtlar.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db') 3 | client = new Discord.Client(); 4 | exports.run = async (client, message, args) => { 5 | 6 | 7 | if(!["yetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 8 | return message.channel.send(`Bu komutu kullanabilmek için \`Kayıt\` yetkisine sahip olmalısınız.`).then(x => x.delete({timeout: 5000})); 9 | const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 10 | if(!user) return message.channel.send(new Discord.MessageEmbed().setDescription(`Lütfen birisini etiketleyin!`)).then(x => x.delete({timeout: 5000})); 11 | let isim = message.mentions.members.first() || message.guild.members.cache.get(args[0]);//Useri tanımladık 12 | var sayi = 1 //Sıralam için sayı tanımladık 13 | let data = rdb.get(`isim.${message.guild.id}`)//İsim verisini data diye tanımladık 14 | let rol = rdb.fetch(`rol.${message.guild.id}`) 15 | if(!data) return message.channel.send(new Discord.MessageEmbed() 16 | .setColor("RANDOM") 17 | .setThumbnail(user.user.avatarURL ({ dynamic: true})) 18 | .setDescription(` 19 | ${isim} Adlı Kullanıcı Daha Önce Kayıt Olmamış.`) 20 | .setColor("RANDOM")) 21 | let isimler = data.filter(x => x.userID === isim.id).map(x => `${sayi++}- \`• ${x.isim} | ${x.yas}\` (<@&${x.role}>),(<@&${x.role2}>)`).join("\n") //x.role kısmını çoğaltabilirsiniz. 22 | if(isimler === null) isimler = "Kullanıcı hiç kayıt olmamış" 23 | if(isimler === undefined) isimler = "Kullanıcı hiç kayıt olmamış" 24 | 25 | const embed = new Discord.MessageEmbed() 26 | .setColor("RANDOM") 27 | .setFooter(`Developed By Phentos`) 28 | .setAuthor(`Bu Kullanıcı ${sayi-1} Kere Kayıt Olmuş`) 29 | .setDescription(` 30 | ${isimler}`) 31 | .setColor("RANDOM") 32 | message.channel.send(embed) 33 | } 34 | 35 | 36 | exports.conf = { 37 | enabled: true, 38 | guildOnly: true, 39 | aliases: ['kayıtlar','isimler'], 40 | permLevel: 0 41 | } 42 | exports.help = { 43 | name: 'isimler', 44 | description: "kişinin eski isimlerini gösterir", 45 | usage: 'isimler @kişi' 46 | } -------------------------------------------------------------------------------- /komutlar/Teyit.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db'); 3 | const pdb = rdb.table('teyitler'); 4 | const moment = require("moment"); 5 | exports.run = async (client, message, args) => { 6 | if(!["yetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 7 | if(!message.member.roles.cache.has(kayıtYetkili)) 8 | return message.channel.send(`Bu komutu kullanabilmek için ayarlanan kayıt yetkisine sahip olmalısınız!`); 9 | let kullanıcı = message.mentions.users.first() 10 | 11 | 12 | if(!kullanıcı) { 13 | let erkek = rdb.fetch(`yetkili.${message.author.id}.erkek`); 14 | let kadın = rdb.fetch(`yetkili.${message.author.id}.kadin`); 15 | let kayıtlar = rdb.fetch(`yetkili.${message.author.id}.toplam`); 16 | if(erkek === null) erkek = "0" 17 | if(erkek === undefined) erkek = "0" 18 | if(kadın === null) kadın = "0" 19 | if(kadın === undefined) kadın = "0" 20 | if(kayıtlar === null) kayıtlar = "0" 21 | if(kayıtlar === undefined) kayıtlar = "0" 22 | 23 | const sorgu1 = new Discord.MessageEmbed() 24 | .setAuthor(message.author.username) 25 | .setDescription(`˃ Toplam Kayıtların: \`${kayıtlar}\` 26 | ˃ Toplam Erkek Kayıtların: \`${erkek}\` 27 | ˃ Toplam Kadın Kayıtların: \`${kadın}\``) 28 | .setColor('RANDOM') 29 | .setFooter(`Developed By Phentos`) 30 | return message.channel.send(sorgu1) 31 | }; 32 | 33 | if(kullanıcı) { 34 | let erkek1 = rdb.fetch(`yetkili.${kullanıcı.id}.erkek`); 35 | let kadın1 = rdb.fetch(`yetkili.${kullanıcı.id}.kadin`); 36 | let kayıtlar1 = rdb.fetch(`yetkili.${kullanıcı.id}.toplam`); 37 | if(erkek1 === null) erkek1 = "0" 38 | if(erkek1 === undefined) erkek1 = "0" 39 | if(kadın1 === null) kadın1 = "0" 40 | if(kadın1 === undefined) kadın1 = "0" 41 | if(kayıtlar1 === null) kayıtlar1 = "0" 42 | if(kayıtlar1 === undefined) kayıtlar1 = "0" 43 | 44 | const sorgu2 = new Discord.MessageEmbed() 45 | .setAuthor(`${kullanıcı.username}`) 46 | .setDescription(`˃ Toplam Kayıtlar: \`${kayıtlar1}\` 47 | ˃ Toplam Erkek Kayıtlar: \`${erkek1}\` 48 | ˃ Toplam Kadın Kayıtlar: \`${kadın1}\``) 49 | return message.channel.send(sorgu2) 50 | 51 | }; 52 | 53 | }; 54 | 55 | exports.conf = { 56 | enabled: true, 57 | guildOnly: true, 58 | aliases: ['ks','teyit','me'], 59 | permLevel: 0 60 | } 61 | exports.help = { 62 | name: 'kayıtsay', 63 | description: "Teyit sayısını gösterir", 64 | usage: 'kayıtsay ' 65 | } -------------------------------------------------------------------------------- /events/message.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const ayarlar = require('../ayarlar.json'); 3 | let talkedRecently = new Set(); 4 | 5 | module.exports = message => { 6 | if (talkedRecently.has(message.author.id)) { 7 | return; 8 | } 9 | talkedRecently.add(message.author.id); 10 | setTimeout(() => { 11 | talkedRecently.delete(message.author.id); 12 | }, 2500); 13 | let client = message.client; 14 | if (message.author.bot) return; 15 | if (!message.content.startsWith(ayarlar.prefix)) return; 16 | let command = message.content.split(' ')[0].slice(ayarlar.prefix.length); 17 | let params = message.content.split(' ').slice(1); 18 | let perms = client.elevation(message); 19 | let cmd; 20 | if (client.commands.has(command)) { 21 | cmd = client.commands.get(command); 22 | } else if (client.aliases.has(command)) { 23 | cmd = client.commands.get(client.aliases.get(command)); 24 | } 25 | if (cmd) { 26 | if (cmd.conf.enabled === false) { 27 | if (!ayarlar.sahip.includes(message.author.id) && !ayarlar.sahip.includes(message.author.id)) { 28 | const embed = new Discord.MessageEmbed() 29 | .setDescription(`:x: **${cmd.help.name}** isimli komut şuanda geçici olarak kullanıma kapalıdır!`) 30 | .setColor("RED") 31 | message.channel.send({embed}) 32 | return 33 | } 34 | } 35 | 36 | if (cmd.conf.permLevel === 1) { 37 | if (!message.member.hasPermission("MANAGE_MESSAGES")) { 38 | const embed = new Discord.MessageEmbed() 39 | .setDescription(`Bu komutu kullanabilmek için **Mesajları Yönet** iznine sahip olmalısın!`) 40 | .setColor("RED") 41 | message.channel.send({embed}) 42 | return 43 | } 44 | } 45 | if (cmd.conf.permLevel === 2) { 46 | if (!message.member.hasPermission("KICK_MEMBERS")) { 47 | const embed = new Discord.MessageEmbed() 48 | .setDescription(`Bu komutu kullanabilmek için **Üyeleri At** iznine sahip olmalısın!`) 49 | .setColor("RED") 50 | message.channel.send({embed}) 51 | return 52 | } 53 | } 54 | if (cmd.conf.permLevel === 3) { 55 | if (!message.member.hasPermission("BAN_MEMBERS")) { 56 | const embed = new Discord.MessageEmbed() 57 | .setDescription(`Bu komutu kullanabilmek için **Üyeleri Yasakla** iznine sahip olmalısın!`) 58 | .setColor("RED") 59 | message.channel.send({embed}) 60 | return 61 | } 62 | } 63 | if (cmd.conf.permLevel === 4) { 64 | if (!message.member.hasPermission("ADMINISTRATOR")) { 65 | const embed = new Discord.MessageEmbed() 66 | .setDescription(`Bu komutu kullanabilmek için **Yönetici** iznine sahip olmalısın!`) 67 | .setColor("RED") 68 | message.channel.send({embed}) 69 | return 70 | } 71 | } 72 | if (cmd.conf.permLevel === 5) { 73 | if (!ayarlar.sahip.includes(message.author.id)) { 74 | const embed = new Discord.MessageEmbed() 75 | .setDescription(`Bu komutu sadece **sahibim** kullanabilir!`) 76 | .setColor("RED") 77 | message.channel.send({embed}) 78 | return 79 | } 80 | } 81 | if (perms < cmd.conf.permLevel) return; 82 | cmd.run(client, message, params, perms); 83 | } 84 | 85 | }; 86 | -------------------------------------------------------------------------------- /komutlar/İsim.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db'); 3 | const moment = require('moment'); 4 | 5 | exports.run = async (client, message, args) => { 6 | let tag = 'TAGINIZ' //İsmin önüne gelecek simge,tag 7 | let ikinciTag = 'İKİNCİTAGINIZ' 8 | if(!["yetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 9 | return message.channel.send(`Bu komutu kullanabilmek için ayarlanan kayıt yetkisine sahip olmalısınız!`).then(x => x.delete({timeout: 5000})); 10 | 11 | let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 12 | let isim = args[1] 13 | let yaş = args[2] 14 | if (!member) return message.channel.send('Bir üye etiketlemelisin.').then(x => x.delete({timeout: 5000})); 15 | if (!isim) return message.channel.send('Bir isim yazmalısın.').then(x => x.delete({timeout: 5000})); 16 | if (!yaş) return message.channel.send('Bir yaş yazmalısın.').then(x => x.delete({timeout: 5000})); 17 | if (isNaN(yaş)) return message.channel.send('Yaş sadece sayı olarak kabul edilir.').then(x => x.delete({timeout: 5000})); 18 | let gün = moment(message.createdAt).format("DD."); 19 | let yıl = moment(message.createdAt).format("YYYY HH:mm:ss"); 20 | let ay = moment(message.createdAt).format("MM.") 21 | .replace("Ocak").replace("Şubat") 22 | .replace("Mart").replace("Nisan") 23 | .replace("Mayıs").replace("Haziran") 24 | .replace("Temmuz").replace("Ağustos") 25 | .replace("Eylül").replace("Ekim") 26 | .replace("Kasım").replace("Aralık"); 27 | let kayıtlımı = await rdb.fetch(`kayıtkişi_${member}`) 28 | let eskikayıt = await rdb.fetch(`kayıtisim_${member}`) 29 | let toplamisim = `${gün}${ay}${yıl} tarihin de <@${message.author.id}> tarafından \`${tag} ${isim} | ${yaş}\` **(Yeni İsim)** olarak isim değişikliği yapılmış.` 30 | let Isim = `${member.user.username.includes(tag) ? tag : (ikinciTag ? ikinciTag : (tag || ""))} ${isim} | ${yaş}` 31 | member.setNickname(Isim) 32 | if(kayıtlımı !== 'evet') { 33 | rdb.set(`kayıtkişi_${member}`, 'evet') 34 | rdb.set(`kayıtisim_${member}`, toplamisim) 35 | rdb.push(`eskikayıt_${member.id}`, toplamisim) 36 | rdb.add(`toplamik_${member.id}`, 1) 37 | let embed = new Discord.MessageEmbed() 38 | .setColor('f5f5f5') 39 | .setDescription(`${member} kişisinin ismi "${tag} ${isim} | ${yaş}" olarak değiştirildi! `) 40 | .setTimestamp() 41 | message.react(client.emojiler.onay).catch(); 42 | message.channel.send(embed).then(x => x.delete({timeout: 15000})); 43 | } 44 | if(kayıtlımı === 'evet') { 45 | rdb.set(`kayıtisim_${member}`, toplamisim) 46 | rdb.push(`eskikayıt_${member.id}`, toplamisim) 47 | rdb.add(`toplamik_${member.id}`, 1) 48 | let embed = new Discord.MessageEmbed() 49 | .setDescription(` <@${message.author.id}> üzgünüm bu kişinin ismini "${tag} ${isim} | ${yaş}" olarak değiştirdim fakat veritabanın da kayıtlar buldum. 50 | 51 | ${toplamisim} 52 | 53 | \`.isimler ${member.id}\` komutuyla üyenin geçmiş isimlerine bakmanız tavsiye edilir.`) 54 | .setTimestamp() 55 | .setColor('f5f5f5') 56 | message.react(client.emojiler.ret).catch(); 57 | message.channel.send(embed).then(x => x.delete({timeout: 25000})); 58 | } 59 | }; 60 | 61 | exports.conf = { 62 | enabled: true, 63 | guildOnly: true, 64 | aliases: ['isim'], 65 | permLevel: 0 66 | } 67 | exports.help = { 68 | name: 'isim', 69 | description: "Kullanıcıların isimini değiştiren sistem", 70 | usage: 'isim @kişi isim yaş' 71 | } -------------------------------------------------------------------------------- /util/Util.js: -------------------------------------------------------------------------------- 1 | const request = require('node-superfetch'); 2 | const crypto = require('crypto'); 3 | const { IMGUR_KEY } = process.env; 4 | const yes = ['evet']; 5 | const no = ['hayır'] 6 | 7 | const deleteCommandMessages = function (msg, client) { // eslint-disable-line consistent-return 8 | if (msg.deletable && client.provider.get('global', 'deletecommandmessages', false)) { 9 | return msg.delete(); 10 | } 11 | }; 12 | 13 | class Util { 14 | static wait(ms) { 15 | return new Promise(resolve => setTimeout(resolve, ms)); 16 | } 17 | 18 | static shuffle(array) { 19 | const arr = array.slice(0); 20 | for (let i = arr.length - 1; i >= 0; i--) { 21 | const j = Math.floor(Math.random() * (i + 1)); 22 | const temp = arr[i]; 23 | arr[i] = arr[j]; 24 | arr[j] = temp; 25 | } 26 | return arr; 27 | } 28 | 29 | static list(arr, conj = 'and') { 30 | const len = arr.length; 31 | return `${arr.slice(0, -1).join(', ')}${len > 1 ? `${len > 2 ? ',' : ''} ${conj} ` : ''}${arr.slice(-1)}`; 32 | } 33 | 34 | static shorten(text, maxLen = 2000) { 35 | return text.length > maxLen ? `${text.substr(0, maxLen - 3)}...` : text; 36 | } 37 | 38 | static duration(ms) { 39 | const sec = Math.floor((ms / 1000) % 60).toString(); 40 | const min = Math.floor((ms / (1000 * 60)) % 60).toString(); 41 | const hrs = Math.floor(ms / (1000 * 60 * 60)).toString(); 42 | return `${hrs.padStart(2, '0')}:${min.padStart(2, '0')}:${sec.padStart(2, '0')}`; 43 | } 44 | 45 | static randomRange(min, max) { 46 | return Math.floor(Math.random() * (max - min + 1)) + min; 47 | } 48 | 49 | static trimArray(arr, maxLen = 10) { 50 | if (arr.length > maxLen) { 51 | const len = arr.length - maxLen; 52 | arr = arr.slice(0, maxLen); 53 | arr.push(`${len} more...`); 54 | } 55 | return arr; 56 | } 57 | 58 | static base64(text, mode = 'encode') { 59 | if (mode === 'encode') return Buffer.from(text).toString('base64'); 60 | if (mode === 'decode') return Buffer.from(text, 'base64').toString('utf8') || null; 61 | throw new TypeError(`${mode} is not a supported base64 mode.`); 62 | } 63 | 64 | static hash(text, algorithm) { 65 | return crypto.createHash(algorithm).update(text).digest('hex'); 66 | } 67 | 68 | static async randomFromImgurAlbum(album) { 69 | const { body } = await request 70 | .get(`https://api.imgur.com/3/album/${album}`) 71 | .set({ Authorization: `Client-ID ${IMGUR_KEY}` }); 72 | if (!body.data.images.length) return null; 73 | return body.data.images[Math.floor(Math.random() * body.data.images.length)].link; 74 | } 75 | 76 | static today(timeZone) { 77 | const now = new Date(); 78 | if (timeZone) now.setUTCHours(now.getUTCHours() + timeZone); 79 | now.setHours(0); 80 | now.setMinutes(0); 81 | now.setSeconds(0); 82 | now.setMilliseconds(0); 83 | return now; 84 | } 85 | 86 | static tomorrow(timeZone) { 87 | const today = Util.today(timeZone); 88 | today.setDate(today.getDate() + 1); 89 | return today; 90 | } 91 | 92 | static async awaitPlayers(msg, max, min, { text = 'join game', time = 30000 } = {}) { 93 | const joined = []; 94 | joined.push(msg.author.id); 95 | const filter = res => { 96 | if (msg.author.bot) return false; 97 | if (joined.includes(res.author.id)) return false; 98 | if (res.content.toLowerCase() !== text.toLowerCase()) return false; 99 | joined.push(res.author.id); 100 | return true; 101 | }; 102 | const verify = await msg.channel.awaitMessages(filter, { max, time }); 103 | verify.set(msg.id, msg); 104 | if (verify.size < min) return false; 105 | return verify.map(message => message.author); 106 | } 107 | 108 | static async verify(channel, user, time = 30000) { 109 | const filter = res => { 110 | const value = res.content.toLowerCase(); 111 | return res.author.id === user.id && (yes.includes(value) || no.includes(value)); 112 | }; 113 | const verify = await channel.awaitMessages(filter, { 114 | max: 1, 115 | time 116 | }); 117 | if (!verify.size) return 0; 118 | const choice = verify.first().content.toLowerCase(); 119 | if (yes.includes(choice)) return true; 120 | if (no.includes(choice)) return false; 121 | return false; 122 | } 123 | } 124 | 125 | module.exports = Util; -------------------------------------------------------------------------------- /komutlar/Kayit.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const rdb = require('quick.db'); 3 | const pdb = rdb.table('teyitler'); 4 | const moment = require('moment'); 5 | const ayar = require('../ayarlar.json'); 6 | //Başlangıç 7 | exports.run = async (client, message, args) => { 8 | const data = { 9 | Settings: { 10 | Yetkiler: ["yetkiliidler"], 11 | Erkek: ["erkekrolid"], 12 | Kiz: ["kızrolid"], 13 | KayitsizRolleri: ["kayıtsızrolid"] 14 | }, 15 | 16 | } 17 | let kayıtYetkili = 'yetkili' //Yetkili 18 | let erkekRole = 'erkekrolid' //Verilecek 19 | let erkekRole2 = 'erkekrol2id' 20 | let kizRole = 'kızrolid' 21 | let kizRole2 = 'kızrold2id' 22 | let kayıtsızRole = 'kayıtsızrolid' //Alınacak 23 | let tag = 'TAGINIZ' //İsmin önüne gelecek simge,tag 24 | let ikinciTag = 'İKİNCİTAGINIZ' 25 | const erkekrol = message.guild.roles.cache.find(r => r.id === 'erkekrolid') //erkekrol ismini değişmeyin 26 | const erkekrol2 = message.guild.roles.cache.find(r => r.id === 'erkekrol2id') //erkekrol ismini değişmeyin 27 | const kadınrol = message.guild.roles.cache.find(r => r.id === 'kızrolid') //kadınrol isimini değişme 28 | const kadınrol2 = message.guild.roles.cache.find(r => r.id === 'kızrol2id') //kadınrol isimini değişme 29 | 30 | if(!["kayıtyetkiliid"].some(role => message.member.roles.cache.get(role)) && (!message.member.hasPermission("ADMINISTRATOR"))) 31 | return message.channel.send(`Bu komutu kullanabilmek için ayarlanan kayıt yetkisine sahip olmalısınız!`).then(x => x.delete({timeout: 5000})); 32 | 33 | let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 34 | if(message.member.roles.highest.position <= member.roles.highest.position) { 35 | let yüksekte = new Discord.MessageEmbed() 36 | .setDescription(`Bu kişiyi kayıt edemiyorum çünkü yetkisi benden üstte.`) 37 | .setTimestamp() 38 | .setColor('f5f5f5'); 39 | message.react(client.emojiler.ret).catch(); 40 | return message.channel.send(yüksekte).then(x => x.delete({timeout: 5000})); 41 | } 42 | let isim = args[1] 43 | let yaş = args[2] 44 | if (!member) return message.channel.send('Bir üye etiketlemelisin.').then(x => x.delete({timeout: 5000})); 45 | if (!isim) return message.channel.send('Bir isim yazmalısın.').then(x => x.delete({timeout: 5000})); 46 | if (!yaş) return message.channel.send('Bir yaş yazmalısın.').then(x => x.delete({timeout: 5000})); 47 | if (isNaN(yaş)) return message.channel.send('Yaş sadece sayı olarak kabul edilir.').then(x => x.delete({timeout: 5000})); 48 | let gün = moment(message.createdAt).format("DD."); 49 | let yıl = moment(message.createdAt).format("YYYY HH:mm:ss"); 50 | let ay = moment(message.createdAt).format("MM.") 51 | .replace("Ocak").replace("Şubat") 52 | .replace("Mart").replace("Nisan") 53 | .replace("Mayıs").replace("Haziran") 54 | .replace("Temmuz").replace("Ağustos") 55 | .replace("Eylül").replace("Ekim") 56 | .replace("Kasım").replace("Aralık"); 57 | let kayıtlımı = await rdb.fetch(`kayıtlıkişi_${member}`) 58 | let eskiismi = await rdb.fetch(`kayıtlıisim_${member}`) 59 | let toplamaisim = `${gün}${ay}${yıl} tarihin de <@${message.author.id}> tarafından \`${tag} ${isim} | ${yaş}\` **(<@&${erkekRole}>)** olarak kayıtlı.` 60 | 61 | if(member.roles.cache.has(erkekRole) || member.roles.cache.has(kizRole)) { 62 | rdb.set(`kayıtlıkişi_${member}`, 'evet') 63 | rdb.set(`kayıtlıisim_${member}`, toplamaisim) 64 | rdb.push(`eskiad_${member.id}`, toplamaisim) 65 | } 66 | if(member.roles.cache.has(erkekRole) || member.roles.cache.has(kizRole)) { 67 | rdb.set(`kayıtlıisim_${member}`, toplamaisim) 68 | rdb.push(`eskiad_${member.id}`, toplamaisim) 69 | let embed = new Discord.MessageEmbed() 70 | .setDescription(` <@${message.author.id}> üzgünüm bu kullanıcıyı tekrar kayıt ettim fakat sana herhangi bir teyit puanı ekleyemedim çünkü veritabanın da kayıtlar buldum. 71 | 72 | ${eskiismi} 73 | 74 | \`.isimler ${member.id}\` komutuyla üyenin geçmiş isimlerine bakmanız tavsiye edilir.`) 75 | .setTimestamp() 76 | .setColor('RANDOM') 77 | message.react(client.emojiler.ret).catch(); 78 | message.channel.send(embed).then(x => x.delete({timeout: 25000})); 79 | } 80 | else { 81 | 82 | if (rdb.fetch(`taglıAlım.${message.guild.id}`)) { 83 | if(!member.user.username.includes("TAGINIZ") && !member.roles.cache.has("VİPROLİD") && !member.roles.cache.has("BOOSTERROL")) { 84 | message.channel.send(new Discord.MessageEmbed().setDescription(`${member} isimli üye tagımızı almadığı için kayıt işlemi tamamlanamadı.`)).then(x => x.delete({timeout: 5000})); 85 | return; 86 | } 87 | }; 88 | let mesaj = await message.channel.send(new Discord.MessageEmbed() 89 | .setDescription("*Aşağıdan etiketlediğin kişinin cinsiyetini seç.*") 90 | .setFooter(`${ayar.prefix}isimler ile isimleri gör! | Phentos`) 91 | .setColor("RANDOM") 92 | .setTitle(`Lütfen aşağıdan etiketlediğin kişinin cinsiyetini seç!`) 93 | .setDescription(` 94 | Kız kayıt için : 👩 95 | Erkek kayıt için : 🧑 96 | `) 97 | ).then(async m => { 98 | await m.react("👩") 99 | await m.react("🧑") 100 | return m; 101 | }).catch(err => undefined); 102 | let react = await mesaj.awaitReactions((reaction, user) => user.id == message.author.id && Emojiler.some(emoji => emoji == reaction.emoji.name), { errors: ["time"], max: 1, time: 15000 }).then(coll => coll.first()).catch(err => { mesaj.delete().catch(); return; }); 103 | if(!react) return; 104 | let seçim = ""; 105 | if (react.emoji.name == "👩") 106 | seçim = "Kiz"; 107 | else if (react.emoji.name == "🧑") 108 | seçim = "Erkek"; 109 | else { 110 | return; 111 | } 112 | mesaj = await mesaj.reactions.removeAll(); 113 | 114 | 115 | let Erkek = "erkekrolid" 116 | let Kadin = "kadınrolid" 117 | data.Settings[seçim].forEach(async rol => { 118 | 119 | if(seçim === "Erkek"){ 120 | member.roles.add("erkekrolid") 121 | member.roles.add("erkekrolid2") 122 | member.roles.remove("kayıtsızrolid") 123 | rdb.add(`yetkili.${message.author.id}.erkek`, 1) 124 | rdb.add(`yetkili.${message.author.id}.toplam`, 1) 125 | let alldata = rdb.fetch(`yetkili.${message.author.id}.toplam`) 126 | rdb.push(`isim.${message.guild.id}`, { 127 | userID: member.id, 128 | isim: isim, 129 | yas: yaş, 130 | role: erkekrol.id, 131 | role2: erkekrol2.id, 132 | tag: tag 133 | }) 134 | }else{ 135 | member.roles.add("kızrolid") 136 | member.roles.add("kızrolid2") 137 | member.roles.remove("kayıtsızrol2") 138 | rdb.add(`yetkili.${message.author.id}.kadin`, 1) 139 | rdb.add(`yetkili.${message.author.id}.toplam`, 1) 140 | let alldata = rdb.fetch(`yetkili.${message.author.id}.toplam`) 141 | rdb.push(`isim.${message.guild.id}`, { 142 | userID: member.id, 143 | isim: isim, 144 | yas: yaş, 145 | role: kadınrol.id, 146 | role2: kadınrol2.id, 147 | tag: tag 148 | }) 149 | } 150 | }) 151 | let Isim = `${member.user.username.includes(tag) ? tag : (ikinciTag ? ikinciTag : (tag || ""))} ${isim} | ${yaş}` 152 | member.setNickname(Isim) 153 | await mesaj.edit(new Discord.MessageEmbed() 154 | .setColor('RANDOM') 155 | .setFooter(`${ayar.prefix}isimler komutu ile isim geçmişini gör! | Phentos`) 156 | .addField("KAYIT TAMAMLANDI! \n", member.toString() + " adlı kişiyi " + message.author.toString() + ` adlı yetkili **${seçim}** olarak kayıt etti!`) 157 | ); 158 | await mesaj.delete({timeout:10000}) 159 | message.guild.channels.cache.get('genelchatid').send(new Discord.MessageEmbed().setDescription(`${member} aramıza katıldı. Sunucumuz şuanda **${message.guild.memberCount}** kişi! KURALLARI OKUMAYI UNUTMA!`).setColor('RANDOM')).then(x => x.delete({timeout: 10000})) 160 | 161 | 162 | let toplam = await rdb.fetch(`kayıttoplam_${message.author.id}`) || '0' 163 | 164 | 165 | }; 166 | 167 | 168 | } 169 | 170 | exports.conf = { 171 | enabled: true, 172 | guildOnly: true, 173 | aliases: ['k','erkek'], 174 | permLevel: 0 175 | } 176 | exports.help = { 177 | name: 'e', 178 | description: "erkek kullanıcıları kayıt etme komutu.", 179 | usage: 'erkek @kişi isim yaş' 180 | } 181 | 182 | 183 | const Emojiler = [ 184 | "👩", 185 | "🧑", 186 | "3️⃣", 187 | "4️⃣", 188 | "5️⃣", 189 | "6️⃣", 190 | "7️⃣", 191 | "8️⃣", 192 | "9️⃣" 193 | ] -------------------------------------------------------------------------------- /phentos.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const client = new Discord.Client(); 3 | const ayarlar = require('./ayarlar.json'); 4 | const chalk = require('chalk'); 5 | const moment = require('moment'); 6 | const { Client, Util } = require('discord.js'); 7 | const fs = require('fs'); 8 | const http = require('http'); 9 | const express = require('express'); 10 | require('./util/eventLoader.js')(client); 11 | const path = require('path'); 12 | const request = require('request'); 13 | const queue = new Map(); 14 | const db = require("quick.db"); 15 | 16 | const app = express(); 17 | app.get("/", (request, response) => { 18 | console.log(Date.now() + "Bot Hostlandı!"); 19 | response.sendStatus(200); 20 | }); 21 | app.listen(process.env.PORT); 22 | setInterval(() => { 23 | http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`); 24 | }, 280000); 25 | 26 | var prefix = ayarlar.prefix; 27 | 28 | const log = message => { 29 | console.log(`${message}`); 30 | }; 31 | 32 | client.commands = new Discord.Collection(); 33 | client.aliases = new Discord.Collection(); 34 | fs.readdir('./komutlar/', (err, files) => { 35 | if (err) console.error(err); 36 | log(`${files.length} komut yüklenecek. Phentos Tarafından Hazırlandı!`); 37 | files.forEach(f => { 38 | let props = require(`./komutlar/${f}`); 39 | log(`Yüklenen komut: ${props.help.name}.`); 40 | client.commands.set(props.help.name, props); 41 | props.conf.aliases.forEach(alias => { 42 | client.aliases.set(alias, props.help.name); 43 | }); 44 | }); 45 | }); 46 | 47 | 48 | 49 | 50 | client.reload = command => { 51 | return new Promise((resolve, reject) => { 52 | try { 53 | delete require.cache[require.resolve(`./komutlar/${command}`)]; 54 | let cmd = require(`./komutlar/${command}`); 55 | client.commands.delete(command); 56 | client.aliases.forEach((cmd, alias) => { 57 | if (cmd === command) client.aliases.delete(alias); 58 | }); 59 | client.commands.set(command, cmd); 60 | cmd.conf.aliases.forEach(alias => { 61 | client.aliases.set(alias, cmd.help.name); 62 | }); 63 | resolve(); 64 | } catch (e) { 65 | reject(e); 66 | } 67 | }); 68 | }; 69 | 70 | client.load = command => { 71 | return new Promise((resolve, reject) => { 72 | try { 73 | let cmd = require(`./komutlar/${command}`); 74 | client.commands.set(command, cmd); 75 | cmd.conf.aliases.forEach(alias => { 76 | client.aliases.set(alias, cmd.help.name); 77 | }); 78 | resolve(); 79 | } catch (e) { 80 | reject(e); 81 | } 82 | }); 83 | }; 84 | 85 | 86 | 87 | 88 | client.unload = command => { 89 | return new Promise((resolve, reject) => { 90 | try { 91 | delete require.cache[require.resolve(`./komutlar/${command}`)]; 92 | let cmd = require(`./komutlar/${command}`); 93 | client.commands.delete(command); 94 | client.aliases.forEach((cmd, alias) => { 95 | if (cmd === command) client.aliases.delete(alias); 96 | }); 97 | resolve(); 98 | } catch (e) { 99 | reject(e); 100 | } 101 | }); 102 | }; 103 | 104 | client.elevation = message => { 105 | if (!message.guild) { 106 | return; 107 | } 108 | let permlvl = 0; 109 | if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2; 110 | if (message.member.hasPermission("ADMINISTRATOR")) permlvl = 3; 111 | if (message.author.id === ayarlar.sahip) permlvl = 4; 112 | return permlvl; 113 | }; 114 | //Fake giriş mesajı. Chate gir yazarsanız bir hesap giriş yapmış gibi olur. Farklı hesap sokmakla uğraşmazsınız! 115 | client.on("message", async message => { 116 | if(!message.author.id == ayarlar.sahip) return; 117 | if (message.content === "gir") { 118 | client.emit( 119 | "guildMemberAdd", 120 | message.member || (await message.guild.fetchMember(message.author)) 121 | ); 122 | } 123 | }); 124 | //Taglı Alım- Tag Alınca Mesaj Sistemi 125 | 126 | client.on("userUpdate", async (oldUser, newUser) => { 127 | let sunucu = `sunucuid`; 128 | let kanal = `logkanalid`; 129 | let taglı = `familyrol`; 130 | 131 | let tag = `TAGINIZ`; 132 | let untag = `İKİNCİTAGINIZ`; 133 | let channel = client.guilds.cache.get(sunucu).channels.cache.get(kanal); 134 | 135 | if (oldUser.username !== newUser.username) { 136 | if ( 137 | newUser.username.includes(tag) && 138 | !client.guilds.cache 139 | .get(sunucu) 140 | .members.cache.get(newUser.id) 141 | .roles.cache.has(taglı) 142 | ) { 143 | await client.guilds.cache 144 | .get(sunucu) 145 | .members.cache.get(newUser.id) 146 | .roles.add(taglı); 147 | 148 | await client.guilds.cache 149 | .get(sunucu) 150 | .members.cache.get(newUser.id) 151 | .setNickname( 152 | client.guilds.cache 153 | .get(sunucu) 154 | .members.cache.get(newUser.id) 155 | .displayName.replace(untag, tag) 156 | ); 157 | 158 | channel.send(`${newUser} adlı kullanıcı "${tag}" sembolünü kullanıcı adına ekleyerek ailemize katıldı.`); 159 | } 160 | if ( 161 | !newUser.username.includes(tag) && 162 | client.guilds.cache 163 | .get(sunucu) 164 | .members.cache.get(newUser.id) 165 | .roles.cache.has(taglı) 166 | ) { 167 | if (db.fetch(`taglıAlım.${sunucu}`)) { 168 | await client.guilds.cache 169 | .get(sunucu) 170 | .members.cache.get(newUser.id) 171 | .roles.remove(taglı); 172 | await client.guilds.cache 173 | .get(sunucu) 174 | .members.cache.get(newUser.id) 175 | roles.set(["kayıtsızrolid"] || []); 176 | } 177 | await client.guilds.cache 178 | .get(sunucu) 179 | .members.cache.get(newUser.id) 180 | .roles.remove(taglı); 181 | 182 | await client.guilds.cache 183 | .get(sunucu) 184 | .members.cache.get(newUser.id) 185 | .setNickname( 186 | client.guilds.cache 187 | .get(sunucu) 188 | .members.cache.get(newUser.id) 189 | .displayName.replace(tag, untag) 190 | ); 191 | channel.send(`${newUser} adlı kullanıcı "${tag}" sembolünü kullanıcı adından kaldırarak ailemizden ayrıldı.`); 192 | } 193 | } 194 | }); 195 | 196 | //Komutlara react sistemi 197 | client.emojiler = { 198 | onay: "795217749731049493", 199 | ret: "795217992602353664", 200 | }; 201 | //Son 202 | 203 | //Sunucuya giriş mesajı 204 | client.on("guildMemberAdd", phentos => { 205 | let tag = "TAGINIZ"; 206 | let tagsızSembolü = "İKİNCİTAGINIZ"; 207 | if (phentos.user.username.includes(tag)) { 208 | phentos.setNickname(`${tag} İsim | Yaş`) 209 | } else { 210 | phentos.setNickname(`${tagsızSembolü} İsim | Yaş`) 211 | } 212 | phentos.roles.add("kayıtsızrolid"); 213 | }) 214 | //Sunucuya giriş mesajı 215 | client.on("guildMemberAdd", (member, message) => { 216 | const sunucuid = "sunucuid"; //Sunucu 217 | const id = "kayıtkanalid"; //Kanal 218 | const kayıtsızRole = "kayıtsızrolid"; //Kayıtsız rol 219 | const jailRole = "jailrolid" 220 | if (member.guild.id !== sunucuid) return; 221 | const channel = member.guild.channels.cache.get(id); 222 | let memberGün = moment(member.user.createdAt).format("DD"); 223 | let memberTarih = moment(member.user.createdAt).format("YYYY HH:mm:ss"); 224 | let guvenilirlik = Date.now()-member.user.createdTimestamp < 1000*60*60*24*7; 225 | let memberAylar = moment(member.user.createdAt).format("MM").replace("01", "Ocak").replace("02", "Şubat").replace("03", "Mart").replace("04", "Nisan").replace("05", "Mayıs").replace("06", "Haziran").replace("07", "Temmuz").replace("08", "Ağustos").replace("09", "Eylül").replace("10", "Ekim").replace("11", "Kasım").replace("12", "Aralık"); 226 | let üyesayısı = member.guild.members.cache.size.toString().replace(/ /g, " ") 227 | var üs = üyesayısı.match(/([0-9])/g) 228 | üyesayısı = üyesayısı.replace(/([a-zA-Z])/g, "bilinmiyor").toLowerCase() 229 | if(üs) { 230 | üyesayısı = üyesayısı.replace(/([0-9])/g, d => { 231 | return { 232 | '0': ` `, 233 | '1': ` `, 234 | '2': ` `, 235 | '3': ` `, 236 | '4': ` `, 237 | '5': ` `, 238 | '6': ` `, 239 | '7': ` `, 240 | '8': ` `, 241 | '9': ``}[d]; 242 | }) 243 | } 244 | const phentosfoto = new Discord.MessageAttachment("https://cdn.discordapp.com/attachments/779455383986241536/798281651342934036/1.gif"); 245 | channel.send(` 246 | ${member} Sunucumuza Hoşgeldin! Seninle birlikte ${üyesayısı} kişi olduk! 247 | 248 | Ses kanallarından herhangi birisine girerek kayıt olabilirsin! 249 | 250 | <#795962099515392010> kanalını okumayı unutma! Kuralları okumuş olarak cezai işlem uygulanacaktır! 251 | 252 | Hesabını açılış süresi ${memberGün} ${memberAylar} ${memberTarih} ${guvenilirlik ? "" : " " } 253 | 254 | Tagımıza ulaşmak için herhangi bir kanala **!tag** yazarak ulaşabilirsin! ** TAGINIZ ** 255 | `) 256 | // let phentos = new Discord.MessageEmbed() 257 | //.setDescription(` 258 | // Hoş geldin ${member}, seninle birlikte ${üyesayısı} kişiyiz! 259 | 260 | // Ses kanalına girerek kayıt olabilirsin sunucuya giriş yaptınız anda <#795962099515392010> okumuş olarak kabul edileceksin ve ona göre hakkın da ceza işlemi yapılacaktır! 261 | 262 | // Hesabının açılış süresi ${memberGün} ${memberAylar} ${memberTarih} > ${guvenilirlik ? "" : " "} 263 | //`) 264 | //.setColor('RANDOM') 265 | //.setTimestamp(); 266 | //channel.send(register).then(x => x.delete({timeout: 5000})); 267 | //channel.send(phentos); 268 | if (guvenilirlik) { 269 | member.roles.set(["795956778243981342"]) 270 | member.roles.add("795956778243981342") 271 | return; 272 | } 273 | //YUKARIDA DİLERSENİZ EMBEDLİ DİLERSENİZ EMBEDLİ KULLANIM SAĞLAYABİLİRSİNİZ! **//** BUNLARI SİLEREK AÇABİLİR KAPATABİLİRSİNİZ. 274 | }); 275 | 276 | var regToken = /[\w\d]{24}\.[\w\d]{6}\.[\w\d-_]{27}/g; 277 | client.on('warn', e => { 278 | console.log(chalk.bgYellow(e.replace(regToken, 'that was redacted'))); 279 | }); 280 | 281 | client.on('error', e => { 282 | console.log(chalk.bgRed(e.replace(regToken, 'that was redacted'))); 283 | }); 284 | 285 | client.on("ready", async () => { 286 | let botVoiceChannel = client.channels.cache.get("seskanalid"); //dilerseniz silebilirsiniz 287 | if (botVoiceChannel) botVoiceChannel.join().catch(err => console.error("Bot ses kanalına bağlanamadı!")); 288 | }); 289 | client.login(ayarlar.token); --------------------------------------------------------------------------------