├── 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);
--------------------------------------------------------------------------------