├── .gitattributes ├── README.md ├── baslat.bat ├── package-lock.json ├── package.json ├── pusha.js └── src ├── commands ├── 1-Owner-Sistemi 1 │ ├── semakur.js │ ├── setup.js │ ├── setup2.js │ └── setup3.js ├── 1-Owner-Sistemi 2 │ ├── emoji-yükle.js │ ├── emojikur.js │ ├── emojikur2.js │ ├── koruma.js │ ├── rolsuz.js │ ├── sunucu.js │ └── sunucukur.js ├── 1-Owner-Sistemi 3 │ ├── bannedtag.js │ ├── control.js │ ├── eval.js │ ├── koruma.js │ ├── reload.js │ ├── rolsuz.js │ ├── tagkontrol.js │ ├── tagsızat.js │ ├── topluban.js │ └── yaz.js ├── 10-Terfi-Sistemi │ ├── coin.js │ ├── gorev.js │ ├── tagaldır.js │ ├── topcoin.js │ └── yetkialdir.js ├── 11-Sıfırlama-Sistemi │ ├── cezapuansil.js │ ├── coinsil.js │ ├── isimsil.js │ ├── sicilsil.js │ └── sıfırlama.js ├── 12-Bilgilendirme-Sistemi │ ├── me.js │ ├── senkronize.js │ └── snipe.js ├── 13-Rolverme-Sistemi │ ├── StreamerSorumlusu.js │ ├── dcyönetici.js │ ├── musician.js │ ├── soruncozme.js │ ├── streamer.js │ ├── terapist.js │ ├── vip.js │ └── vkyönetici.js ├── 14-Kullanici-Sistemi │ ├── afk.js │ ├── avatar.js │ ├── git.js │ ├── help.js │ ├── kb.js │ ├── link.js │ ├── profil.js │ ├── ship.js │ ├── yardım.js │ ├── zengin.js │ └── çek.js ├── 15-Market-Sistemi │ ├── CoinFlip.js │ ├── Daily.js │ ├── GameSlot.js │ ├── Hesap-Oluştur.js │ ├── coin.js │ ├── market.js │ └── market2.js ├── 16-Ekip-Sistemi │ ├── ekip.js │ ├── ekipbakma.js │ ├── ekipses.js │ └── ekipss.js ├── 2-Button-Sistemi │ ├── button.js │ ├── button2.js │ ├── button3.js │ ├── cezabutton.js │ ├── ec-rolalma.js │ └── ec-rolalma2.js ├── 3-Menu-Sistemi │ ├── kisayollar.js │ └── menuselect.js ├── 4-Kayit-Sistemi │ ├── bağlantı-kes.js │ ├── erkek.js │ ├── isim.js │ ├── kadin.js │ ├── kayit.js │ ├── kayitisimler.js │ ├── kayitsiz.js │ ├── kayitstat.js │ └── taglıalım.js ├── 5-Stats-Sistemi │ ├── stat.js │ └── topstat.js ├── 6-İnvite-Sistemi │ ├── invite-add-delete-query.js │ ├── inviterank.js │ └── invitetop.js ├── 7-Yetkili-Sistemi │ ├── say.js │ ├── seskontrol.js │ ├── seslisay.js │ ├── tagsay.js │ └── yetkilises.js ├── 8-UstYetkili-Sistemi │ ├── allmove.js │ ├── kilit.js │ ├── rolbilgi.js │ ├── rollog.js │ ├── rolver.js │ ├── sil.js │ ├── toplanti.js │ └── yavasmod.js └── 9-Ceza-Sistemi │ ├── allmute.js │ ├── allunmute.js │ ├── ban.js │ ├── banliste.js │ ├── bannedtag.js │ ├── cezapuan.js │ ├── cezasorgu.js │ ├── forceban.js │ ├── jail.js │ ├── mute.js │ ├── reklam.js │ ├── sicil.js │ ├── temp-jail.js │ ├── topceza.js │ ├── topluban.js │ ├── unban.js │ ├── unjail.js │ ├── unmute.js │ ├── unreklam.js │ ├── unvmute.js │ ├── uyarı.js │ └── vmute.js ├── configs ├── LeaderBoard.json ├── emojis.json ├── emojis2.json ├── settings.json └── sunucuayar.json ├── events ├── ChatLeaderBoard.js ├── VoiceLeaderBoard.js ├── afk.js ├── autoReply.js ├── button.js ├── button3.js ├── cezabutton.js ├── commandHandler.js ├── deleteStats.js ├── guildBanRemove.js ├── guildCreate.js ├── guildDelete.js ├── guildMemberAdd.js ├── guildMemberRemove.js ├── guildMemberUpdate.js ├── iltifat.js ├── inviteCreate.js ├── inviteDelete.js ├── inviteGuildCreate.js ├── messageDelete.js ├── messageStats.js ├── messageUpdate.js ├── ready.js ├── userUpdate.js ├── voiceLogs.js ├── voiceStateUpdate.js └── voiceStats.js ├── handlers ├── eventHandler.js ├── functionHandler.js └── mongoHandler.js ├── models └── sunucuayar.js └── schemas ├── afk.js ├── bannedTag.js ├── ceza.js ├── cezapuan.js ├── coin.js ├── dolar.js ├── ekip.js ├── forceBans.js ├── invite.js ├── inviteMember.js ├── inviter.js ├── kayitgorev.js ├── mesajgorev.js ├── messageGuild.js ├── messageGuildChannel.js ├── messageUser.js ├── messageUserChannel.js ├── names.js ├── otokayit.JS ├── penals.js ├── registerStats.js ├── rolveridb.js ├── snipe.js ├── taggeds.js ├── taggorev.js ├── toplams.js ├── uyarisayi.js ├── voiceGuild.js ├── voiceGuildChannel.js ├── voiceInfo.js ├── voiceJoinedAt.js ├── voiceUser.js ├── voiceUserChannel.js ├── voiceUserParent.js └── yetkis.js /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Normalde Böyle Bişey Yapan Bir İnsan Değilim Ancak 100 Defadan Fazla Yardım istedi 100 Defadan Fazlada Acıdıgım İcin 3 | Yardım Ettim Ve Sonrasında Aradakaşlarıma Snow Denden KOD Dileniyor Dedigi İcin Al Botu Atiyim Nolur diye Yazarak Attıgı Botu 4 | Paylaşıyorum Bot Zaten Canzade nin Botu Hoşgeldin Mesajı Falan Eklemeye Calışmış Eşşolu Eşşek Ama Yapamamış Onu bile Buraya Yeni SS ler 5 | Atılıcak Zaten Bunlar 1 2 Gün İcerisinde Yalvarıp Kod İstedigi SS ler 6 | 7 | acerhizm#0360 8 | / 9 | Jaylen#1404 10 | / 11 | SnowOuts ⁸⁸#1040 12 | / 13 | Parzival.#1502 14 | / 15 | Passenger#1997 16 | / 17 | Cyber Râte#9876 18 | / 19 | remornn#0671 20 | 21 | 22 | Bunlarda Dilendigi Kişiler 😋 23 | 24 | https://discord.gg/Tqf6mYeF99 Burasıda Bizim Yer 25 | 26 | ![image](https://media.discordapp.net/attachments/971875586723176448/983375027464450078/unknown.png) 27 | ![image](https://media.discordapp.net/attachments/971875586723176448/983379305763586048/unknown.png) 28 | ![image](https://media.discordapp.net/attachments/971875586723176448/983147643884666941/unknown.png) 29 | ![image](https://media.discordapp.net/attachments/971875586723176448/982898572192284762/IMG_20220605_094725.jpg?width=954&height=678) 30 | ![image](https://media.discordapp.net/attachments/971875586723176448/982758349764427776/unknown.png) 31 | ![image](https://media.discordapp.net/attachments/971875586723176448/982319065613873182/bilinmeyen.jpeg?width=626&height=678) 32 | ![image](https://media.discordapp.net/attachments/971875586723176448/982318665867362324/bilinmeyen.jpeg?width=489&height=678) 33 | ![image](https://media.discordapp.net/attachments/971875586723176448/981654489243205682/unknown.png) 34 | ![image](https://media.discordapp.net/attachments/971875586723176448/981653988648820806/unknown.png) 35 | ![image](https://media.discordapp.net/attachments/971875586723176448/981631061668823080/unknown.png) 36 | ![image](https://media.discordapp.net/attachments/971875586723176448/981630885277352016/unknown.png) 37 | ![image](https://media.discordapp.net/attachments/971875586723176448/981630562030723172/unknown.png) 38 | ![image](https://media.discordapp.net/attachments/971875586723176448/981630420892409886/bilinmeyen.jpeg?width=305&height=678) 39 | ![image](https://media.discordapp.net/attachments/971875586723176448/983395091580346428/unknown.png) 40 | ![image](https://media.discordapp.net/attachments/971875586723176448/983395442773614672/unknown.png) 41 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394796167118878/unknown.png) 42 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394757092986930/unknown.png) 43 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394714084597790/unknown.png) 44 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394684686704670/unknown.png?width=631&height=679) 45 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394655523717160/unknown.png) 46 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394595666808892/unknown.png) 47 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394429777899600/unknown.png) 48 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394400027693116/unknown.png) 49 | ![image](https://media.discordapp.net/attachments/971875586723176448/983394365177225297/unknown.png) 50 | ![image](https://media.discordapp.net/attachments/983398450597093436/983399108058427453/IMG_3998.png?width=535&height=678) 51 | ![image](https://media.discordapp.net/attachments/983398450597093436/983399108331073546/IMG_3999.png?width=479&height=679) 52 | ![image](https://media.discordapp.net/attachments/983398450597093436/983399108645634088/IMG_4001.png?width=477&height=679) 53 | ![image](https://media.discordapp.net/attachments/983398450597093436/983399443976044564/unknown.png) 54 | ![image](https://media.discordapp.net/attachments/983398450597093436/983401509196791868/unknown.png?width=345&height=678) 55 | ![image](https://media.discordapp.net/attachments/983398450597093436/983402740342476880/unknown.png?width=615&height=679) 56 | [image](https://media.discordapp.net/attachments/983398450597093436/983402740342476880/unknown.png?width=615&height=679) 57 | [image](https://media.discordapp.net/attachments/983398450597093436/983402740560568380/unknown.png?width=372&height=678) 58 | [image](https://media.discordapp.net/attachments/983398450597093436/983402740791279646/unknown.png) 59 | -------------------------------------------------------------------------------- /baslat.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | title 1-Main 3 | color a 4 | cls 5 | :a 6 | node pusha.js 7 | goto a 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pusha-supervizor", 3 | "version": "0.0.1", 4 | "description": "pusha supervisor.", 5 | "main": "pusha.js", 6 | "scripts": { 7 | "start": "node pusha.js" 8 | }, 9 | "dependencies": { 10 | "ark.db": "^2.7.1", 11 | "axios": "^0.24.0", 12 | "canvas": "^2.9.0", 13 | "chart.js": "^3.7.0", 14 | "chartjs-node-canvas": "^3.2.0", 15 | "cron": "^1.8.2", 16 | "discord-buttons": "^4.0.0", 17 | "discord-logs": "^1.9.0", 18 | "discord-reply": "^0.1.2", 19 | "discord.js": "^12.5.3", 20 | "express": "^4.17.1", 21 | "i": "^0.3.7", 22 | "moment": "^2.29.1", 23 | "moment-duration-format": "^2.3.2", 24 | "mongoose": "^5.13.13", 25 | "node-fetch": "^3.0.0", 26 | "npm": "^8.1.3", 27 | "parse-ms": "^2.1.0", 28 | "table": "^6.8.0", 29 | "weky": "^2.0.9" 30 | }, 31 | "engines": { 32 | "node": "12.x" 33 | }, 34 | "license": "MIT", 35 | "keywords": [ 36 | "pusha", 37 | "Supervisor" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 1/semakur.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const settings = require("../../configs/settings.json"); 3 | const sema = require("../../models/sunucuayar") 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: ["semakur"], 8 | name: "semakur", 9 | owner: true, 10 | }, 11 | 12 | run: async (client, message, args) => { 13 | 14 | sema.findOne({guildID: message.guild.id }, async (err, doc) => { 15 | if(!doc){ 16 | const newData = new sema({ 17 | }) 18 | newData.save().catch(e => console.log(e))} 19 | if(doc) return 20 | }) 21 | message.channel.send(`Bot kurulumu tamamlandı.`) } 22 | }; 23 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 2/emoji-yükle.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const { green, kirmiziok } = require("../../configs/emojis.json") 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: ["emoji","addemoji"], 7 | name: "emojiekle", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | 13 | if(!message.member.hasPermission("MANAGE_EMOJIS")) return message.channel.send(new Discord.MessageEmbed().setTitle('Hata!').setColor('#ff0000').setDescription(`${message.author} bu komutu kullanabilmek için \`Emojileri Yönet\` Yetkisine sahip olmalısın.`)); 14 | let link = args[0] 15 | let isim = args[1]; 16 | let guild = message.guild; 17 | if (!link) return message.channel.send('Link Girmelisin'); 18 | if (!isim) return message.channel.send('Emojiye isim seçmelisin'); 19 | 20 | guild.emojis.create(`${link}`, `${isim}`) 21 | .then(emoji => 22 | message.channel.send(`${kirmiziok} \`${isim}\` adlı emojiyi sunucuya ekledim.`)) 23 | message.react(green) 24 | .catch(console.error); 25 | 26 | }, 27 | }; -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 2/emojikur2.js: -------------------------------------------------------------------------------- 1 | const { Database } = require("ark.db"); 2 | const db = new Database("/src/configs/emojis2.json"); 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: [], 7 | name: "emojikur2", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | const emojis = [ 13 | { name: "bir", url: "https://cdn.discordapp.com/emojis/958300948114051072.gif?size=80&quality=lossless" }, 14 | { name: "iki", url: "https://cdn.discordapp.com/emojis/958300990052913172.gif?size=80&quality=lossless" }, 15 | { name: "üç", url: "https://cdn.discordapp.com/emojis/958300955588317215.gif?size=80&quality=lossless" }, 16 | { name: "dort", url: "https://cdn.discordapp.com/emojis/958300960566960128.gif?size=80&quality=lossless" }, 17 | { name: "beş", url: "https://cdn.discordapp.com/emojis/958300993718734878.gif?size=80&quality=lossless" }, 18 | { name: "altı", url: "https://cdn.discordapp.com/emojis/958300974043263006.gif?size=80&quality=lossless" }, 19 | { name: "yedi", url: "https://cdn.discordapp.com/emojis/958300983115522078.gif?size=80&quality=lossless" }, 20 | { name: "sekiz", url: "https://cdn.discordapp.com/emojis/958300969706344448.gif?size=80&quality=lossless" }, 21 | { name: "dokuz", url: "https://cdn.discordapp.com/emojis/958300965151330304.gif?size=80&quality=lossless" }, 22 | { name: "sıfır", url: "https://cdn.discordapp.com/emojis/958300978673766430.gif?size=80&quality=lossless" } 23 | ] 24 | emojis.forEach(async (x) => { 25 | if (message.guild.emojis.cache.find((e) => x.name === e.name)) return db.set(x.name, message.guild.emojis.cache.find((e) => x.name === e.name).toString()); 26 | const emoji = await message.guild.emojis.create(x.url, x.name); 27 | await db.set(x.name, emoji.toString()); 28 | message.channel.send(`\`${x.name}\` isimli emoji oluşturuldu! (${emoji.toString()})`); 29 | }); 30 | }, 31 | }; 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 2/koruma.js: -------------------------------------------------------------------------------- 1 | const { green, red } = require("../../configs/emojis.json") 2 | 3 | module.exports = { 4 | conf: { 5 | aliases: [], 6 | name: "koruma", 7 | owner: true, 8 | }, 9 | 10 | run: async (client, message, args,embed) => { 11 | if(!args[0]){ 12 | message.react(red) 13 | message.channel.send(embed.setDescription(`Bir argüman belirtmelisin! \`aç - kapat\``)).then(x=>x.delete({timeout:5000})) 14 | } 15 | if(args[0] == "aç") { 16 | message.channel.send(`Koruma açıldı! Rollerin yetkileri kapatıldı! Sunucu güvende!`) 17 | message.react(green) 18 | const yetki1 = message.guild.roles.cache.find(r => r.id === "945760985782841398");//#OWNER 19 | yetki1.setPermissions(0); 20 | const yetki2 = message.guild.roles.cache.find(r => r.id === "945760985782841402");//#Ceo 21 | yetki2.setPermissions(0); 22 | const yetki3 = message.guild.roles.cache.find(r => r.id === "945760985782841399");//#Yıldız 23 | yetki3.setPermissions(0); 24 | 25 | } 26 | 27 | 28 | 29 | 30 | if(args[0] == "kapat") { 31 | message.channel.send(`Koruma kapatıldı! Rollerin yetkileri yüklendi! Dikkatli olman dileğiyle!`) 32 | message.react(green) 33 | const yetki1 = message.guild.roles.cache.find(r => r.id === "945760985782841398");//#Owner 34 | yetki1.setPermissions(4592763008); 35 | const yetki2 = message.guild.roles.cache.find(r => r.id === "945760985782841402");//#Ceo 36 | yetki2.setPermissions(4324327554); 37 | const yetki3 = message.guild.roles.cache.find(r => r.id === "945760985782841399");//#Yıldız 38 | yetki3.setPermissions(4324327424); 39 | 40 | } 41 | }, 42 | }; 43 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 2/rolsuz.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const settings = require("../../configs/settings.json"); 3 | const conf = require("../../configs/sunucuayar.json") 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: [], 8 | name: "rolsuz", 9 | owner: true, 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | let ozicim = message.guild.members.cache.filter(m => m.roles.cache.filter(r => r.id !== message.guild.id).size == 0) 14 | if(args[0] == "ver") { 15 | ozicim.forEach(r => { 16 | r.roles.add(conf.unregRoles) 17 | }) 18 | message.channel.send(embed 19 | .setDescription("Sunucuda rolü olmayan \`"+ ozicim.size +"\` kişiye kayıtsız rolü verildi!")) 20 | } else if(!args[0]) { 21 | message.channel.send(embed 22 | .setDescription("Sunucumuzda rolü olmayan \`"+ ozicim.size +"\` kişi var. Bu kişilere kayıtsız rolü vermek için \`.rolsüz ver\` komutunu uygulayın!")) 23 | } 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 2/sunucu.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr") 3 | module.exports = { 4 | conf: { 5 | aliases: ["yönetim","sunucu"], 6 | name: "ayar", 7 | help: "yönetim [resim] , [banner] , []", 8 | owner: true, 9 | enabled: true 10 | }, 11 | 12 | /** 13 | * @param {Client} client 14 | * @param {Message} message 15 | * @param {Array} args 16 | * @param {MessageEmbed} embed 17 | * @returns {Promise} 18 | */ 19 | run: async (client, message, args, embed) => { 20 | if(!args[0]) return message.reply(`Hata yaptın! Bir seçim belirtmelisin! \`resim , banner , isim , profile , nick\``).then(x=>x.delete({timeout:50000})) 21 | if(args[0] === "resim") 22 | { 23 | message.attachments.forEach(attachment => { 24 | const url = attachment.url; 25 | message.guild.setIcon(url) 26 | }); 27 | message.reply(`Başarılı bir şekilde sunucu resmi değiştirilmiştir!`).then(x=>x.delete({timeout:50000})) 28 | console.log(`${message.author.tag} (${message.author.id}) tarafından ${moment(message.createdAt).format("lll")} zamanında sunucu resmi değiştirildi!`) 29 | } 30 | if(args[0] === "isim") 31 | { 32 | let isim = args.slice(1).join(" ") 33 | message.guild.setName(isim) 34 | message.reply(`Başarılı bir şekilde sunucu ismi \`${isim}\` olarak değiştirildi!`) 35 | console.log(`${message.author.tag} (${message.author.id}) tarafından ${moment(message.createdAt).format("lll")} zamanında sunucu ismi \`${isim}\` olarak değiştirildi!`) 36 | } 37 | if(args[0] === "banner") 38 | { 39 | message.attachments.forEach(attachment => { 40 | const url = attachment.url; 41 | message.guild.setIcon(url) 42 | }); 43 | message.reply(`Başarılı bir şekilde sunucu afişi değiştirilmiştir!`).then(x=>x.delete({timeout:50000})) 44 | console.log(`${message.author.tag} (${message.author.id}) tarafından ${moment(message.createdAt).format("lll")} zamanında sunucu afişi değiştirildi!`) 45 | } 46 | if(args[0] === "profile") 47 | { 48 | message.attachments.forEach(attachment => { 49 | const url = attachment.url; 50 | if(!url) return message.reply(`Bir bot fotoğrafı seçmelisin!`) 51 | client.user.setAvatar(url); 52 | }); 53 | message.reply(`Başarılı bir şekilde bot profili değiştirilmiştir!`).then(x=>x.delete({timeout:50000})) 54 | console.log(`${message.author.tag} (${message.author.id}) tarafından ${moment(message.createdAt).format("lll")} zamanında bot profili değiştirildi!`) 55 | } 56 | if(args[0] === "nick") 57 | { 58 | let isim = args.slice(1).join(" ") 59 | client.user.setUsername(isim) 60 | message.reply(`Başarılı bir şekilde bot ismi \`${isim}\` olarak değiştirildi!`) 61 | console.log(`${message.author.tag} (${message.author.id}) tarafından ${moment(message.createdAt).format("lll")} zamanında bot ismi \`${isim}\` olarak değiştirildi!`) 62 | } 63 | }, 64 | }; -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/eval.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const settings = require("../../configs/settings.json"); 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: ["eval"], 7 | name: "eval", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | if (!args[0]) return; 13 | let code = args.join(" "); 14 | 15 | try { 16 | var result = clean(await eval(code)); 17 | if (result.includes(client.token)) 18 | return message.channel.send("Kancık seni .d"); 19 | message.channel.send(result, { 20 | code: "js", 21 | split: true, 22 | }); 23 | } catch (err) { 24 | message.channel.send(err, { code: "js", split: true }); 25 | } 26 | }, 27 | }; 28 | 29 | function clean(text) { 30 | if (typeof text !== "string") 31 | text = require("util").inspect(text, { depth: 0 }); 32 | text = text 33 | .replace(/`/g, "`" + String.fromCharCode(8203)) 34 | .replace(/@/g, "@" + String.fromCharCode(8203)); 35 | return text; 36 | } 37 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/koruma.js: -------------------------------------------------------------------------------- 1 | const { green, red } = require("../../configs/emojis.json") 2 | 3 | module.exports = { 4 | conf: { 5 | aliases: [], 6 | name: "koruma", 7 | owner: true, 8 | }, 9 | 10 | run: async (client, message, args,embed) => { 11 | if(!args[0]){ 12 | message.react(red) 13 | message.channel.send(embed.setDescription(`Bir argüman belirtmelisin! \`aç - kapat\``)).then(x=>x.delete({timeout:5000})) 14 | } 15 | if(args[0] == "aç") { 16 | message.channel.send(`Koruma açıldı! Rollerin yetkileri kapatıldı! Sunucu güvende!`) 17 | message.react(green) 18 | const yetki1 = message.guild.roles.cache.find(r => r.id === "945760985782841398");//#OWNER 19 | yetki1.setPermissions(0); 20 | const yetki2 = message.guild.roles.cache.find(r => r.id === "945760985782841402");//#Ceo 21 | yetki2.setPermissions(0); 22 | const yetki3 = message.guild.roles.cache.find(r => r.id === "945760985782841399");//#Yıldız 23 | yetki3.setPermissions(0); 24 | 25 | } 26 | 27 | 28 | 29 | 30 | if(args[0] == "kapat") { 31 | message.channel.send(`Koruma kapatıldı! Rollerin yetkileri yüklendi! Dikkatli olman dileğiyle!`) 32 | message.react(green) 33 | const yetki1 = message.guild.roles.cache.find(r => r.id === "945760985782841398");//#Owner 34 | yetki1.setPermissions(4592763008); 35 | const yetki2 = message.guild.roles.cache.find(r => r.id === "945760985782841402");//#Ceo 36 | yetki2.setPermissions(4324327554); 37 | const yetki3 = message.guild.roles.cache.find(r => r.id === "945760985782841399");//#Yıldız 38 | yetki3.setPermissions(4324327424); 39 | 40 | } 41 | }, 42 | }; 43 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/reload.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | module.exports = { 4 | conf: { 5 | aliases: ['reload', 'reboot', 'restart'], 6 | name: "reload", 7 | owner: true, 8 | }, 9 | 10 | run: async (client, message, params) => { 11 | 12 | if (!message.guild) return 13 | 14 | if(params[0]) { 15 | let commandName = params[0].toLowerCase() 16 | try { 17 | delete require.cache[require.resolve(`./${commandName}.js`)] 18 | client.commands.delete(commandName) 19 | const pull = require(`./${commandName}.js`) 20 | client.commands.set(commandName, pull) 21 | } catch(e) { 22 | return message.channel.send(`Bir hata oluştu ve **${commandName}** adlı komut reloadlanamadı.`) 23 | } 24 | 25 | message.channel.send(`__**${commandName}**__ adlı komut yeniden başlatılıyor!`).then(x => x.delete({timeout: 5000})).catch(() => { }) 26 | 27 | return 28 | } 29 | message.channel.send(`__**Bot**__ yeniden başlatılıyor!`).then(msg => { 30 | console.log('[BOT] Yeniden başlatılıyor...') 31 | process.exit(0); 32 | }); 33 | 34 | }, 35 | }; -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/rolsuz.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const settings = require("../../configs/settings.json"); 3 | const serverSettings = require('../../models/sunucuayar') 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: [], 8 | name: "rolsuz", 9 | owner: true, 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | 14 | let conf = await serverSettings.findOne({ 15 | guildID: settings.guildID 16 | }); 17 | 18 | let ozicim = message.guild.members.cache.filter(m => m.roles.cache.filter(r => r.id !== message.guild.id).size == 0) 19 | if(args[0] == "ver") { 20 | ozicim.forEach(r => { 21 | r.roles.add(conf.unregRoles) 22 | }) 23 | message.channel.send(embed 24 | .setDescription("Sunucuda rolü olmayan \`"+ ozicim.size +"\` kişiye kayıtsız rolü verildi!")) 25 | } else if(!args[0]) { 26 | message.channel.send(embed 27 | .setDescription("Sunucumuzda rolü olmayan \`"+ ozicim.size +"\` kişi var. Bu kişilere kayıtsız rolü vermek için \`.rolsüz ver\` komutunu uygulayın!")) 28 | } 29 | }, 30 | }; 31 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/tagkontrol.js: -------------------------------------------------------------------------------- 1 | const { green, red } = require("../../configs/emojis.json") 2 | const settings = require("../../configs/settings.json"); 3 | const serverSettings = require('../../models/sunucuayar') 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: ["kontrol","check"], 8 | name: "kontrol", 9 | help: "kontrol" 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | 14 | let conf = await serverSettings.findOne({ 15 | guildID: settings.guildID 16 | }); 17 | 18 | let tag = conf.tag 19 | let rol = conf.ekipRolu 20 | let taglilar = message.guild.members.cache.filter(s => s.user.username.includes(tag) && !s.roles.cache.has(rol)) 21 | taglilar.array().forEach(async(member, index) => { 22 | setTimeout(async() => { 23 | if(member.user.bot) return 24 | await member.roles.add(rol) 25 | }, index * 1000) 26 | }) 27 | let toplam = taglilar.size 28 | if(toplam === 0) { 29 | message.lineReply(` Hata : Herkesin rolleri dağıtılmış!`).sil(20) 30 | } else { 31 | embed.setDescription(` 32 | ${green} Başarılı! **${toplam}** Adet kullanıcıya taglı rolü verilecek! 33 | `) 34 | message.lineReply(embed) 35 | } 36 | }, 37 | }; 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/tagsızat.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const settings = require("../../configs/settings.json"); 3 | const serverSettings = require('../../models/sunucuayar') 4 | 5 | 6 | module.exports = { 7 | conf:{ 8 | aliases: ["tagsızat"], 9 | name: "tagsızat", 10 | help: "tagsızat" 11 | }, 12 | run: async(client, message, args) => { 13 | 14 | let conf = await serverSettings.findOne({ 15 | guildID: settings.guildID 16 | }); 17 | 18 | if (!message.member.hasPermission("ADMINISTRATOR")) return; 19 | 20 | let embed = new MessageEmbed().setColor('RANDOM').setTimestamp().setFooter(`Developer By Pusha`) 21 | let tag = conf.tag 22 | let boosterRol = conf.boosterRolu 23 | let viprol = conf.vipRole 24 | let kayıtsızRol = conf.unregRoles 25 | message.guild.members.cache.filter(s => !s.user.username.includes(tag) && !s.roles.cache.has(boosterRol) && !s.roles.cache.has(viprol) && 26 | !s.roles.cache.has(kayıtsızRol)).forEach(async(member) => { 27 | setTimeout(async() => { 28 | member.roles.set([kayıtsızRol]) 29 | }, 1000) 30 | }) 31 | message.channel.send(embed.setDescription(`Kullanıcı adında tag bulunmayan kullanıcılar kayıtsıza atılıyor.`)) 32 | 33 | }, 34 | }; 35 | -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/topluban.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js") 2 | const moment = require("moment"); 3 | require("moment-duration-format") 4 | moment.locale("tr") 5 | const { red , green } = require("../../configs/emojis.json") 6 | 7 | module.exports = { 8 | conf: { 9 | aliases: [], 10 | name: "topluban", 11 | owner: true, 12 | }, 13 | 14 | run: async (client, message, args) => { 15 | 16 | if (args.length < 1) 17 | return message.lineReply( 18 | "Banlanacak kişilerin ID'lerini belirt.", 19 | ) 20 | const members = args 21 | .filter((id) => message.guild.members.cache.has(id)) 22 | .map((id) => message.guild.member(id)); 23 | if (members.length < 1) 24 | return message.lineReply( 25 | "Banlanacak kişilerin sunucuda olması gerekir.", 26 | ); 27 | 28 | const ozicik = await message.lineReply( 29 | `${members 30 | .map((member, idx) => `**${idx + 1}. ${member.toString()}**`) 31 | .join("\n")}\nBu üyeleri banlamak istiyor musun?`, 32 | ); 33 | await ozicik.react(green); 34 | const collector = ozicik.createReactionCollector( 35 | (reaction, user) => 36 | reaction.emoji.name === 'green' && user.id === message.author.id, 37 | { time: 1000 * 10 }, 38 | ); 39 | 40 | collector.on("collect", async () => { 41 | await ozicik.edit(`${green} ${members.length} adet kullanıcı başarıyla yasaklandı.`); 42 | for (const member of members) { 43 | if (member.bannable) 44 | await member.ban({ days: 7, reason: "Toplu ban" }); 45 | } 46 | collector.stop(); 47 | }); 48 | 49 | collector.on("end", (_, reason) => { 50 | console.log("end", reason); 51 | if (reason === "time") 52 | ozicik.edit("10 saniye geçtiği için işlem iptal edildi."); 53 | }); 54 | 55 | } 56 | } -------------------------------------------------------------------------------- /src/commands/1-Owner-Sistemi 3/yaz.js: -------------------------------------------------------------------------------- 1 | const { red } = require("../../configs/emojis.json") 2 | module.exports = { 3 | conf: { 4 | aliases: [], 5 | name: "yaz", 6 | owner: true, 7 | }, 8 | 9 | run: async (client, message, args) => { 10 | if(!args[0]) return message.react(red) 11 | message.delete(); 12 | message.channel.send(args.join(' ')); 13 | }, 14 | }; 15 | 16 | -------------------------------------------------------------------------------- /src/commands/10-Terfi-Sistemi/tagaldır.js: -------------------------------------------------------------------------------- 1 | const disbut = require("discord-buttons"); 2 | const coin = require("../../schemas/coin"); 3 | const taggeds = require("../../schemas/taggeds"); 4 | const tagli = require("../../schemas/taggorev"); 5 | const serverSettings =require('../../models/sunucuayar') 6 | const settings = require("../../configs/settings.json") 7 | const { red, green} = require("../../configs/emojis.json") 8 | module.exports = { 9 | conf: { 10 | aliases: ["tag-aldır", "taglıaldır", "taglı"], 11 | name: "tagaldır", 12 | help: "tagaldır [kullanıcı]" 13 | }, 14 | 15 | run: async (client, message, args, embed) => { 16 | 17 | if (!message.guild) return; 18 | let conf = await serverSettings.findOne({ 19 | guildID: message.guild.id 20 | }); 21 | 22 | let no = new disbut.MessageButton().setStyle('red').setLabel('Hayır').setID('cancel') 23 | let yes = new disbut.MessageButton().setStyle('green').setLabel('Evet').setID('yes') 24 | 25 | if (!conf.staffs.some(x => message.member.roles.cache.has(x))) return message.react(red) 26 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 27 | if (!member) 28 | { 29 | message.react(red) 30 | message.channel.send("Bir üye belirtmelisin!").then(x => x.delete({timeout: 5000})); 31 | return } 32 | if (!member.user.username.includes(conf.tag)) 33 | { 34 | message.react(red) 35 | message.channel.send("Bu üye taglı değil!").then(x => x.delete({timeout: 5000})); 36 | return } 37 | const taggedData = await taggeds.findOne({ guildID: message.guild.id, userID: message.author.id }); 38 | if (taggedData && taggedData.taggeds.includes(member.user.id)) 39 | { 40 | message.react(red) 41 | message.channel.send("Bu üyeye zaten daha önce tag aldırmışsın!").then(x => x.delete({timeout: 5000})); 42 | return } 43 | 44 | message.channel.send( `${member.toString()}, ${message.member.toString()} üyesi sana tag aldırmak istiyor. Kabul ediyor musun?`, { buttons: [yes, no] }).then(async (msg) => { 45 | 46 | client.on('clickButton', async (button) => { 47 | 48 | if(button.id === "yes") { 49 | 50 | await coin.findOneAndUpdate({ guildID: member.guild.id, userID: message.author.id }, { $inc: { coin: settings.taggedCoin } }, { upsert: true }); 51 | const tagData = await tagli.findOne({ guildID: message.guild.id, userID: message.author.id }); 52 | if (tagData) 53 | { 54 | await tagli.findOneAndUpdate({ guildID: message.guild.id, userID: message.author.id }, { $inc: { tagli: 1 } }, { upsert: true }); 55 | } 56 | msg.edit(`${member.toString()} üyesine başarıyla tag aldırıldı! ${green}`, { buttons: [yes.setDisabled(true), no.setDisabled(true)] }).then(x => x.delete({timeout: 5000})) 57 | await taggeds.findOneAndUpdate({ guildID: message.guild.id, userID: message.author.id }, { $push: { taggeds: member.user.id } }, { upsert: true }); 58 | 59 | } 60 | 61 | if(button.id === "no"){ 62 | 63 | msg.edit(`${member.toString()} üyesi, tag aldırma teklifini reddetti! ${red}`, { buttons: [yes.setDisabled(true), no.setDisabled(true)] }).then(x => x.delete({timeout: 5000})) 64 | 65 | } 66 | 67 | }) 68 | 69 | }) 70 | 71 | } 72 | } -------------------------------------------------------------------------------- /src/commands/10-Terfi-Sistemi/topcoin.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const serverSettings =require('../../models/sunucuayar') 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: [], 7 | name: "topcoin", 8 | help: "topcoin" 9 | }, 10 | 11 | run: async (client, message, args, embed) => { 12 | 13 | if (!message.guild) return; 14 | let conf = await serverSettings.findOne({ 15 | guildID: message.guild.id 16 | }); 17 | 18 | const coinData = await coin.find({ guildID: message.guild.id }).sort({ coin: -1 }); 19 | let coinSum = 0; 20 | const coinUsers = coinData.splice(0, 50).map((x, index) => { 21 | coinSum += x.coin; 22 | return `\`${index+1}.\` <@${x.userID}>: \`${Number(x.coin).toLocaleString()} coin\`` 23 | }).join(`\n`); 24 | message.channel.send(embed.setDescription(` 25 | ** ${message.guild} Toplam Coin Bilgileri: \`(Toplam ${coinSum})\`** 26 | ${coinUsers.length > 0 ? coinUsers : "Veri Bulunmuyor."} 27 | `)) 28 | }} -------------------------------------------------------------------------------- /src/commands/10-Terfi-Sistemi/yetkialdir.js: -------------------------------------------------------------------------------- 1 | const disbut = require("discord-buttons"); 2 | const coin = require("../../schemas/coin"); 3 | const yetkis = require("../../schemas/yetkis"); 4 | const settings = require("../../configs/settings.json") 5 | const serverSettings = require("../../models/sunucuayar") 6 | const { red, green} = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["yetki-aldır", "yetkialdır", "yetkili","yetkiver"], 10 | name: "yetki-aldır", 11 | help: "yetki-aldır [kullanıcı]" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | let no = new disbut.MessageButton().setStyle('red').setLabel('Hayır').setID('cancel') 22 | let yes = new disbut.MessageButton().setStyle('green').setLabel('Evet').setID('yes') 23 | 24 | if (!conf.staffs.some(x => message.member.roles.cache.has(x))) return message.react(red) 25 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 26 | if (!member) 27 | { 28 | message.react(red) 29 | message.channel.send("Bir üye belirtmelisin!").then(x => x.delete({timeout: 5000})); 30 | return } 31 | if (!member.user.username.includes(conf.tag)) 32 | { 33 | message.react(red) 34 | message.channel.send("Bu üye taglı değil!").then(x => x.delete({timeout: 5000})); 35 | return } 36 | const yetkiData = await yetkis.findOne({ guildID: message.guild.id, userID: message.author.id }); 37 | if (yetkiData && yetkiData.yetkis.includes(member.user.id)) 38 | { 39 | message.react(red) 40 | message.channel.send("Bu üyeye zaten daha önce yetki aldırılmış!").then(x => x.delete({timeout: 5000})); 41 | return } 42 | 43 | message.channel.send( `${member.toString()}, ${message.member.toString()} üyesi sana yetki vermek istiyor. Kabul ediyor musun?`, { buttons: [yes, no] }) 44 | .then(async (msg) => { 45 | 46 | client.on('clickButton', async (button) => { 47 | 48 | if(button.id === "yes") { 49 | 50 | await coin.findOneAndUpdate({ guildID: member.guild.id, userID: message.author.id }, { $inc: { coin: settings.yetkiCoin } }, { upsert: true }); 51 | msg.edit(`${member.toString()} üyesine başarıyla yetki aldırıldı! ${green}`, { buttons: [yes.setDisabled(true), no.setDisabled(true)] }).then(x => x.delete({timeout: 5000})) 52 | await yetkis.findOneAndUpdate({ guildID: message.guild.id, userID: message.author.id }, { $push: { yetkis: member.user.id } }, { upsert: true }); 53 | client.channels.cache.get(conf.yetkiLog).wsend(`${message.author} \`(${message.author.id}\` kişisi ${member} \`(${member.id})\` kişisini yetkiye aldı! ${green}`) 54 | member.roles.add(conf.yetkiRolleri) 55 | 56 | } 57 | 58 | if(button.id === "no"){ 59 | 60 | msg.edit(`${member.toString()} üyesi, yetki aldırma teklifini reddetti! ${red}`, { buttons: [yes.setDisabled(true), no.setDisabled(true)] }).then(x => x.delete({timeout: 5000})) 61 | 62 | } 63 | }) 64 | }) 65 | } 66 | } -------------------------------------------------------------------------------- /src/commands/11-Sıfırlama-Sistemi/cezapuansil.js: -------------------------------------------------------------------------------- 1 | const cezapuan = require("../../schemas/cezapuan"); 2 | const ceza = require("../../schemas/ceza") 3 | const moment = require("moment") 4 | moment.locale("tr"); 5 | const { red , green} = require("../../configs/emojis.json") 6 | module.exports = { 7 | conf: { 8 | aliases: ["cezapuansıfırla","cezapuantemizle","cezapsil","cezaptemizle","cptemizle","cptemizle","cpsil"], 9 | name: "cezapuansil", 10 | help: "cezapuansil", 11 | }, 12 | 13 | run: async (client, message, args, embed, prefix) => { 14 | if (!message.member.hasPermission('ADMINISTRATOR')) 15 | { 16 | message.lineReply("Bu işlemi yapamazsın dostum!").then(x=>x.delete({timeout: 5000})) 17 | message.react(red) 18 | return; 19 | } 20 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 21 | if(!member) 22 | { 23 | message.lineReply("Ceza puanını sıfırlamamı istediğin kişiyi etiketle!").then(x=>x.delete({timeout:5000})) 24 | message.react(red) 25 | return; 26 | } 27 | const cezapuanData = await cezapuan.findOne({userID: member.user.id, guildID: message.guild.id}) 28 | const cezaData = await ceza.findOne({userID: member.user.id, guildID: message.guild.id}) 29 | if(!cezapuanData && !cezaData) 30 | { 31 | message.react(red) 32 | message.lineReply(`${member} kişisinin ceza puanı zaten yok!`) 33 | return; 34 | } 35 | message.react(green) 36 | message.lineReply(`${green} ${member} üyesinin ceza puanı ${message.author} tarafından \`${moment(Date.now()).format("LLL")}\` tarihinde temizlendi!`) 37 | await cezapuan.deleteMany({}) 38 | await ceza.deleteMany({}) 39 | } 40 | }; 41 | -------------------------------------------------------------------------------- /src/commands/11-Sıfırlama-Sistemi/coinsil.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const moment = require("moment") 3 | moment.locale("tr"); 4 | const { red , green} = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["coinsıfırla","cointemizle"], 8 | name: "coinsil", 9 | help: "coinsil", 10 | }, 11 | 12 | run: async (client, message, args, embed, prefix) => { 13 | if (!message.member.hasPermission('ADMINISTRATOR')) 14 | { 15 | message.lineReply("Bu işlemi yapamazsın dostum!").then(x=>x.delete({timeout: 5000})) 16 | message.react(red) 17 | return; 18 | } 19 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 20 | if(!member) 21 | { 22 | message.lineReply("coin sıfırlamamı istediğin kişiyi etiketle!").then(x=>x.delete({timeout:5000})) 23 | message.react(red) 24 | return; 25 | } 26 | const coinData = await coin.findOne({userID: member.user.id, guildID: message.guild.id}) 27 | if(!coinData) 28 | { 29 | message.react(red) 30 | message.lineReply(`${member} kişisinin coini zaten yok!`) 31 | return; 32 | } 33 | message.react(green) 34 | message.lineReply(`${green} ${member} üyesinin coini ${message.author} tarafından \`${moment(Date.now()).format("LLL")}\` tarihinde temizlendi!`) 35 | await coin.deleteMany({}) 36 | } 37 | }; -------------------------------------------------------------------------------- /src/commands/11-Sıfırlama-Sistemi/isimsil.js: -------------------------------------------------------------------------------- 1 | const isim = require("../../schemas/names"); 2 | const moment = require("moment") 3 | moment.locale("tr"); 4 | const { red , green} = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["isimsıfırla","isimtemizle"], 8 | name: "isimsil", 9 | help: "isimsil", 10 | }, 11 | 12 | run: async (client, message, args, embed, prefix) => { 13 | if (!message.member.hasPermission('ADMINISTRATOR')) 14 | { 15 | message.lineReply("Bu işlemi yapamazsın dostum!").then(x=>x.delete({timeout: 5000})) 16 | message.react(red) 17 | return; 18 | } 19 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 20 | if(!member) 21 | { 22 | message.lineReply("İsim geçmişini sıfırlamamı istediğin kişiyi etiketle!").then(x=>x.delete({timeout:5000})) 23 | message.react(red) 24 | return; 25 | } 26 | const isimData = await isim.findOne({userID: member.user.id, guildID: message.guild.id}) 27 | if(!isimData) 28 | { 29 | message.react(red) 30 | message.lineReply(`${member} kişisinin isim geçmişi zaten yok!`) 31 | return; 32 | } 33 | message.react(green) 34 | message.lineReply(`${green} ${member} üyesinin isim geçmişi ${message.author} tarafından \`${moment(Date.now()).format("LLL")}\` tarihinde temizlendi!`) 35 | await isim.deleteMany({}) 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /src/commands/11-Sıfırlama-Sistemi/sicilsil.js: -------------------------------------------------------------------------------- 1 | const penals = require("../../schemas/penals"); 2 | const moment = require("moment") 3 | moment.locale("tr"); 4 | const { red , green} = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["sicilsıfırla","siciltemizle"], 8 | name: "sicilsil", 9 | help: "sicilsil", 10 | }, 11 | 12 | run: async (client, message, args, embed, prefix) => { 13 | if (!message.member.hasPermission('ADMINISTRATOR')) 14 | { 15 | message.lineReply("Bu işlemi yapamazsın dostum!").then(x=>x.delete({timeout: 5000})) 16 | message.react(red) 17 | return; 18 | } 19 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 20 | if(!member) 21 | { 22 | message.lineReply("Sicilini sıfırlamamı istediğin kişiyi etiketle!").then(x=>x.delete({timeout:5000})) 23 | message.react(red) 24 | return; 25 | } 26 | const penalData = await penals.findOne({userID: member.user.id, guildID: message.guild.id}).sort({ date: -1 }); 27 | if(penalData === 1) 28 | { 29 | message.react(red) 30 | message.lineReply(`${member} kişisinin sicili zaten temiz!`) 31 | return; 32 | } 33 | message.react(green) 34 | message.lineReply(`${green} ${member} üyesinin sicili ${message.author} tarafından \`${moment(Date.now()).format("LLL")}\` tarihinde temizlendi!`) 35 | await penals.deleteMany({}) 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /src/commands/12-Bilgilendirme-Sistemi/senkronize.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const { red } = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["senkron"], 6 | name: "senkronize", 7 | help: "senkronize [user] [kullanıcı] / [role] [rol]", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args, embed) => { 12 | if (!message.member.hasPermission(8)) return message.react(red) 13 | if (args[0] === "kişi" || args[0] === "user") { 14 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[1]); 15 | if (!member) return message.channel.send(embed.setDescription("Bir kullanıcı belirtmelisin!")); 16 | 17 | if (client.ranks.some(x => member.hasRole(x.role))) { 18 | let rank = client.ranks.filter(x => member.hasRole(x.role)); 19 | rank = rank[rank.length-1]; 20 | await coin.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $set: { coin: rank.coin } }, { upsert: true }); 21 | message.channel.send(embed.setDescription(`${member.toString()} üyesinde <@&${rank.role}> rolü bulundu ve coini ${rank.coin} olarak değiştirildi!`)); 22 | } else return message.channel.send(embed.setDescription(`${member.toString()} üyesinde sistemde ayarlı bir rol bulunamadı!`)); 23 | } else if (args[0] === "role" || args[0] === "rol") { 24 | const role = message.mentions.roles.first() || message.guild.roles.cache.get(args[1]); 25 | if (!role) return message.channel.send(embed.setDescription("Bir rol belirtmelisin!")); 26 | if (role.members.length === 0) return message.channel.send(embed.setDescription("Bu rolde üye bulunmuyor!")); 27 | role.members.forEach(async member => { 28 | if (member.user.bot) return; 29 | if (client.ranks.some(x => member.hasRole(x.role))) { 30 | let rank = client.ranks.filter(x => member.hasRole(x.role)); 31 | rank = rank[rank.length-1]; 32 | await coin.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $set: { coin: rank.coin } }, { upsert: true }); 33 | message.channel.send(embed.setDescription(`${member.toString()} üyesinde <@&${rank.role}> rolü bulundu ve coini ${rank.coin} olarak değiştirildi!`)); 34 | } else return message.channel.send(embed.setDescription(`${member.toString()} üyesinde sistemde ayarlı bir rol bulunamadı!`)); 35 | }); 36 | } else return message.channel.send(embed.setDescription("Bir argüman belirtmelisin!")); 37 | } 38 | }; 39 | -------------------------------------------------------------------------------- /src/commands/12-Bilgilendirme-Sistemi/snipe.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const settings = require("../../configs/settings.json") 3 | const snipe = require("../../schemas/snipe"); 4 | const moment = require("moment"); 5 | require("moment-duration-format"); 6 | const { miniicon, mesaj2, green, red } = require("../../configs/emojis.json"); 7 | module.exports = { 8 | conf: { 9 | aliases: ["snipe"], 10 | name: "snipe", 11 | help: "snipe" 12 | }, 13 | 14 | run: async (client, message, args) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | let hembed = new MessageEmbed().setAuthor(message.member.displayName, message.author.avatarURL({dynamic: true})).setColor('#330066') 22 | message.react(green) 23 | 24 | const data = await snipe.findOne({ guildID: message.guild.id, channelID: message.channel.id }); 25 | if (!data) 26 | { 27 | message.react(red) 28 | message.channel.send( "Bu kanalda silinmiş bir mesaj bulunmuyor!").then(x=>x.delete({timeout:5000})) 29 | return } 30 | const author = await client.fetchUser(data.author); 31 | hembed.setDescription(` 32 | ${data.messageContent ? `\n${mesaj2} Mesaj içeriği: **${data.messageContent}**` : ""} 33 | ${miniicon} Mesaj Sahibi: <@${data.userID}> - (\`${data.userID}\`) 34 | ${miniicon} Mesajın Yazılma Tarihi: \`${moment.duration(Date.now() - data.createdDate).format("D [gün], H [saat], m [dakika], s [saniye]")}\` önce 35 | ${miniicon} Mesajın Silinme Tarihi: \`${moment.duration(Date.now() - data.deletedDate).format("D [gün], H [saat], m [dakika], s [saniye]")}\` önce 36 | `); 37 | message.channel.send(hembed); 38 | 39 | }, 40 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/StreamerSorumlusu.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["StreamerSorumlusu","stsorumlusu"], 6 | name: "StreamerSorumlusu", 7 | help: "StreamerSorumlusu", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.StreamerSorumlusu)) 19 | { 20 | user.roles.add(conf.StreamerSorumlusu) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`StreamerSorumlusu\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.StreamerSorumlusu) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`StreamerSorumlusu\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/dcyönetici.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["dcyönetici","doğrulukcesaretlikyönetici"], 6 | name: "dcyönetici", 7 | help: "dcyönetici", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.dcyönetici)) 19 | { 20 | user.roles.add(conf.dcyönetici) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Doğruluk Çesaretlik Yönetici\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.dcyönetici) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Doğruluk Çesaretlik Yönetici\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/musician.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["musician","Muzisyen"], 6 | name: "Musician", 7 | help: "Musician", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.musician)) 19 | { 20 | user.roles.add(conf.musician) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Musician\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.musician) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Musician\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/soruncozme.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["sc","soruncozme"], 6 | name: "sc", 7 | help: "sc", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.soruncozucu)) 19 | { 20 | user.roles.add(conf.soruncozucu) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Sorun cozucu\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.soruncozucu) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Sorun cozucu\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/streamer.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["streamer","st"], 6 | name: "streamer", 7 | help: "streamer", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.StreamerSorumlusu.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.streamer)) 19 | { 20 | user.roles.add(conf.streamer) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Streamer\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.streamer) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Streamer\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/terapist.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["terapist","tp"], 6 | name: "terapist", 7 | help: "terapist", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.terapist)) 19 | { 20 | user.roles.add(conf.terapist) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Terapist\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.terapist) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Terapist\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/vip.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const serverSettings = require('../../models/sunucuayar') 3 | const settings = require("../../configs/settings.json") 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: ["vip","special"], 8 | name: "vip", 9 | help: "vip", 10 | }, 11 | 12 | run: async (client, message, args, embed, prefix) => { 13 | 14 | let conf = await serverSettings.findOne({ 15 | guildID: settings.guildID 16 | }); 17 | 18 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.VipHammer.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 19 | message.react(red) 20 | return } 21 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 22 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 23 | message.react(red) 24 | return } 25 | if(!user.roles.cache.has(conf.vipRole)) 26 | { 27 | user.roles.add(conf.vipRole) 28 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Vip\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 29 | } else { 30 | user.roles.remove(conf.vipRole) 31 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Vip\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 32 | } 33 | } 34 | }; -------------------------------------------------------------------------------- /src/commands/13-Rolverme-Sistemi/vkyönetici.js: -------------------------------------------------------------------------------- 1 | const { red , green} = require("../../configs/emojis.json") 2 | const conf = require("../../configs/sunucuayar.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["vkyönetici","vampirköylüyönetici"], 6 | name: "vkyönetici", 7 | help: "vkyönetici", 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | if (!message.member.hasPermission("ADMINISTRATOR") && !conf.rolverici.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 12 | message.react(red) 13 | return } 14 | const user =message.mentions.members.first() || message.guild.members.cache.get(args[0]); 15 | if (!user) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 16 | message.react(red) 17 | return } 18 | if(!user.roles.cache.has(conf.vkyönetici)) 19 | { 20 | user.roles.add(conf.vkyönetici) 21 | message.lineReply(`${green} Başarılı! ${user} kişisine başarılı bir şekilde \`Vk yönetici\` rolü verildi!`).then(x=>x.delete({timeout:5000})) 22 | } else { 23 | user.roles.remove(conf.vkyönetici) 24 | message.lineReply(`${green} Başarılı! ${user} kişisinden başarılı bir şekilde \`Vk yönetici\` rolü alındı!`).then(x=>x.delete({timeout:5000})) 25 | } 26 | } 27 | }; -------------------------------------------------------------------------------- /src/commands/14-Kullanici-Sistemi/afk.js: -------------------------------------------------------------------------------- 1 | const afk = require("../../schemas/afk"); 2 | const { green, red} = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["afk"], 6 | name: "afk", 7 | help: "afk" 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | const reason = args.join(" ") || "Belirtilmedi!"; 12 | await afk.findOneAndUpdate({ guildID: message.guild.id, userID: message.author.id }, { $set: { reason, date: Date.now() } }, { upsert: true }); 13 | message.react(green) 14 | message.lineReply("Başarıyla afk moduna girdiniz! Bir şey yazana kadar [AFK] kalacaksınız.").then((x) => x.delete({ timeout: 5000 })); 15 | if (message.member.manageable) message.member.setNickname(`[AFK] ${message.member.displayName}`); 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /src/commands/14-Kullanici-Sistemi/avatar.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | conf: { 3 | aliases: ["avatar","av"], 4 | name: "avatar", 5 | help: "avatar" 6 | }, 7 | 8 | run: async (client, message, args, embed, prefix) => { 9 | if (!message.guild) return; 10 | let user = args.length > 0 ? message.mentions.users.first() || await client.users.fetch(args[0]) || message.author : message.author 11 | message.channel.send(`${user.tag} ${user.displayAvatarURL({ dynamic: true, size: 4096 })}`).then(x=>x.delete({timeout:5000})) 12 | 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /src/commands/14-Kullanici-Sistemi/kb.js: -------------------------------------------------------------------------------- 1 | const Canvas = require("canvas"); 2 | const { MessageAttachment } = require("discord.js") 3 | const moment = require('moment'); 4 | require("moment-duration-format"); 5 | moment.locale('tr'); 6 | module.exports = { 7 | conf: { 8 | aliases: ["kb"], 9 | name: "kb", 10 | help: "kb" 11 | }, 12 | 13 | run: async (client, message, args, embed, prefix) => { 14 | 15 | 16 | const kullanıcı = message.mentions.users.first() || client.users.cache.get(args[0]) || (args.length > 0 ? client.users.cache.filter(e => e.username.toLowerCase().includes(args.join(" ").toLowerCase())).first(): message.author) || message.author; 17 | let member = message.guild.member(kullanıcı); 18 | 19 | 20 | const applyText = (canvas, text) => { 21 | const ctx = canvas.getContext('2d'); 22 | 23 | let fontSize = 70; 24 | 25 | do { 26 | ctx.font = `${fontSize -= 10}px sans-serif`; 27 | } while (ctx.measureText(text).width > canvas.width - 300); 28 | 29 | return ctx.font; 30 | }; 31 | const canvas = Canvas.createCanvas(600, 550); 32 | const ctx = canvas.getContext('2d'); 33 | 34 | const background = await Canvas.loadImage('https://media.discordapp.net/attachments/831976699960885319/843071494220414986/universe-2303321_960_720.png?width=490&height=553'); 35 | ctx.drawImage(background, 0, 0, canvas.width, canvas.height); 36 | 37 | ctx.strokeStyle = '#74037b'; 38 | ctx.strokeRect(0, 0, canvas.width, canvas.height); 39 | 40 | let yazıqwe = `${member.user.username}` 41 | if(yazıqwe.length >= 17) {yazı = `İsmin Çok Uzun`} 42 | ctx.font ='45px bebas neue', 43 | ctx.fillStyle = '#ffffff'; 44 | ctx.fillText(`${yazıqwe}`, canvas.width / 2.50, canvas.height / 7); 45 | 46 | ctx.font ='28px bebas neue', 47 | ctx.fillStyle = '#ffffff'; 48 | ctx.fillText(`${message.author.id}`, canvas.width / 2.60, canvas.height / 4.2); 49 | 50 | ctx.font ='30px bebas neue', 51 | ctx.fillStyle = '#ffffff'; 52 | ctx.fillText(`Sunucuya Giriş Tarihi:`, canvas.width / 11, canvas.height / 2); 53 | 54 | let ktarihi = `${moment(member.joinedAt).format(`DD/MM/YYYY`)}` 55 | ctx.font ='30px bebas neue', 56 | ctx.fillStyle = '#ffffff'; 57 | ctx.fillText(`${ktarihi}`, canvas.width / 1.50 , canvas.height / 2); 58 | 59 | let otarihi = `${moment(member.createdAt).format(`DD/MM/YYYY`)}` 60 | ctx.font ='30px bebas neue', 61 | ctx.fillStyle = '#ffffff'; 62 | ctx.fillText(`${otarihi}`, canvas.width / 1.50 , canvas.height / 2.60); 63 | 64 | ctx.font ='30px bebas neue', 65 | ctx.fillStyle = '#ffffff'; 66 | ctx.fillText(`Discorda Katılım Tarihi:`, canvas.width / 11, canvas.height / 2.60); 67 | 68 | let ta = `Katılım Sırası: 69 | ${(message.guild.members.cache.filter(a => a.joinedTimestamp <= member.joinedTimestamp).size).toLocaleString()}/${(message.guild.memberCount).toLocaleString()}` 70 | ctx.font ='28px bebas neue', 71 | ctx.fillStyle = '#ffffff'; 72 | ctx.fillText(`${ta}`, canvas.width / 1.80, canvas.height / 1.55); 73 | 74 | let roll = `Rolleri : 75 | ${member.roles.cache.size <= 4 ? member.roles.cache.filter(x => x.name !== "@everyone").map(x => x.name).join('\n') : `Listelenemedi. (${member.roles.cache.size})`}` 76 | ctx.font ='28px bebas neue', 77 | ctx.fillStyle = '#ffffff'; 78 | ctx.fillText(`${roll}`, canvas.width / 11, canvas.height / 1.55); 79 | 80 | 81 | const avatar = await Canvas.loadImage(member.user.displayAvatarURL({ format: 'jpg' })); 82 | ctx.drawImage(avatar, 40, 40, 125, 125); 83 | 84 | const attachment = new MessageAttachment(canvas.toBuffer(), 'aias.png'); 85 | message.channel.send(`[ __${member}__ ] kişisinin kullanıcı profili ;`, attachment) 86 | }} -------------------------------------------------------------------------------- /src/commands/14-Kullanici-Sistemi/link.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | conf: { 3 | aliases: ["link","url"], 4 | name: "link", 5 | help: "link" 6 | }, 7 | 8 | run: async (client, message, args, embed, prefix) => { 9 | const url = await message.guild.fetchVanityData(); 10 | 11 | message.lineReply(`discord.gg/${message.guild.vanityURLCode}\n\`Toplam kullanım:\` **${url.uses}**`) 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /src/commands/14-Kullanici-Sistemi/zengin.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../../models/sunucuayar') 2 | const { red, green} = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["zengin","booster"], 6 | name: "zengin", 7 | help: "zengin" 8 | }, 9 | 10 | run: async (client, message, args, embed, prefix) => { 11 | 12 | if (!message.guild) return; 13 | let conf = await serverSettings.findOne({ 14 | guildID: message.guild.id 15 | }); 16 | 17 | let booster = conf.boosterRolu || undefined; 18 | if(!booster) 19 | { 20 | message.react(red) 21 | message.lineReply("Booster Rolu Bulunamadı! Lütfen Pusha'e ulaşın!").then(x => x.delete({timeout: 5000})); 22 | return } 23 | if(!message.member.roles.cache.has(booster)) 24 | { 25 | message.react(red) 26 | message.lineReply("Bu Komutu Kullanabilmek İçin Booster Rolüne Sahip Olmalısın!").then(x=> x.delete({timeout: 5000})) 27 | return } 28 | let uye = message.guild.members.cache.get(message.author.id); 29 | let isim = args.filter(arg => isNaN(arg)).map(arg => arg.charAt(0).replace('i', "İ").toUpperCase()+arg.slice(1)).join(" "); 30 | let yazilacakIsim; 31 | if(!isim) 32 | { 33 | message.react(red) 34 | message.lineReply("Geçerli bir isim belirtmelisin!").then(x => x.delete({timeout: 5000})); 35 | return } 36 | yazilacakIsim = `${uye.user.username.includes(conf.tag) ? conf.tag : (conf.ikinciTag ? conf.ikinciTag : (conf.tag || ""))} ${isim}`; 37 | uye.setNickname(`${yazilacakIsim}`).catch() 38 | message.react(green) 39 | message.lineReply(`Başarıyla ismini \`${yazilacakIsim}\` olarak değiştirdim!`).then(x => x.delete({timeout: 5000})); 40 | }, 41 | }; 42 | 43 | -------------------------------------------------------------------------------- /src/commands/15-Market-Sistemi/CoinFlip.js: -------------------------------------------------------------------------------- 1 | const pusha = require("../../schemas/dolar"); 2 | let limit = new Map(); 3 | const ms = require("parse-ms"); 4 | const { altin, altin2 } = require("../../configs/emojis.json") 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["cf"], 9 | name: "coinflip", 10 | help: "coinflip" 11 | }, 12 | 13 | run: async (client, message, args, embed, prefix) => { 14 | 15 | if (!message.guild) return; 16 | 17 | let kanallar = ["kumarhane"] 18 | if (!kanallar.includes(message.channel.name)) return message.lineReply(`${kanallar.map(x => `${client.channels.cache.find(chan => chan.name == x)}`)} kanallarında kullanabilirsiniz.`).then(x => x.delete({timeout: 10000})); 19 | 20 | let data = limit.get(message.author.id) || {dailyCoinTime: 0}; 21 | let timeout = 1000*8 22 | let gunluk = data.dailyCoinTime 23 | if (gunluk !== null && timeout - (Date.now() - gunluk) > 0) { 24 | let time = ms(timeout - (Date.now() - gunluk)); 25 | message.lineReply(`:stopwatch: **|** Hata! **${message.author.username}** Bu komutu ${time.seconds} saniye sonra kullanabilirsin.`) 26 | } else { 27 | limit.set(message.author.id, {dailyCoinTime: Date.now()}) 28 | setTimeout(() => { 29 | limit.delete(message.author.id) 30 | }, 1000*8) 31 | 32 | 33 | let sec = args[0]; 34 | if(!sec || !Number(args[0])) return message.lineReply(`Kaç dolar ile oynamak istiyorsun?`) 35 | if(sec >= 50000) return message.lineReply("50.000 dolardan fazla bir dolar ile oyun oynamayazsın") 36 | 37 | let data = await pusha.findOne({guildID: message.guild.id, userID: message.author.id}, async(err, res) => { 38 | if(!res.dolar) return message.lineReply(`Hiç doların yok!`) 39 | if(res.dolar < sec) return message.lineReply(`:no_entry: | **${message.author.username}**, Yeterli miktar da paran yoktur!\nBelirttiğin miktarda dolar ile oynayabilmek için \`${sec - res.dolar}\` daha dolar ihtiyacın var. Dolarınız: (**${res.dolar}** ${altin})`) 40 | 41 | let mesaj = await message.lineReply(` 42 | **${message.member.displayName}, \`${sec}\`** dolar ile madeni para döndürüyor ${altin2}`) 43 | 44 | setTimeout(() => { 45 | // mesaj.delete(); 46 | 47 | let randomizeCoinCal = Math.floor(Math.random() * 10) + 1; 48 | if(randomizeCoinCal <= 4) { 49 | res.dolar = (res.dolar - sec) 50 | res.save(); 51 | mesaj.edit(` 52 | ${message.author}, oynadığın **${sec}** doları kayıp ettin >:C`) 53 | } else { 54 | let carpma = sec * 1 55 | res.dolar = (res.dolar + carpma) 56 | res.save(); 57 | mesaj.edit(` 58 | ${message.author}, **${carpma}** dolar kazandın! ${altin}`) 59 | 60 | 61 | } 62 | 63 | 64 | }, 2000) 65 | }) 66 | } 67 | }} -------------------------------------------------------------------------------- /src/commands/15-Market-Sistemi/Daily.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const ozi = require("../../schemas/dolar"); 3 | const { altin, altin2 } = require("../../configs/emojis.json") 4 | let limit = new Map(); 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["günlük"], 9 | name: "daily", 10 | help: "daily" 11 | }, 12 | 13 | run: async (client, message, args) => { 14 | 15 | if (!message.guild) return; 16 | 17 | let kanallar = ["kumarhane", "bot-commands"] 18 | if (!kanallar.includes(message.channel.name)) return message.lineReply(`${kanallar.map(x => `${client.channels.cache.find(chan => chan.name == x)}`)} kanallarında kullanabilirsiniz.`).then(x => x.delete({timeout: 10000})); 19 | 20 | 21 | let randomizeDolar = Math.floor(Math.random() * 450) + 1 22 | ozi.findOne({guildID: message.guild.id, userID: message.author.id}, async(err, data) => { 23 | 24 | 25 | let timeout = 1000*60*60*24 26 | let gunluk = data.dolarTime 27 | if (gunluk !== null && timeout - (Date.now() - gunluk) > 0) { 28 | let time = ms(timeout - (Date.now() - gunluk)); 29 | message.reply(`Hey! Dur, günlük hediyeni zaten almışsın. Günlük hediyeni tekrardan alabilmen için ${time.hours} saat ${time.minutes} dakika ${time.seconds} saniye daha beklemelisin.`) 30 | } else { 31 | data.dolarTime = Date.now() 32 | data.dolar = (data.dolar + randomizeDolar) 33 | data.save(); 34 | message.reply(`${altin2}| Bugünlük **${randomizeDolar}** dolar aldın!`) 35 | } 36 | 37 | }) 38 | }} 39 | 40 | 41 | 42 | function ms(milliseconds) { 43 | return { 44 | days: Math.trunc(milliseconds / 86400000), 45 | hours: Math.trunc(milliseconds / 3600000) % 24, 46 | minutes: Math.trunc(milliseconds / 60000) % 60, 47 | seconds: Math.trunc(milliseconds / 1000) % 60, 48 | milliseconds: Math.trunc(milliseconds) % 1000, 49 | microseconds: Math.trunc(milliseconds * 1000) % 1000, 50 | nanoseconds: Math.trunc(milliseconds * 1e6) % 1000 51 | }; 52 | } -------------------------------------------------------------------------------- /src/commands/15-Market-Sistemi/GameSlot.js: -------------------------------------------------------------------------------- 1 | const ozi = require("../../schemas/dolar"); 2 | let limit = new Map(); 3 | const ms = require("parse-ms"); 4 | const { rewards, slotgif, slotpatlican, slotkiraz, slotkalp } = require("../../configs/emojis.json") 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["s", "slot", "Slot"], 9 | name: "slot", 10 | help: "slot" 11 | }, 12 | 13 | run: async (client, message, args, embed, prefix) => { 14 | 15 | if (!message.guild) return; 16 | 17 | let kanallar = ["kumarhane"] 18 | if (!kanallar.includes(message.channel.name)) return message.lineReply(`${kanallar.map(x => `${client.channels.cache.find(chan => chan.name == x)}`)} kanallarında kullanabilirsiniz.`).then(x => x.delete({timeout: 10000})); 19 | 20 | 21 | let data = limit.get(message.author.id) || {dailyCoinTime: 0}; 22 | let timeout = 1000*8 23 | let gunluk = data.dailyCoinTime 24 | if (gunluk !== null && timeout - (Date.now() - gunluk) > 0) { 25 | let time = ms(timeout - (Date.now() - gunluk)); 26 | message.lineReply(`:stopwatch: **|** Hata! **${message.author.username}** Bu komutu ${time.seconds} saniye sonra kullanabilirsin.`) 27 | } else { 28 | limit.set(message.author.id, {dailyCoinTime: Date.now()}) 29 | setTimeout(() => { 30 | limit.delete(message.author.id) 31 | }, 1000*8) 32 | 33 | const slot = [slotkalp, slotkiraz, slotpatlican] 34 | 35 | let sec = args[0]; 36 | if (!sec) return message.lineReply(`:no_entry: | **${message.author.username},** Lütfen bir bahis değeri giriniz!!`) 37 | 38 | 39 | let ozislot1 = slot[Math.floor(Math.random() * slot.length)]; 40 | let ozislot2 = slot[Math.floor(Math.random() * slot.length)]; 41 | let ozislot3 = slot[Math.floor(Math.random() * slot.length)]; 42 | 43 | 44 | let data = await ozi.findOne({guildID: message.guild.id, userID: message.author.id}, async(err, res) => { 45 | if(!res.dolar) return message.lineReply(`Hiç coinin yok!`) 46 | if(res.dolar < sec) return message.lineReply(`:no_entry: | **${message.author.username}**, Yeterli miktar da paran yoktur! (Max: 50.000 Tutarında Oynayabilirsin)`) 47 | 48 | 49 | let slotMessage = await message.lineReply(` 50 | \`___SLOTS___\` 51 | ${slotgif} ${slotgif} ${slotgif} 52 | **\`| |\`** 53 | **\`| |\`** 54 | `) 55 | 56 | 57 | setTimeout(() => { 58 | if(ozislot1 === ozislot2 && ozislot1 === ozislot3 ) { 59 | 60 | let carpma = sec * 2 61 | data.dolar = (data.dolar + carpma) 62 | data.save(); 63 | 64 | slotMessage.edit(` 65 | \`___SLOTS___\` 66 | ${ozislot1} ${ozislot2} ${ozislot3} 67 | \`| |\` 68 | \`| |\` 69 | Tebrikler **${carpma}** ${rewards} miktar para kazandın!`) 70 | 71 | } else { 72 | 73 | data.dolar = (data.dolar - sec) 74 | data.save(); 75 | 76 | slotMessage.edit(` 77 | \`___SLOTS___\` 78 | ${ozislot1} ${ozislot2} ${ozislot3} 79 | **\`| |\`** 80 | **\`| |\`** 81 | **TÜH!** ${sec} ${rewards} Kaybettin bi dahaki sefer kazanman dileğiyle (:`) 82 | } 83 | }, 2500) 84 | 85 | }) 86 | }}} -------------------------------------------------------------------------------- /src/commands/15-Market-Sistemi/Hesap-Oluştur.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const ozi = require("../../schemas/dolar"); 3 | const { altin, altin2, rewards } = require("../../configs/emojis.json") 4 | let ms = require("parse-ms"); 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["hesapoluştur","hesap-oluştur"], 9 | name: "hesapoluştur", 10 | help: "hesapoluştur" 11 | }, 12 | 13 | run: async (client, message, args) => { 14 | 15 | if (!message.guild) return; 16 | 17 | let kanallar = ["kumarhane", "bot-commands"] 18 | if (!kanallar.includes(message.channel.name)) return message.lineReply(`${kanallar.map(x => `${client.channels.cache.find(chan => chan.name == x)}`)} kanallarında kullanabilirsiniz.`).then(x => x.delete({timeout: 10000})); 19 | 20 | let data = await ozi.findOne({userID: message.author.id, guildID: message.guild.id}); 21 | 22 | if(data) { 23 | message.lineReply("Zaten daha önceden bir hesap oluşturmuşsun!") 24 | } 25 | else 26 | if(!data) { 27 | await ozi.findOneAndUpdate({userID: message.author.id, guildID: message.guild.id}, {$inc: {dolar: 500}}, {upsert: true}) 28 | message.lineReply(`başarı ile coin hesabını oluşturdun, oyunlarımızı deneyimlemen için hesabına **500** hediye coin yolladım. İyi eğlenceler!`) 29 | } 30 | }} -------------------------------------------------------------------------------- /src/commands/15-Market-Sistemi/coin.js: -------------------------------------------------------------------------------- 1 | const { Discord, MessageEmbed, MessageAttachment, ClientUser } = require("discord.js"); 2 | const dolar = require("../../schemas/dolar"); 3 | const Canvas = require("canvas") 4 | const { altin2 } = require("../../configs/emojis.json"); 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["cash","para"], 9 | name: "para", 10 | help: "para" 11 | }, 12 | 13 | run: async (client, message, args,embed) => { 14 | let dolarData = await dolar.findOne({ guildID: message.guild.id, userID: message.author.id }); 15 | 16 | const applyText = (canvas, text) => { 17 | const ctx = canvas.getContext('2d'); 18 | 19 | // Declare a base size of the font 20 | let fontSize = 70; 21 | 22 | do { 23 | // Assign the font to the context and decrement it so it can be measured again 24 | ctx.font = `${fontSize -= 10}px sans-serif`; 25 | // Compare pixel width of the text to the canvas minus the approximate avatar size 26 | } while (ctx.measureText(text).width > canvas.width - 300); 27 | 28 | // Return the result to use in the actual canvas 29 | return ctx.font; 30 | }; 31 | const canvas = Canvas.createCanvas(388, 234); 32 | const ctx = canvas.getContext('2d'); 33 | 34 | const background = await Canvas.loadImage('https://media.discordapp.net/attachments/899273632696631365/910532483282522162/ozi_card_3.png'); 35 | ctx.drawImage(background, 0, 0, canvas.width, canvas.height); 36 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 37 | 38 | ctx.strokeStyle = '#74037b'; 39 | ctx.strokeRect(0, 0, canvas.width, canvas.height); 40 | 41 | ctx.font ='20px bebas neue', 42 | ctx.fillStyle = '#cac8c8'; 43 | ctx.fillText(`${member.id}`, canvas.width / 8, canvas.height / 1.25); 44 | 45 | ctx.font ='30px bebas neue', 46 | ctx.fillStyle = '#cac8c8'; 47 | ctx.fillText(`${dolarData ? Math.floor(parseInt(dolarData.dolar)) : 0} Dolar`, canvas.width / 4, canvas.height / 1.60); 48 | 49 | let yazıqwe = `${member.user.username}` 50 | if(yazıqwe.length >= 17) {yazıqwe = `İsmin Çok Uzun`} 51 | ctx.font ='23px bebas neue', 52 | ctx.fillStyle = '#cac8c8'; 53 | ctx.fillText(`${yazıqwe}`, canvas.width / 3, canvas.height / 2.35); 54 | 55 | const avatar = await Canvas.loadImage(member.user.displayAvatarURL({ format: 'png' })); 56 | ctx.save(); 57 | roundedImage(ctx, 150, 10, 65, 65, 25); 58 | ctx.clip(); 59 | ctx.drawImage(avatar, 150, 10, 65, 65); 60 | ctx.closePath(); 61 | 62 | // Clip off the region you drew on 63 | ctx.clip(); 64 | 65 | function roundedImage(ctx, x, y, width, height, radius) { 66 | ctx.beginPath(); 67 | ctx.moveTo(x + radius, y); 68 | ctx.lineTo(x + width - radius, y); 69 | ctx.quadraticCurveTo(x + width, y, x + width, y + radius); 70 | ctx.lineTo(x + width, y + height - radius); 71 | ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height); 72 | ctx.lineTo(x + radius, y + height); 73 | ctx.quadraticCurveTo(x, y + height, x, y + height - radius); 74 | ctx.lineTo(x, y + radius); 75 | ctx.quadraticCurveTo(x, y, x + radius, y); 76 | ctx.closePath(); 77 | } 78 | 79 | const attachment = new MessageAttachment(canvas.toBuffer(), 'ozi.png'); 80 | 81 | message.channel.send(`[ __${member}__ ] kişisinin bakiyesi ;`, attachment) 82 | } 83 | } -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/button.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | module.exports = { 4 | conf: { 5 | aliases: [], 6 | name: "buttonpanel1", 7 | owner: true, 8 | }, 9 | 10 | run: async (client, message, args) => { 11 | client.api.channels(message.channel.id).messages.post({ data: {"content":`Merhaba \`${message.guild.name}\` sunucusu içerisi yapmak istediğiniz işlem veya ulaşmak istediğiniz bilgi için gerekli butonlara tıklamanız yeterli olucaktır!\n\n**1:** Sunucuya giriş yaptığınız tarihi öğrenin.\n**2:** Sunucu üzerinde bulunan rollerinizi öğrenin.\n**3:** Hesabınızın açılış tarihini öğrenin.\n\n**4:** Davet bilgilerinizi öğrenin.\n**5:** Tekrardan kayıt olun.\n**6:** Sunucumuzun anlık aktif sesini öğrenin.\n\n**7:** Sunucuda eskiden kayıt olduğunuzdaki isim bilgilerinizi görüntüleyin \n**8:** Sunucu içerisindeki toplam atınız mesaj sayılarını gösterir.\n**9:** Sunucu ses kanallarında toplam geçirdiğiniz süreyi öğrenin.\n`, 12 | "components":[{ 13 | "type":1,"components":[ 14 | {"type":2,"style":1,"custom_id":"I","label":"1"}, 15 | {"type":2,"style":1,"custom_id":"II","label":"2"}, 16 | {"type":2,"style":1,"custom_id":"III","label":"3"} 17 | ]}, { "type":1,"components":[ 18 | {"type":2,"style":1,"custom_id":"IV","label":"4"}, 19 | {"type":2,"style":1,"custom_id":"V","label":"5"}, 20 | {"type":2,"style":1,"custom_id":"VI","label":"6"} 21 | ]}, { "type":1,"components":[ 22 | {"type":2,"style":1,"custom_id":"VII","label":"7"}, 23 | {"type":2,"style":1,"custom_id":"VIII","label":"8"}, 24 | {"type":2,"style":1,"custom_id":"IX","label":"9"} 25 | ]}, 26 | 27 | 28 | 29 | ]} 30 | 31 | }) 32 | }, 33 | }; 34 | ///"style":1 mavi 35 | ///"style":2 gri 36 | ///"style":3 yesil 37 | ///"style":4 kırmızı 38 | -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/button2.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | module.exports = { 4 | conf: { 5 | aliases: [], 6 | name: "buttonpanel2", 7 | owner: true, 8 | }, 9 | 10 | run: async (client, message, args) => { 11 | client.api.channels(message.channel.id).messages.post({ data: {"content":`Merhaba \`${message.guild.name}\` Sunucusu içerisi yapmak istediğiniz işlem veya ulaşmak istediğiniz komut için gerekli butonlara tıklamanız yeterli olucaktır!\n\n**XI:** \`Sunucumuzun invite komutlarına ulaşabilirsiniz\`\n**XII:** \`Sunucumuzun genel komutlarına ulaşabilirsiniz\`\n**XIII:** \`Sunucumuzun kayıt komutlarına ulasabilirsiniz\`\n\n**XIV:** \`Sunucumuzdaki kurucu komutlarına ulasabilirsiniz\`\n**XV:** \`Sunucumuzdaki moderasyon komutlarına ulasabilirsiniz\`\n**XVI:** \`Sunucumuzun stat komutlarına ulasabilirsiniz\`\n\n**XVII:** \`Sunucumuzun yetkili komutlarına ulasabilirsiniz\`\n**XVIII:** \`Sunucumuzun rol verme komutlarina ulasabilirsiniz\`\n**XIX:** \`Sunucumuzun rol verme 2 komutlarına ulasabilirsiniz\`\n`, 12 | "components":[{ 13 | "type":1,"components":[ 14 | {"type":2,"style":3,"custom_id":"XI","label":"XI"}, 15 | {"type":2,"style":3,"custom_id":"XII","label":"XII"}, 16 | {"type":2,"style":3,"custom_id":"XIII","label":"XIII"}, 17 | ]}, { "type":1,"components":[ 18 | {"type":2,"style":3,"custom_id":"XIV","label":"XIV"}, 19 | {"type":2,"style":3,"custom_id":"XV","label":"XV"}, 20 | {"type":2,"style":3,"custom_id":"XVI","label":"XVI"} 21 | ]}, { "type":1,"components":[ 22 | {"type":2,"style":3,"custom_id":"XVII","label":"XVII"}, 23 | {"type":2,"style":3,"custom_id":"XVIII","label":"XVIII"}, 24 | {"type":2,"style":3,"custom_id":"XIX","label":"XIX"} 25 | ]} 26 | 27 | 28 | ]} 29 | 30 | }) 31 | }, 32 | }; -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/button3.js: -------------------------------------------------------------------------------- 1 | const { Discord, MessageButton, MessageActionRow } = require("discord.js"); 2 | const { green, red, Jail } = require("../../configs/emojis.json") 3 | const moment = require("moment"); 4 | moment.locale("tr"); 5 | const client = global.client; 6 | 7 | module.exports = { 8 | conf: { 9 | aliases: [], 10 | name: "şüphelibutton", 11 | owner: true, 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | client.api.channels(message.channel.id).messages.post({ 17 | data: { 18 | "content": `${Jail} Aşağıda ki düğmeden hesabınızın 7 gün süresini dolurmasına kalan süresini görüntüleyebilirsiniz ve tıklayarak şüpheliden çıkabilirsiniz.`, "components": [{ 19 | "type": 1, "components": [ 20 | 21 | { "type": 2, "style": 4, "custom_id": "süpheli", "label": "Hesap Kontrol", "emoji": { "id": "916734243328114718" } }, 22 | 23 | ] 24 | }] 25 | } 26 | }) 27 | }, 28 | }; -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/cezabutton.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { Jail } = require("../../configs/emojis.json") 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: [], 7 | name: "cezabutton", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | client.api.channels(message.channel.id).messages.post({ data: {"content":`${Jail} Aşağıda ki düğmelerden ceza listenizi, ceza puanını ve aktif cezanızın kalan süresini görüntüleyebilirsiniz.\n@here @everyone`,"components":[{"type":1,"components":[ 13 | 14 | {"type":2,"style":2,"custom_id":"cezapuan","label":"Ceza Puanı","emoji": { "id": "924625730682384404"}}, 15 | {"type":2,"style":3,"custom_id":"cezalarım","label":"Cezalarım","emoji": { "id": "924625730682384404"}}, 16 | {"type":2,"style":4,"custom_id":"kalanzaman","label":"Kalan Zamanım?","emoji": { "id": "924625730682384404"}} 17 | 18 | ]}]} }) 19 | }, 20 | }; 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/ec-rolalma.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { ozinitro, ozinetflix, ozispotify, oziexxen, oziblutv} = require("../../configs/emojis.json") 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: [], 7 | name: "ecrolalma", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | client.api.channels(message.channel.id).messages.post({ data: {"content":`Merhaba **Marino** üyeleri,\nÇekiliş katılımcısı alarak ${ozinitro} , ${ozispotify} , ${ozinetflix} , ${oziexxen} , ${oziblutv} gibi çeşitli ödüllerin sahibi olabilirsiniz.\nEtkinlik katılımcısı alarak çeşitli etkinliklerin yapıldığı anlarda herkesten önce haberdar olabilirsiniz ve çekilişlere önceden katılma hakkı kazanabilirsiniz. \nFilm İzleyicisi = Sunucu içerisi olan Film, Film Geceleri, Netflix Yayınları etkinliklerden bildirim almak için gerekli rol!\n\n__Aşağıda ki butonlara basarak siz de bu ödülleri kazanmaya hemen başlayabilirsiniz!__\n @here @everyone`,"components":[{"type":1,"components":[ 13 | 14 | {"type":2,"style":3,"custom_id":"buttoncekilis","label":"🎁 Çekiliş Katılımcısı"}, 15 | {"type":2,"style":4,"custom_id":"buttonetkinlik","label":"🎉 Etkinlik Katılımcısı"}, 16 | {"type":2,"style":2,"custom_id":"buttonfilm","label":"📺 Film Katılımcısı"} 17 | 18 | 19 | ]}]} }) 20 | }, 21 | }; 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/commands/2-Button-Sistemi/ec-rolalma2.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const conf = require("../../configs/sunucuayar.json"); 3 | 4 | module.exports = { 5 | conf: { 6 | aliases: [], 7 | name: "ecrolalma2", 8 | owner: true, 9 | }, 10 | 11 | run: async (client, message, args) => { 12 | client.api.channels(message.channel.id).messages.post({ data: {"content":`Merhaba \`${message.guild.name}\` Rol seçmek için aşağıdaki gerekli butonlara tıklamanız yeterli olucaktır!\n\n**XXI:** \`Sunucumuzun LGBT Rolunu Alırsınız\`\n**XXII:** \`Sunucumuzun Sevgilim Var Rolunu Alırsınız\`\n**XXIII:** \`Sunucumuzun Sevgilim Yok Rolunu Alırsınız\`\n\n**XXIV:** \`Sunucumuzun Sevgili Yapmiyorum Rolunu Alırsınız\`\n**XXV:** \`Sunucumuzun Doğruluk Çesaretlik Rolunu Alırsınız\`\n**XXVI:** \`Sunucumuzun Vampir Köylü Rolunu Alırsınız\`\n`, 13 | "components":[{ 14 | "type":1,"components":[ 15 | {"type":2,"style":3,"custom_id":"buttonlgbt","label":"XXI"}, 16 | {"type":2,"style":3,"custom_id":"buttonsevgilimvar","label":"XXII"}, 17 | {"type":2,"style":3,"custom_id":"buttonsevgilimyok","label":"XXIII"}, 18 | ]}, { "type":1,"components":[ 19 | {"type":2,"style":3,"custom_id":"buttonsevgiliyapmiyorum","label":"XXIV"}, 20 | {"type":2,"style":3,"custom_id":"buttondcuye","label":"XXV"}, 21 | {"type":2,"style":3,"custom_id":"buttonvkuye","label":"XXVI"} 22 | 23 | ]} 24 | 25 | 26 | ]} 27 | 28 | }) 29 | }, 30 | }; -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/bağlantı-kes.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js") 2 | const { red , green } = require("../../configs/emojis.json") 3 | const serverSettings =require('../../models/sunucuayar') 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: ["kes","voicekick","at"], 8 | name: "Bağlantı-Kes", 9 | help: "Bağlantı-Kes" 10 | }, 11 | 12 | 13 | 14 | run: async (client, message, args, embed, prefix) => { 15 | if (!message.guild) return; 16 | let ayar = await serverSettings.findOne({ 17 | guildID: message.guild.id 18 | }); 19 | 20 | if(!ayar.teyitciRolleri.some(rol => message.member.roles.cache.has(rol)) && !message.member.hasPermission('ADMINISTRATOR')) return; 21 | 22 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 23 | if (!member) 24 | { 25 | message.react(red) 26 | message.lineReply("Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 27 | return } 28 | if(!member.voice.channel) return message.lineReply("Bağlantısını kesmek istediğiniz kullanıcı sesli odalarda bulunmuyor.", message.author, message.channel) 29 | if(message.member.roles.highest.rawPosition < member.roles.highest.rawPosition) return message.lineReply("Rolleri senden yüksek birinin ses kanallarında ki bağlantısını kesemezsin.", message.author, message.channel) 30 | const sestensiktirettim = new Discord.MessageEmbed() 31 | .setAuthor(message.author.username, message.author.displayAvatarURL({dynamic: true})) 32 | .setDescription("<@"+member+"> adlı kişinin **"+member.voice.channel.name+"** adlı ses kanalından çıkarıldı.") 33 | .setColor("RANDOM") 34 | member.voice.kick() 35 | message.lineReply(sestensiktirettim).then(message => { message.delete({ timeout : 7500 }) }).then(m => message.react(green)) 36 | }, 37 | }; -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/isim.js: -------------------------------------------------------------------------------- 1 | const { red , green } = require("../../configs/emojis.json") 2 | const isimler = require("../../schemas/names"); 3 | const moment = require("moment") 4 | moment.locale("tr") 5 | const serverSettings =require('../../models/sunucuayar') 6 | 7 | 8 | module.exports = { 9 | conf: { 10 | aliases: ["isim", "i", "nick"], 11 | name: "isim", 12 | help: "isim [üye] [isim] [yaş]" 13 | }, 14 | run: async (client, message, args, embed, prefix) => { 15 | if (!message.guild) return; 16 | let ayar = await serverSettings.findOne({ 17 | guildID: message.guild.id 18 | }); 19 | 20 | let uye = message.mentions.members.first() || message.guild.members.cache.get(args[0]) 21 | if(!ayar.teyitciRolleri.some(oku => message.member.roles.cache.has(oku)) && !ayar.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 22 | { 23 | message.react(red) 24 | message.lineReply(`Yetkin bulunmamakta.\Yetkili olmak istersen başvurabilirsin.`).then(x=> x.delete({timeout: 5000})) 25 | return } 26 | if(!uye) 27 | { 28 | message.react(red) 29 | message.lineReply(`\`${prefix}isim <@pusha/ID> \``).then(x=>x.delete({timeout:5000})) 30 | return } 31 | if(message.author.id === uye.id) 32 | { 33 | message.react(red) 34 | message.lineReply(`Kendi ismini değiştiremezsin. Booster isen \`${prefix}zengin\``).then(x => x.delete({timeout: 5000})); 35 | return } 36 | if(!uye.manageable) 37 | { 38 | message.react(red) 39 | message.lineReply(`Böyle birisinin ismini değiştiremiyorum.`).then(x => x.delete({timeout: 5000})); 40 | return } 41 | if(message.member.roles.highest.position <= uye.roles.highest.position) 42 | { 43 | message.react(red) 44 | message.lineReply(`Senden yüksekte olan birisinin ismini değiştiremezsin.`).then(x => x.delete({timeout: 5000})); 45 | return } 46 | const data = await isimler.findOne({ guildID: message.guild.id, userID: uye.user.id }); 47 | args = args.filter(a => a !== "" && a !== " ").splice(1); 48 | let setName; 49 | let isim = args.filter(arg => isNaN(arg)).map(arg => arg.charAt(0).replace('i', "İ").toUpperCase()+arg.slice(1)).join(" "); 50 | let yaş = args.filter(arg => !isNaN(arg))[0] || ""; 51 | if(!isim && !yaş) 52 | { 53 | message.react(red) 54 | message.lineReply(`\`${prefix}isim <@pusha/ID> \``).then(x=>x.delete({timeout:5000})) 55 | return } 56 | if(!yaş) 57 | { setName = `${uye.user.username.includes(ayar.tag) ? ayar.tag : (ayar.ikinciTag ? ayar.ikinciTag : (ayar.tag || ""))} ${isim}`; 58 | } else { setName = `${uye.user.username.includes(ayar.tag) ? ayar.tag : (ayar.ikinciTag ? ayar.ikinciTag : (ayar.tag || ""))} ${isim} ${yaş}`; 59 | } uye.setNickname(`${setName}`).catch(err => message.lineReply(`İsim çok uzun.`)) 60 | 61 | message.react(green) 62 | message.lineReply(embed.setDescription(` 63 | ${uye.toString()} üyesinin ismi "${setName}" olarak değiştirildi, bu üye daha önce bu isimlerle kayıt olmuş. 64 | ${red} üyesinin toplamda **${data ? `${data.names.length}` : "0"}** isim kayıtı bulundu 65 | ${data ? data.names.splice(0, 3).map((x, i) => `\`${x.name}\` (${x.rol}) (<@${x.yetkili}>)`).join("\n") : "Daha önce kayıt olmamış."} 66 | `) 67 | .setAuthor(message.guild.name, message.guild.iconURL({ dynamic: true, size: 2048 })) 68 | .setFooter(`Üyesinin önceki isimlerine komutuyla bakarak kayıt işlemini gerçekleştirmeniz önerilir.`)) 69 | 70 | await isimler.findOneAndUpdate({ guildID: message.guild.id, userID: uye.user.id }, { $push: { names: { name: setName, yetkili: message.author.id, rol: "İsim Değiştirme", date: Date.now() } } }, { upsert: true }); 71 | 72 | } } -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/kayitisimler.js: -------------------------------------------------------------------------------- 1 | const nameData = require("../../schemas/names") 2 | const {red, green } = require("../../configs/emojis.json") 3 | const moment = require("moment") 4 | moment.locale("tr") 5 | 6 | const serverSettings =require('../../models/sunucuayar') 7 | 8 | 9 | module.exports = { 10 | conf: { 11 | aliases: [], 12 | name: "isimler", 13 | help: "isimler [kullanıcı]" 14 | }, 15 | 16 | 17 | run: async (client, message, args, embed, prefix) => { 18 | if (!message.guild) return; 19 | let ayar = await serverSettings.findOne({ 20 | guildID: message.guild.id 21 | }); 22 | 23 | if(!ayar.teyitciRolleri.some(oku => message.member.roles.cache.has(oku)) && !ayar.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 24 | { 25 | message.react(red) 26 | message.lineReply(`Yetkin bulunmamakta.\Yetkili olmak istersen başvurabilirsin.`).then(x=> x.delete({timeout: 5000})) 27 | return } 28 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 29 | const data = await nameData.findOne({ guildID: message.guild.id, userID: member.user.id }); 30 | embed.setColor("#2f3136") 31 | embed.setAuthor(message.member.displayName, message.author.avatarURL({ dynamic: true })); 32 | message.lineReply(embed.setDescription(` 33 | <@${member.user.id}> kişisinin toplamda **${data ? `${data.names.length}` : "0"}** isim kayıtı bulundu. 34 | 35 | ${data ? data.names.splice(0, 3).map((x, i) => `\`${x.name}\` (${x.rol}) (<@${x.yetkili}>)`).join("\n") : "Daha önce kayıt olmamış."}`)); 36 | } 37 | }; -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/kayitsiz.js: -------------------------------------------------------------------------------- 1 | const { red, green } = require("../../configs/emojis.json") 2 | const serverSettings =require('../../models/sunucuayar') 3 | 4 | 5 | module.exports = { 6 | conf: { 7 | aliases: ["kayıtsız","ks","kayitsiz"], 8 | name: "kayitsiz", 9 | help: "kayitsiz" 10 | }, 11 | run: async (client, message, args, embed, prefix) => { 12 | 13 | if (!message.guild) return; 14 | let ayar = await serverSettings.findOne({ 15 | guildID: message.guild.id 16 | }) 17 | 18 | if(!ayar.teyitciRolleri.some(rol => message.member.roles.cache.has(rol)) && !message.member.hasPermission('ADMINISTRATOR')) 19 | { 20 | message.react(red) 21 | message.lineReply(`Yetkin bulunmamakta.\Yetkili olmak istersen başvurabilirsin.`).then(x=> x.delete({timeout: 5000})) 22 | return } 23 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 24 | if (!member) 25 | { 26 | message.react(red) 27 | message.lineReply("Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 28 | return } 29 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 30 | { 31 | message.react(red) 32 | message.lineReply("Kendinle aynı yetkide ya da daha yetkili olan birini kayıtsıza atamazsın!").then(x=>x.delete({timeout:5000})) 33 | return } 34 | if (!member.manageable) 35 | { 36 | message.react(red) 37 | message.lineReply( "Bu üyeyi kayıtsıza atamıyorum!").then(x=>x.delete({timeout:5000})) 38 | return } 39 | message.react(green) 40 | member.roles.set(ayar.unregRoles); 41 | member.setNickname(`${ayar.ikinciTag} İsim Yaş`) 42 | message.lineReply(`${member} üyesi, ${message.author} tarafından, kayıtsıza atıldı! ${green}`).then(x=>x.delete({timeout:5000})) 43 | 44 | }, 45 | }; -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/kayitstat.js: -------------------------------------------------------------------------------- 1 | const regstats = require("../../schemas/registerStats"); 2 | const serverSettings =require('../../models/sunucuayar') 3 | 4 | const { red, green } = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: [], 8 | name: "teyitler", 9 | help: "teyitler" 10 | }, 11 | run: async (client, message, args, embed, prefix) => { 12 | 13 | if (!message.guild) return; 14 | let ayar = await serverSettings.findOne({ 15 | guildID: message.guild.id 16 | }); 17 | 18 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 19 | if(!ayar.teyitciRolleri.some(rol => message.member.roles.cache.has(rol)) && !message.member.hasPermission('ADMINISTRATOR')) 20 | { 21 | message.react(red) 22 | message.lineReply(`Yetkin bulunmamakta.\Yetkili olmak istersen başvurabilirsin.`).then(x=> x.delete({timeout: 5000})) 23 | return } 24 | if (args[0] === "top") { 25 | let registerTop = await regstats.find({ guildID: message.guild.id }).sort({ top: -1 }); 26 | 27 | if (!registerTop.length) 28 | { 29 | message.react(red) 30 | message.lineReply("Herhangi bir kayıt verisi bulunamadı!").then(x=>x.delete({timeout:5000})) 31 | return } 32 | registerTop = registerTop.filter((x) => message.guild.members.cache.has(x.userID)).splice(0, 10); 33 | message.react(green) 34 | message.lineReply(embed.setDescription(registerTop.map((x, i) => `\`${i + 1}.\` <@${x.userID}> Toplam **${x.top}** (\`${x.erkek} Erkek, ${x.kız} Kız\`)`))); 35 | } else if (!args[0]) { 36 | const data = await regstats.findOne({ guildID: message.guild.id, userID: member.id }); 37 | message.react(green) 38 | message.lineReply(embed.setDescription(` 39 | Toplam kayıt bilgisi: \`${data ? data.top : 0}\` 40 | Toplam erkek kayıt bilgisi: \`${data ? data.erkek : 0}\` 41 | Toplam kız kayıt bilgisi: \`${data ? data.kız : 0}\` 42 | `)); 43 | } 44 | }, 45 | }; 46 | -------------------------------------------------------------------------------- /src/commands/4-Kayit-Sistemi/taglıalım.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const disbut = require("discord-buttons") 3 | const { red , green } = require("../../configs/emojis.json") 4 | 5 | const registerData = require("../../schemas/registerStats"); 6 | 7 | module.exports = { 8 | conf: { 9 | aliases: ["taglıalım","taglı-alım"], 10 | name: "taglı-alım", 11 | help: "taglı-alım [aç/kapat]", 12 | owner: true, 13 | }, 14 | 15 | run: async (client, message, args, embed) => { 16 | 17 | let pushaizm = new disbut.MessageButton().setStyle('red').setLabel('Kapat').setID('kapat') 18 | let rowyizm = new disbut.MessageButton().setStyle('green').setLabel('Aç').setID('aç') 19 | 20 | if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(embed.setDescription(`${message.member}, Bu komutu kullanmak için gerekli yetkiye sahip değilsin!`)) 21 | let data = await registerData.findOne({ guildID: message.guild.id }) 22 | if(!data) new registerData({guildID: message.guild.id, tagMode: false}).save(); 23 | 24 | if (data && data.tagMode === true) { 25 | 26 | message.channel.send(embed.setDescription(`Bu komut sunucu içerisinde taglı alımı açıp kapatmanıza yarar. 27 | \`\`\`diff 28 | - Taglı alım modu şuan (${data && data.tagMode === true ? `Açık` : `Kapalı`}) 29 | \`\`\` 30 | `), { buttons: [pushaizm] }).then(async (msg) => { 31 | 32 | client.on('clickButton', async (button) => { 33 | 34 | if(button.id === "kapat") { 35 | 36 | data.tagMode = false; 37 | data.save(); 38 | msg.edit(embed.setDescription(`${green} taglı alım modu başarıyla deaktif edildi!`), {buttons: [pushaizm.setDisabled(true)]}) 39 | 40 | } 41 | 42 | }) 43 | 44 | }) 45 | 46 | 47 | } 48 | 49 | if (data && data.tagMode === false) { 50 | 51 | message.channel.send(embed.setDescription(`Bu komut sunucu içerisinde taglı alımı açıp kapatmanıza yarar. 52 | \`\`\`diff 53 | - Taglı alım modu şuan (${data && data.tagMode === true ? `Açık` : `Kapalı`}) 54 | \`\`\` 55 | `), { buttons: [rowyizm] }).then(async (msg) => { 56 | 57 | client.on('clickButton', async (button) => { 58 | 59 | if(button.id === "aç") { 60 | 61 | data.tagMode = true; 62 | data.save(); 63 | msg.edit(embed.setDescription(`${green} taglı alım modu başarıyla aktif edildi!`), {buttons: [rowyizm.setDisabled(true)]}) 64 | 65 | } 66 | 67 | }) 68 | 69 | 70 | }) 71 | 72 | } 73 | 74 | } 75 | } -------------------------------------------------------------------------------- /src/commands/6-İnvite-Sistemi/invite-add-delete-query.js: -------------------------------------------------------------------------------- 1 | const inviterSchema = require("../../schemas/inviter"); 2 | const inviteMemberSchema = require("../../schemas/inviteMember"); 3 | const moment = require("moment"); 4 | moment.locale("tr"); 5 | 6 | module.exports = { 7 | conf: { 8 | aliases: ["davet"], 9 | name: "invite" 10 | }, 11 | 12 | /** 13 | * @param { Client } client 14 | * @param { Message } message 15 | * @param { Array } args 16 | */ 17 | 18 | run: async (client, message, args, embed) => { 19 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[1]); 20 | if (!member) return message.reply("bir üye belirtmelisin!"); 21 | 22 | if (args[0] === "ekle" || args[0] === "add") { 23 | if (!message.member.hasPermission(8)) return; 24 | const amount = args[2]; 25 | if (!amount) return message.reply("bir miktar belirtmelisin!"); 26 | await inviterSchema.findOneAndUpdate({ guildID: member.guild.id, userID: member.user.id }, { $inc: { total: parseInt(amount), bonus: parseInt(amount) } }, { upsert: true }); 27 | message.channel.send(embed.setDescription(`${member.toString()} üyesine ${amount} adet bonus davet eklendi!`)); 28 | } else if (args[0] === "sil" || args[0] === "delete") { 29 | if (!message.member.hasPermission(8)) return; 30 | const amount = args[2]; 31 | if (!amount) return message.reply("bir miktar belirtmelisin!"); 32 | const data = await inviterSchema.findOne({ guildID: message.guild.id, userID: member.user.id }); 33 | if (!data) return message.reply("bu kişinin invite verisi bulunmuyor!"); 34 | data.total -= parseInt(amount); 35 | data.bonus -= parseInt(amount); 36 | await data.save(); 37 | message.channel.send(embed.setDescription(`${member.toString()} üyesinden ${amount} adet bonus davet çıkarıldı!`)); 38 | } else if (args[0] === "sorgu" || args[0] === "query") { 39 | const data = await inviteMemberSchema.findOne({ guildID: message.guild.id, userID: member.user.id }); 40 | if (!data) return message.reply("bu kişiyi kimin davet ettiğini bulamadım!"); 41 | const inviter = await client.users.fetch(data.inviter); 42 | embed.setThumbnail(member.user.avatarURL({ dynamic: true })); 43 | message.channel.send(embed.setDescription(`${member.toString()} üyesi, ${moment(data.date).format("LLL")} tarihinde \`(${inviter.username} - ${inviter.id})\` tarafından davet edilmiş.`)); 44 | } 45 | }, 46 | }; -------------------------------------------------------------------------------- /src/commands/6-İnvite-Sistemi/inviterank.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const inviterSchema = require("../../schemas/inviter"); 3 | const inviteMemberSchema = require("../../schemas/inviteMember"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const { kirmiziok, star, miniicon } = require("../../configs/emojis.json"); 6 | module.exports = { 7 | conf: { 8 | aliases: ["invites"], 9 | name: "invites", 10 | help: "invites" 11 | }, 12 | 13 | run: async (client, message, args) => { 14 | 15 | if (!message.guild) return; 16 | let conf = await serverSettings.findOne({ 17 | guildID: message.guild.id 18 | }); 19 | 20 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 21 | const inviterData = await inviterSchema.findOne({ guildID: message.guild.id, userID: member.user.id }); 22 | const total = inviterData ? inviterData.total : 0; 23 | const regular = inviterData ? inviterData.regular : 0; 24 | const bonus = inviterData ? inviterData.bonus : 0; 25 | const leave = inviterData ? inviterData.leave : 0; 26 | const fake = inviterData ? inviterData.fake : 0; 27 | const invMember = await inviteMemberSchema.find({ guildID: message.guild.id, inviter: member.user.id }); 28 | const daily = invMember ? message.guild.members.cache.filter((m) => invMember.some((x) => x.userID === m.user.id) && Date.now() - m.joinedTimestamp < 1000 * 60 * 60 * 24).size : 0; 29 | const weekly = invMember ? message.guild.members.cache.filter((m) => invMember.some((x) => x.userID === m.user.id) && Date.now() - m.joinedTimestamp < 1000 * 60 * 60 * 24 * 7).size : 0; 30 | let tagged; 31 | if (conf.tag && conf.tag.length > 0) tagged = invMember ? message.guild.members.cache.filter((m) => invMember.some((x) => x.userID === m.user.id) && m.user.username.includes(conf.tag)).size : 0; 32 | else tagged = 0; 33 | 34 | const embed = new MessageEmbed() 35 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true })) 36 | .setThumbnail(member.user.avatarURL({ dynamic: true, size: 2048 })) 37 | .setDescription(` 38 | ${star} Toplam **${total}** davet. \`(${regular} gerçek, ${bonus} bonus, ${leave} ayrılmış, ${fake} fake)\` 39 | 40 | ${kirmiziok} Günlük: \`${daily}\`, Haftalık: \`${weekly}\`, Taglı: \`${tagged}\` 41 | `); 42 | 43 | message.channel.send(embed); 44 | }, 45 | }; 46 | -------------------------------------------------------------------------------- /src/commands/6-İnvite-Sistemi/invitetop.js: -------------------------------------------------------------------------------- 1 | const db = require("../../schemas/inviter"); 2 | module.exports = { 3 | conf: { 4 | aliases: ["invtop", "invite-top", "davet-top", "davettop","invitetop"], 5 | name: "topinvite", 6 | help: "topinvite" 7 | }, 8 | 9 | run: async (client, message, args, embed) => { 10 | let data = await db.find({ guildID: message.guild.id }).sort({ total: -1 }); 11 | if (!data.length)return message.channel.send(embed.setDescription("Herhangi bir invite verisi bulunamadı!")); 12 | let arr = []; 13 | data.forEach((x) => arr.push({ id: x.userID, total: x.total })); 14 | let index = arr.findIndex((x) => x.id == message.author.id) + 1; 15 | 16 | let list = data 17 | .filter((x) => message.guild.members.cache.has(x.userID)) 18 | .splice(0, 10) 19 | .map((x, index) => `${x.userID === message.author.id ? `**${index + 1}. <@${x.userID}> - Toplam ${x.total} davet (${x.regular} gerçek, ${x.bonus} bonus, ${x.fake} fake, ${x.leave} ayrılmış)**` : `**${index + 1}.** <@${x.userID}> - Toplam **${x.total}** davet \`(${x.regular} gerçek, ${x.bonus} bonus, ${x.fake} fake, ${x.leave} ayrılmış)\``}`) 20 | .join("\n"); 21 | 22 | const veri = await db.findOne({ guildID: message.guild.id, userID: message.author.id }); 23 | if (index < 10) { 24 | embed.setTitle("Invite Sıralaması"); 25 | embed.setDescription(list); 26 | message.channel.send(embed); 27 | } else { 28 | embed.setTitle("Invite Sıralaması"); 29 | embed.setDescription( `${list} \n... \n**${index}. ${message.author} Toplam ${veri.total} davet (${veri.regular} gerçek, ${veri.bonus} bonus, ${veri.fake} fake, ${veri.leave} ayrılmış)**`); 30 | message.channel.send(embed); 31 | } 32 | } 33 | }; -------------------------------------------------------------------------------- /src/commands/7-Yetkili-Sistemi/say.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../../models/sunucuayar') 2 | const { red } = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["say"], 6 | name: "say", 7 | help: "say" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | 12 | if (!message.guild) return; 13 | let conf = await serverSettings.findOne({ 14 | guildID: message.guild.id 15 | }); 16 | 17 | if(!conf.teyitciRolleri.some(oku => message.member.roles.cache.has(oku)) && !conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 18 | { 19 | message.react(red) 20 | return 21 | } 22 | let Tag = conf.tag 23 | var TotalMember = message.guild.memberCount 24 | let tag = await message.guild.members.cache.filter(member => member.user.username.includes(Tag)).size 25 | let sesli = message.guild.channels.cache.filter(channel => channel.type == "voice").map(channel => channel.members.size).reduce((a, b) => a + b); 26 | var Yetkili = message.guild.members.cache.filter(b => b.roles.cache.get(conf.staffs)).size || 0; 27 | var boost = message.guild.premiumSubscriptionCount; 28 | var boostlevel = message.guild.premiumTier; 29 | 30 | message.channel.send(embed 31 | .setColor('RANDOM') 32 | .setDescription(` 33 | \`❯\` Şu anda toplam **${sesli}** kişi seslide. 34 | \`❯\` Sunucumuzda toplam **${message.guild.memberCount}** kullanıcı bulunmaktadır. (**${message.guild.members.cache.filter(member => member.presence.status !== "offline").size}** Aktif) 35 | \`❯\` Sunucumuzda toplam Taglı **${tag}** kullanıcı bulunmaktadır (**+ ${Yetkili} Yetkili**) 36 | \`>\` Sunucumuzda toplam **${boost}** takviye bulunmakta. (\`${boostlevel}. seviye\`) `) 37 | 38 | ) 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /src/commands/7-Yetkili-Sistemi/seskontrol.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../../models/sunucuayar') 2 | const { red, green } = require("../../configs/emojis.json"); 3 | const voice = require("../../schemas/voiceInfo"); 4 | const moment = require("moment"); 5 | require("moment-duration-format"); 6 | 7 | module.exports = { 8 | conf: { 9 | aliases: ["nerede", "n","sestemi"], 10 | name: "nerede", 11 | help: "nerede" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if(!conf.teyitciRolleri.some(oku => message.member.roles.cache.has(oku)) && !conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 22 | {message.react(red) 23 | return 24 | } 25 | const channel = message.guild.channels.cache.get(args[0]); 26 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 27 | if (channel) { 28 | const data = await voice.find({}).sort({ date: -1 }); 29 | message.channel.sendEmbed(embed.setDescription(` 30 | \`${channel.name}\` adlı kanaldaki üyelerin ses bilgileri: 31 | 32 | ${channel.members.map((x) => `${x.toString()}: \`${data.find((u) => u.userID === x.user.id) ? moment.duration(Date.now() - data.find((u) => u.userID === x.user.id).date).format("H [saat], m [dakika], s [saniyedir]") : "Bulunamadı!"} seste.\``).join("\n")} 33 | `)); 34 | } else { 35 | embed.setThumbnail(member.user.avatarURL({ dynamic: true, size: 2048 })); 36 | if (!member.voice.channel) return message.channel.send(`${red} ${member.toString()} üyesi herhangi bir ses kanalında bulunmuyor!`); 37 | 38 | const data = await voice.findOne({ userID: member.user.id }); 39 | message.react(green) 40 | message.channel.send(embed.setDescription(` 41 | ${member.toString()} üyesi **${member.voice.channel.name}** kanalında. 42 | **-------------** 43 | \`Mikrofonu:\` ${member.voice.mute ? `Kapalı ${red}` : `Açık ${green}`} 44 | \`Kulaklığı:\` ${member.voice.deaf ? `Kapalı ${red}` : `Açık ${green}`} 45 | 46 | ${data ? `${moment.duration(Date.now() - data.date).format("H [saat], m [dakika], s [saniyedir]")} seste.` : ""} 47 | `)); 48 | } 49 | }, 50 | }; -------------------------------------------------------------------------------- /src/commands/7-Yetkili-Sistemi/seslisay.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../../models/sunucuayar') 2 | const { kirmiziok, star, Revuu } = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["seslisay","sesli"], 6 | name: "seslisay", 7 | help: "seslisay" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | 12 | if (!message.guild) return; 13 | let conf = await serverSettings.findOne({ 14 | guildID: message.guild.id 15 | }); 16 | 17 | if(!conf.teyitciRolleri.some(oku => message.member.roles.cache.has(oku)) && !conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 18 | { 19 | message.react(red) 20 | return 21 | } 22 | let tag = conf.tag; 23 | let pubID = conf.publicParents; 24 | 25 | let topses = message.guild.members.cache.filter(s => s.voice.channel); 26 | let tagses = topses.filter(s => s.user.username.includes(tag)); 27 | let pubses = message.guild.channels.cache.filter(x => x.parentID == conf.PublicParent && x.type == "voice"); 28 | 29 | let yayın = topses.filter(s => s.voice.streaming); 30 | let mik = topses.filter(s => s.voice.selfMute).size; 31 | let kulak = topses.filter(s => s.voice.selfDeaf).size; 32 | let bot = topses.filter(s => s.user.bot); 33 | let count = 1; 34 | let topCategory = message.guild.channels.cache.filter(s => s.type === 'category').sort((a, b) => Number(message.guild.members.cache.filter(s => s.voice.channel && s.voice.channel.parentID === b.id).size - Number(message.guild.members.cache.filter(s => s.voice.channel && s.voice.channel.parentID === a.id).size))).map((c, index) => `${count++}. \`#${c.name}\`: \`${c.members.filter(s => s.voice.channel && s.voice.channel.parentID === c.id).size}\``).splice(0, 3).join('\n'); 35 | let yetkili = message.guild.members.cache.filter(x => { 36 | return x.user.username.includes(conf.tag) && x.voice.channel && x.roles.cache.has(conf.ekipRolu) 37 | }).size 38 | 39 | embed.setDescription(` 40 | ${star} Sesli kanallarda toplam **${topses.size}** kişi var ! 41 | 42 | ${kirmiziok} Public odalarda **${pubses.size}** kişi var ! 43 | ${kirmiziok} Ses kanallarında **${tagses.size}** taglı kullanıcı var ! 44 | ${kirmiziok} Ses kanallarında **${yetkili}** yetkili var ! 45 | 46 | ${kirmiziok} Ses kanallarında **${yayın.size}** kişi yayın yapıyor ! 47 | ${kirmiziok} Mikrofonu kapalı: **${mik}** 48 | ${kirmiziok} Kulaklığı kapalı: **${kulak}** 49 | 50 | ${Revuu} **Top 3 kategori sırası** 51 | ${topCategory || 'Boş'} 52 | `) 53 | 54 | 55 | message.channel.send(embed) 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /src/commands/7-Yetkili-Sistemi/tagsay.js: -------------------------------------------------------------------------------- 1 | const { green, red } = require("../../configs/emojis.json") 2 | const serverSettings =require('../../models/sunucuayar') 3 | module.exports = { 4 | conf: { 5 | aliases: ["tagsay"], 6 | name: "tagsay", 7 | help: "tagsay" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | 12 | if (!message.guild) return; 13 | let conf = await serverSettings.findOne({ 14 | guildID: message.guild.id 15 | }); 16 | 17 | if(!conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 18 | message.react(red) 19 | return } 20 | const tag = args.slice(0).join(" ") || conf.tag; 21 | const memberss = message.guild.members.cache.filter((member) => member.user.username.includes(tag) && !member.user.bot); 22 | let atilacak = `Kullanıcı adında **${tag}** tagı olan **${memberss.size}** kişi bulunuyor: \n${memberss.map((member) => `${member} - \`${member.id}\``).join("\n") || `${tag} taglı kullanıcı yok`}`; 23 | for (var i = 0; i < Math.floor(atilacak.length / 2000); i++) { 24 | message.channel.send(embed.setDescription(atilacak.slice(0, 2000))); 25 | atilacak = atilacak.slice(2000); 26 | } 27 | if (atilacak.length > 0) message.channel.send(embed.setDescription(atilacak)); 28 | }, 29 | }; 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/commands/7-Yetkili-Sistemi/yetkilises.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../../models/sunucuayar') 2 | const moment = require("moment"); 3 | moment.locale("tr"); 4 | const { red } = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["ysay","yetkilises","sesteolmayan"], 8 | name: "ysay", 9 | help: "ysay" 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | 14 | if (!message.guild) return; 15 | let conf = await serverSettings.findOne({ 16 | guildID: message.guild.id 17 | }); 18 | 19 | if (!message.member.hasPermission('ADMINISTRATOR')) return message.react(red) 20 | let NoVoice = message.guild.members.cache.filter(Tau => Tau.roles.cache.has(ayar.registerPerm)).filter(filterTau => !filterTau.voice.channel&&filterTau.presence.status!="offline") 21 | message.channel.send(` 22 | Aktif olup seste olmayan yetkililer ; 23 | Seslere geçelim aktifliğiniz ile puanlarınız yükselir ve yetki atlayabilirsiniz. 24 | ${NoVoice.map(noVoiceMember => `${noVoiceMember} (${noVoiceMember.user.tag})`).join('\n')}`) 25 | 26 | }} 27 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/allmove.js: -------------------------------------------------------------------------------- 1 | const { MessageFlags } = require("discord.js"); 2 | const {red, green} = require("../../configs/emojis.json") 3 | module.exports = { 4 | conf: { 5 | aliases: ["toplutaşı","allmove"], 6 | name: "toplutaşı", 7 | help: "toplutaşı" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | if (!message.member.hasPermission("MOVE_MEMBERS")) return message.react(red) 12 | if (!args[0]) 13 | { 14 | message.react(red) 15 | message.channel.send("Üyelerin taşınacağı bir kanal ID'si girmelisin!").then(x=>x.delete({timeout:5000})) 16 | return } 17 | if (message.member.voice.channelID) { 18 | const channel = message.member.voice.channel; 19 | channel.members.forEach((x, index) => { 20 | client.wait(index * 1000); 21 | x.voice.setChannel(args[0]); 22 | }); 23 | message.channel.send(embed.setDescription(`\`${channel.name}\` kanalındaki tüm üyeler \`${message.guild.channels.cache.get(args[0]).name}\` adlı kanala taşındı!`)); 24 | } else { 25 | const channel = message.guild.channels.cache.get(args[0]); 26 | channel.members.forEach((x, index) => { 27 | client.wait(index * 1000); 28 | x.voice.setChannel(args[1]); 29 | }); 30 | message.channel.send(embed.setDescription(`\`${channel.name}\` kanalındaki tüm üyeler \`${message.guild.channels.cache.get(args[1]).name}\` adlı kanala taşındı!`)); 31 | } 32 | }, 33 | }; 34 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/rolbilgi.js: -------------------------------------------------------------------------------- 1 | const { red, green } = require("../../configs/emojis.json") 2 | module.exports = { 3 | conf: { 4 | aliases: ["rolbilgi","role"], 5 | name: "rolbilgi", 6 | help: "rolbilgi" 7 | }, 8 | run: async (client, message, args, embed) => { 9 | if (!message.member.hasPermission('ADMINISTRATOR') && !conf.banHammer.some(x => message.member.roles.cache.has(x))) return; 10 | 11 | let role = message.mentions.roles.first() || message.guild.roles.cache.get(args[0]) 12 | if (!args[0]) return message.lineReply("Bir rol etiketle ve tekrardan dene!") 13 | if (!role) return message.lineReply("Belirtmiş olduğun rolü bulamadım ! Düzgün bir rol etiketle veya ID belirtip tekrar dene.") 14 | let sayı = role.members.size 15 | if (sayı > 200) return message.lineReply(`${role} rolünde toplam ${sayı} kişi olduğundan dolayı rol bilgisini yollayamıyorum.`) 16 | let üyeler = role.members.map(x => `<@${x.id}> - (\`${x.id}\`) `) 17 | 18 | message.lineReply(`- ${role} rol bilgileri; 19 | - Rol Rengi: \`${role.hexColor}\` 20 | - Rol ID: \`${role.id}\` 21 | - Rol Kişi Sayısı: \`${sayı}\` 22 | ───────────────── 23 | - Roldeki Kişiler: 24 | ${üyeler.join("\n")} 25 | `, { split: true }) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/rollog.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js") 2 | const {red, green} = require("../../configs/emojis.json") 3 | const roller = require("../../schemas/rolveridb"); 4 | const emojis = require("../../configs/emojis.json"); 5 | const moment = require("moment"); 6 | moment.locale("tr"); 7 | 8 | module.exports = { 9 | conf: { 10 | aliases: ["rollog"], 11 | name: "rollog", 12 | help: "rollog" 13 | }, 14 | 15 | run: async (client, message, args, embed) => { 16 | if (!message.member.hasPermission("VIEW_AUDIT_LOG") && !conf.banHammer.some(x => message.member.roles.cache.has(x))) return; 17 | const Member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 18 | const Veri = await roller.findOne({ user: Member.id }); 19 | if (!Veri) return message.channel.send(new Discord.MessageEmbed().setDescription(`<@${Member.id}> kişisinin rol bilgisi veritabanında bulunmadı.`, message.author, message.channel)) 20 | let page = 1; 21 | let rol = Veri.roller.sort((a, b) => b.tarih - a.tarih) 22 | let liste = rol.map(x => `${x.state == "Ekleme" ? red : green } Rol: <@&${x.rol}> Yetkili: <@${x.mod}> \nTarih: ${x.tarih}`) 23 | var msg = await message.channel.send(new Discord.MessageEmbed().setDescription(`${Member} kişisinin toplamda ${Veri.roller.length} rol bilgisi bulunmakta, rollerin bilgileri aşağıda belirtilmiştir.\n\n ${liste.slice(page == 1 ? 0 : page * 10 - 10, page * 10).join('\n─────────────────\n')}`).setColor("RANDOM").setAuthor(Member.user.tag, Member.user.avatarURL({ dynamic: true }), `https://discord.com/users/${Member.id}`)); 24 | if (liste.length > 10) { 25 | await msg.react(`⬅️`); 26 | await msg.react(`➡️`); 27 | let collector = msg.createReactionCollector((react, user) => ["⬅️", "➡️"].some(e => e == react.emoji.name) && user.id == message.member.id, { time: 200000 }); 28 | collector.on("collect", (react) => { 29 | if (react.emoji.name == "➡️") { 30 | if (liste.slice((page + 1) * 10 - 10, (page + 1) * 10).length <= 0) return; 31 | page += 1; 32 | let rollogVeri = liste.slice(page == 1 ? 0 : page * 10 - 10, page * 10).join("\n─────────────────\n"); 33 | msg.edit(new Discord.MessageEmbed().setColor("RANDOM").setDescription(`${Member} kişisinin toplamda ${Veri.roller.length} rol bilgisi bulunmakta, rollerin bilgileri aşağıda belirtilmiştir.\n\n${rollogVeri}`).setAuthor(Member.user.tag, Member.user.avatarURL({ dynamic: true }), `https://discord.com/users/${Member.id}`)); 34 | react.users.remove(message.author.id) 35 | } 36 | if (react.emoji.name == "⬅️") { 37 | if (liste.slice((page - 1) * 10 - 10, (page - 1) * 10).length <= 0) return; 38 | page -= 1; 39 | let rollogVeri = liste.slice(page == 1 ? 0 : page * 10 - 10, page * 10).join("\n─────────────────\n"); 40 | msg.edit(new Discord.MessageEmbed().setColor("RANDOM").setDescription(`${Member} kişisinin toplamda ${Veri.roller.length} rol bilgisi bulunmakta, rollerin bilgileri aşağıda belirtilmiştir.\n\n${rollogVeri}`).setAuthor(Member.user.tag, Member.user.avatarURL({ dynamic: true }), `https://discord.com/users/${Member.id}`)); 41 | react.users.remove(message.author.id) 42 | } 43 | }) 44 | } 45 | }, 46 | }; -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/rolver.js: -------------------------------------------------------------------------------- 1 | const serverSettings = require('../../models/sunucuayar') 2 | const settings = require("../../configs/settings.json") 3 | 4 | const { red, green } = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["rolver","rol-ver","r"], 8 | name: "rolver", 9 | help: "rolver" 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | 14 | let conf = await serverSettings.findOne({ 15 | guildID: settings.guildID 16 | }); 17 | 18 | if(!conf.rolverici.some(oku => message.member.roles.cache.has(oku)) && !conf.sahipRolu.some(oku => message.member.roles.cache.has(oku)) && !message.member.hasPermission('ADMINISTRATOR')) 19 | { 20 | message.lineReply(`Malesef yetkin bulunmamakta dostum.`).then(x=> x.delete({timeout: 5000})) 21 | return } 22 | 23 | if (!args[0]) return message.lineReply(" Kullanımı: !r al/ver Kullanıcı Rol") 24 | if (args[0] != "al") { 25 | if (args[0] != "ver") { 26 | return message.lineReply(" Kullanımı: !r al/ver Kullanıcı Rol") 27 | } 28 | } 29 | 30 | if (!args[1]) return message.lineReply(" Bir üye etiketle ve tekrardan dene!") 31 | let rMember = message.mentions.members.first() || message.guild.members.cache.get(args[1]) 32 | if (!rMember) return message.lineReply(" Bir üye etiketle ve tekrardan dene!") 33 | 34 | if (!args[2]) return message.lineReply(" Rolü belirtmelisin.") 35 | let role = message.mentions.roles.first() || message.guild.roles.cache.get(args[2]) 36 | if (!role) return message.lineReply(" Belirtmiş olduğun rolü bulamadım ! Düzgün bir rol etiketle veya ID belirtip tekrar dene.") 37 | if (message.member.roles.highest.rawPosition <= role.rawPosition) return message.lineReply(" Kendi rolünden yüksek veya eşit bir rolle işlem yapamazsın.") 38 | 39 | 40 | if (args[0] == "al") { 41 | if (rMember.roles.cache.has(role.id)) { 42 | rMember.roles.remove(role.id) 43 | message.lineReply(embed.setThumbnail(message.author.avatarURL({dynamic: true, size: 2048})).setDescription(`${rMember} Kişisinden ${role} rolünü aldım.`)) 44 | } else { 45 | message.lineReply(embed.setThumbnail(message.author.avatarURL({dynamic: true, size: 2048})).setDescription(`${rMember} Kişisinde ${role} rolü mevcut değil.`)) 46 | } 47 | } 48 | if (args[0] == "ver") { 49 | if (!rMember.roles.cache.has(role.id)) { 50 | rMember.roles.add(role.id) 51 | message.lineReply(embed.setThumbnail(message.author.avatarURL({dynamic: true, size: 2048})).setDescription(`${rMember} Kişisine ${role} rolünü ekledim.`)) 52 | } else { 53 | message.lineReply(embed.setThumbnail(message.author.avatarURL({dynamic: true, size: 2048})).setDescription(`${rMember} Kişisinde ${role} rolü zaten mevcut.`)) 54 | } 55 | } 56 | }, 57 | }; 58 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/sil.js: -------------------------------------------------------------------------------- 1 | const { green, red } = require("../../configs/emojis.json") 2 | module.exports = { 3 | conf: { 4 | aliases: ["sil","temizle"], 5 | name: "sil", 6 | help: "sil" 7 | }, 8 | 9 | run: async (client, message, args, embed) => { 10 | if (!message.member.hasPermission('MANAGE_MESSAGES')) return; 11 | if (!args[0]) return message.channel.send(`${red} Bir miktar belirtmelisin!`).then(x=>x.delete({timeout: 5000})) 12 | if (isNaN(args[0])) return message.channel.send(`${red} Belirttiğin miktar bir sayı olmalı!`).then(x=>x.delete({timeout: 5000})) 13 | await message.delete(); 14 | await message.channel.bulkDelete(args[0]); 15 | message.channel.send(`${green} ${args[0]} adet mesaj silindi!`).then(x=>x.delete({timeout: 5000})) 16 | }, 17 | }; 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/toplanti.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const { red, green } = require("../../configs/emojis.json") 4 | const serverSettings =require('../../models/sunucuayar') 5 | module.exports = { 6 | conf: { 7 | aliases: ["toplanti","toplantı","yoklama"], 8 | name: "toplantı", 9 | help: "toplantı" 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | 14 | if (!message.guild) return; 15 | let conf = await serverSettings.findOne({ 16 | guildID: message.guild.id 17 | }); 18 | 19 | 20 | if (!message.member.hasPermission('ADMINISTRATOR')) return; 21 | let toplantiChannel = conf.toplantiSesChannel 22 | let katıldıRolü = conf.katildiRole 23 | let uyarıRolü = conf.uyariRole 24 | let mazeretRolu = conf.mazaretliRole 25 | let enaltyt = message.guild.roles.cache.get(conf.enAltYetkiliRole) 26 | if(!args[0]) 27 | { 28 | message.react(red) 29 | message.channel.send(`Mazaretli birisini belirtmek için : **.toplantı mazeretli**. Toplantı başlatmak için **.toplantı başlat**.`).then(x=>x.delete({timeout: 5000})) 30 | return 31 | } 32 | if(args[0] == "mazeretli" || args[0] == "mazeret") 33 | { 34 | let member = message.mentions.users.first() || message.guild.members.cache.get(args[1]); 35 | if(!member) { 36 | message.react(red) 37 | message.channel.send(`Kimin mazeretli olduğunu belirtmeyi unuttun dostum.`).then(x=>x.delete({timeout:5000})) 38 | return 39 | } 40 | const reason = args.slice(2).join(" "); 41 | if(!reason) 42 | { 43 | message.react(red) 44 | message.channel.send(`Bu üye neden mazeretli ? Belirtip tekrar dener misin ?`).then(x=> x.delete({timeout:5000})) 45 | return 46 | } 47 | message.react(green) 48 | message.channel.send(`${member} kişisi ${reason} sebebiyle mazeretli olarak kaydedildi.`).then(x=>x.delete({timeout:50000})) 49 | client.channels.cache.get(conf.mazaretliLogChannel).wsend(`${member} yetkilisinin mazereti ${message.author} tarafından \`${reason}\` sebebiyle kabul edildi.`) 50 | await member.roles.add(mazeretRolu).catch({ }) 51 | } 52 | if(args[0] == "başlat" || args[0] == "başla") { 53 | let sestekiler = message.guild.members.cache.filter(x => x.roles.highest.position >= enaltyt.position).filter(s => s.voice.channelID === toplantiChannel) 54 | let sesteolmayanlar = message.guild.members.cache.filter(x => x.roles.highest.position >= enaltyt.position).filter(s => s.voice.channelID !== toplantiChannel).filter(a => !a.roles.cache.has(mazeretRolu)) 55 | sestekiler.array().forEach((uye, index) => { 56 | setTimeout(async() => { 57 | uye.roles.add(katıldıRolü) 58 | }, index * 750) 59 | }) 60 | sesteolmayanlar.array().forEach((uye, index) => { 61 | setTimeout(async() => { 62 | uye.roles.add(uyarıRolü) 63 | }, index * 750) 64 | }) 65 | let mazeretli = message.guild.roles.cache.get(mazeretRolu).members.size 66 | message.channel.send(embed.setDescription(` 67 | Katıldı rolü verilecek yetkili sayısı: **${sestekiler.size}** 68 | Katıldı rolü alınacak yetkili sayısı: **${sesteolmayanlar.size}** 69 | Mazereti olan yetkilili sayısı : **${mazeretli}** 70 | 71 | Seste olmayan yetkililere <@&${conf.uyariRole}> rolü dağıtılmaya başlandı! Seste olan yetkililere <@&${conf.katildiRole}> rolü dağıtılmaya başlandı! 72 | Seste olmayan yetkililere dm atmak için lütfen \`.toplantı çağır\` komutunu kullanın! 73 | `)) 74 | } 75 | if(args[0] == "çağır") { 76 | let sesteolmayanlar = message.guild.members.cache.filter(x => x.roles.highest.position >= enaltyt.position).filter(s => s.voice.channelID !== toplantiChannel).filter(a => !a.roles.cache.has(mazeretRolu)) 77 | if(sesteolmayanlar.length == 0 ) return message.channel.send(`Ses olmayan yetkili yok!`).then(x=>x.delete({timeout:6000})) 78 | let mesaj = await message.channel.send(`Seste olmayan ${sesteolmayanlar.size} kişiye dmden bildirim geçiyorum!`) 79 | var filter = m => m.author.id === message.author.id && m.author.id !== client.user.id && !m.author.bot; 80 | sesteolmayanlar.forEach((yetkili, index) => { 81 | setTimeout(() => { 82 | yetkili.send(message.guild.name+' Sunucusunda toplantı başladı. Yetkili olduğun halde toplantıda değilsin. Eğer toplantıya girmezsen yetkilerin alınacaktır.').then(x => mesaj.edit(embed.setDescription(`${yetkili} yetkilisine özelden mesaj atıldı!`)).catch(err => message.channel.send(`${yetkili}, Sunucuda toplantı başladı. Yetkili olduğun halde toplantıda değilsin. Eğer toplantıya girmezsen yetkilerin alınacaktır.`).then(x => mesaj.edit(embed.setDescription(`${yetkili} yetkilisine özelden mesaj atılamadığı için kanalda etiketlendi!`))))); 83 | }, index*1000); 84 | }) 85 | } 86 | 87 | }} 88 | -------------------------------------------------------------------------------- /src/commands/8-UstYetkili-Sistemi/yavasmod.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | conf: { 3 | aliases: ["yavasmod"], 4 | name: "yavasmod", 5 | help: "yavasmod", 6 | }, 7 | 8 | /** 9 | * @param { Client } client 10 | * @param { Message } message 11 | * @param { Array } args 12 | */ 13 | 14 | run: async (client, message, args, embed) => { 15 | if (!message.member.hasPermission('ADMINISTRATOR') && !conf.banHammer.some(x => message.member.roles.cache.has(x))) return; 16 | 17 | const number = args[0]; 18 | if (!number) return message.channel.error(message, "Bir sayı girmelisin!"); 19 | if (isNaN(number)) return message.channel.error(message, "Geçerli bir sayı girmelisin!"); 20 | if (number > 1000) return message.channel.error(message, "Sayı en fazla 100 olmalıdır!"); 21 | 22 | message.channel.setRateLimitPerUser(args[0]); 23 | message.channel.send(embed.setDescription(`Kanal slowmode'u **${number} saniye** olarak ayarlandı!`)); 24 | }, 25 | }; -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/allmute.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | module.exports = { 4 | conf: { 5 | aliases: ["allmute"], 6 | name: "allmute", 7 | help: "allmute" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | if (!message.member.hasPermission("MOVE_MEMBERS")) return; 12 | let channel = message.guild.channels.cache.get(args[0]) || message.member.voice.channel; 13 | if (!channel) return message.channel.send("Bir kanal ID girmeli ya da bir sesli kanalda bulunmalısın!").then(x=>x.delete({timeout: 5000})) 14 | channel.members.filter((x) => !x.hasPermission("ADMINISTRATOR")) 15 | .forEach((x, index) => { 16 | client.wait(index * 1000); 17 | x.voice.setMute(true); 18 | }); 19 | message.lineReply(`🎤 \`${channel.name}\` kanalındaki tüm üyeler susturuldu!`).then(x=>x.delete({timeout:50000})) 20 | }, 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/allunmute.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | module.exports = { 4 | conf: { 5 | aliases: ["allunmute"], 6 | name: "allunmute", 7 | help: "allunmute" 8 | }, 9 | 10 | run: async (client, message, args, embed) => { 11 | if (!message.member.hasPermission("MOVE_MEMBERS")) return; 12 | let channel = message.guild.channels.cache.get(args[0]) || message.member.voice.channel; 13 | if (!channel) return message.channel.send("Bir kanal ID girmeli ya da bir sesli kanalda bulunmalısın!").then(x=>x.delete({timeout:5000})) 14 | channel.members.forEach((x, index) => { 15 | client.wait(index * 1000); 16 | x.voice.setMute(false); 17 | }); 18 | message.lineReply(`🎤 \`${channel.name}\` kanalındaki tüm üyelerin susturulması kaldırıldı!`).then(x=>x.delete({timeout:50000})) 19 | }, 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/banliste.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const moment = require("moment"); 3 | const ceza = require("../../schemas/ceza"); 4 | const cezapuan = require("../../schemas/cezapuan") 5 | const banLimit = new Map(); 6 | moment.locale("tr"); 7 | 8 | const serverSettings =require('../../models/sunucuayar') 9 | const { red, green } = require("../../configs/emojis.json") 10 | 11 | module.exports = { 12 | conf: { 13 | aliases: ["banlist","yargılist","banliste"], 14 | name: "banliste", 15 | help: "banliste" 16 | }, 17 | 18 | run: async (client, message, args, embed) => { 19 | 20 | if (!message.guild) return; 21 | let conf = await serverSettings.findOne({ 22 | guildID: message.guild.id 23 | }); 24 | 25 | if (!message.member.hasPermission("BAN_MEMBERS") && !conf.banHammer.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 26 | message.react(red) 27 | return } 28 | const ban = await client.fetchBan(message.guild, args[0]); 29 | if (ban) { message.channel.send( "Bu üye zaten banlı!").then(x=>x.delete({timeout:5000})) 30 | message.react(red) 31 | return } 32 | message.guild.fetchBans(true).then(banned => { 33 | let list = banned.map(user => `ID: | Kullanıcı Adı:\n${user.user.id} | ${user.user.tag}`).join('\n'); 34 | message.channel.send(`${list}\n\nSunucuda toplamda ${banned.size} yasaklı kullanıcı bulunmakta.`, { code: "js", split: true }) 35 | message.react(green) 36 | }) 37 | }, 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/cezapuan.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | const cezapuan = require("../../schemas/cezapuan") 3 | const ceza = require("../../schemas/ceza") 4 | moment.locale("tr"); 5 | const serverSettings =require('../../models/sunucuayar') 6 | const settings = require("../../configs/settings.json") 7 | const { red, green } = require("../../configs/emojis.json"); 8 | const messageUserChannel = require("../../schemas/messageUserChannel"); 9 | module.exports = { 10 | conf: { 11 | aliases: ["cezapuan","cp"], 12 | name: "cezapuan", 13 | help: "cezapuan" 14 | }, 15 | 16 | run: async (client, message, args, embed) => { 17 | 18 | if (!message.guild) return; 19 | let conf = await serverSettings.findOne({ 20 | guildID: message.guild.id 21 | }); 22 | 23 | if (!message.member.hasPermission("BAN_MEMBERS") && !conf.banHammer.some(x => message.member.roles.cache.has(x))) { message.channel.send("Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 24 | message.react(red) 25 | return 26 | } 27 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 28 | if (!member) { message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 29 | message.react(red) 30 | return 31 | } 32 | const cezaData = await ceza.findOne({ guildID: settings.guildID, userID: member.id }); 33 | const cezapuanData = await cezapuan.findOne({ guildID: settings.guildID, userID: member.user.id }); 34 | message.react(green) 35 | message.lineReply(`${member} kişisinin toplamda \`${cezapuanData ? cezapuanData.cezapuan : 0}\` ceza puanı ve (Toplam **${cezaData ? cezaData.ceza.length : 0}** Ceza) olarak gözükmekte!`) 36 | }, 37 | }; -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/cezasorgu.js: -------------------------------------------------------------------------------- 1 | 2 | const moment = require("moment"); 3 | const emojis = require("../../configs/emojis.json") 4 | const penals = require("../../schemas/penals") 5 | moment.locale("tr"); 6 | module.exports = { 7 | conf: { 8 | aliases: ["cezasorgu","sorgu"], 9 | name: "cezasorgu", 10 | help: "cezasorgu" 11 | }, 12 | 13 | run: async (client, message, args, embed) => { 14 | if (!message.member.hasPermission("BAN_MEMBERS") && !conf.jailHammer.some(x => message.member.roles.cache.has(x))) return; 15 | if (isNaN(args[0])) return message.channel.send("Ceza ID'si bir sayı olmalıdır!").then(x=>x.delete({timeout:5000})) 16 | const data = await penals.findOne({ guildID: message.guild.id, id: args[0] }); 17 | if (!data) return message.channel.send(`${args[0]} ID'li bir ceza bulunamadı!`).then(x=>x.delete({timeout:5000})) 18 | message.channel.send(embed.setDescription(`#${data.id} ${data.active ? emojis.red : emojis.green} **[${data.type}]** <@${data.userID}> üyesi, ${moment(data.date).format("LLL")} tarihinde, <@${data.staff}> tarafından, \`${data.reason}\` nedeniyle, ${data.type.toLowerCase().replace("-", " ")} cezası almış.`)); 19 | }, 20 | }; 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/forceban.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const forceBans = require("../../schemas/forceBans"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const settings = require("../../configs/settings.json") 6 | const { red, green, Cezaa, Revuu, kirmiziok } = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["pushaa"], 10 | name: "pushaa", 11 | help: "pushaa" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if (message.guild.owner.id !== message.author.id && !settings.owners.includes(message.author.id)) return message.react(red) 22 | if (!args[0]) { 23 | message.react(red) 24 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 25 | return } 26 | const user = message.mentions.users.first() || await client.fetchUser(args[0]); 27 | if (!user) { 28 | message.react(red) 29 | message.channel.send( "Böyle bir kullanıcı bulunamadı!").then(x=>x.delete({timeout:5000})) 30 | return } 31 | const ban = await forceBans.findOne({ guildID: message.guild.id, userID: user.id }); 32 | if (ban) { 33 | message.react(red) 34 | message.channel.send( "Bu üye zaten banlı!").then(x=>x.delete({timeout:5000})) 35 | return } 36 | const reason = args.slice(1).join(" ") || "Belirtilmedi!"; 37 | const member = message.guild.members.cache.get(user.id); 38 | if (message.guild.members.cache.has(user.id) && message.member.roles.highest.position <= message.guild.members.cache.get(user.id).roles.highest.position) return message.channel.send("Kendinle aynı yetkide ya da daha yetkili olan birini banlayamazsın!").then(x=>x.delete({timeout:5000})) 39 | if (member && !member.bannable) { 40 | message.react(red) 41 | message.channel.send("Bu üyeyi banlayamıyorum!").then(x=>x.delete({timeout:5000})) } 42 | 43 | if (settings.dmMessages) user.send(`**${message.guild.name}** sunucusundan, **${message.author.tag}** tarafından, **${reason}** sebebiyle **kalıcı olarak** banlandınız!`).catch(() => {}); 44 | 45 | message.guild.members.ban(user.id, { reason }).catch(() => {}); 46 | await new forceBans({ guildID: message.guild.id, userID: user.id, staff: message.author.id }).save(); 47 | const penal = await client.penalize(message.guild.id, user.id, "FORCE-BAN", true, message.author.id, reason); 48 | 49 | message.lineReply(`${green} ${member ? member.toString() : user.username} üyesi, ${message.author} tarafından, \`${reason}\` nedeniyle **kalıcı olarak** banlandı! \`(Ceza ID: #${penal.id})\``).then(x=>x.delete({timeout:50000})) 50 | message.react(green) 51 | 52 | const log = embed 53 | .setDescription(` 54 | ${Cezaa} Banlanan Üye: **${member ? member.toString() : user.username}** \`${user.id}\` 55 | ${Revuu} Banlayan Yetkili: ${message.author} \`${message.author.id}\` 56 | ${kirmiziok} Ban Sebebi: \`${reason}\` 57 | `) 58 | .setFooter(`${moment(Date.now()).format("LLL")}`) 59 | message.guild.channels.cache.get(conf.banLogChannel).send(log); 60 | }, 61 | }; -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/sicil.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const penals = require("../../schemas/penals"); 4 | const { green , red } = require("../../configs/emojis.json") 5 | module.exports = { 6 | conf: { 7 | aliases: ["sicil"], 8 | name: "sicil", 9 | help: "sicil" 10 | }, 11 | 12 | run: async (client, message, args, embed) => { 13 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member; 14 | let data = await penals.find({ guildID: message.guild.id, userID: member.user.id, }).sort({ date: -1 }); 15 | if (data.length === 0) return message.channel.send(`${green} ${member.toString()} üyesinin sicili temiz!`).then(x=>x.delete({timeout:5000})) 16 | data = data.map((x) => `#${x.id} ${x.active ? green : red} **[${x.type}]** ${moment(x.date).format("LLL")} tarihinde, <@${x.staff}> tarafından, \`${x.reason}\` nedeniyle, ${x.type.toLowerCase().replace("-", " ")} cezası almış.\n─────────────────`).join("\n"); 17 | for (var i = 0; i < Math.floor(data.length / 2000); i++) { 18 | message.channel.send(embed.setDescription(data.slice(0, 2000))); 19 | data = data.slice(2000); 20 | } 21 | if (data.length > 0) message.channel.send(embed.setDescription(data)); 22 | }, 23 | }; -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/topceza.js: -------------------------------------------------------------------------------- 1 | 2 | const { green , red } = require("../../configs/emojis.json") 3 | const ceza = require("../../schemas/ceza"); 4 | module.exports = { 5 | conf: { 6 | aliases: ["topceza","tc"], 7 | name: "topceza", 8 | help: "topceza" 9 | }, 10 | 11 | run: async (client, message, args, embed) => { 12 | let cezaTop = await ceza.find({ guildID: message.guild.id }).sort({ top: -1 }); 13 | if (!cezaTop.length) 14 | { 15 | message.react(red) 16 | message.channel.send("Herhangi bir ceza verisi bulunamadı!").then(x=>x.delete({timeout:5000})) 17 | return } 18 | cezaTop = cezaTop.filter((x) => message.guild.members.cache.has(x.userID)).splice(0, 10); 19 | message.react(green) 20 | message.channel.send(embed.setDescription(cezaTop.map((x, i) => `\`${i + 1}.\` <@${x.userID}> Toplam **${x.top}**`))); 21 | 22 | }, 23 | }; 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/topluban.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js") 2 | const moment = require("moment"); 3 | require("moment-duration-format") 4 | moment.locale("tr") 5 | const { red , green } = require("../../configs/emojis.json") 6 | 7 | module.exports = { 8 | conf: { 9 | aliases: [], 10 | name: "topluban", 11 | owner: true, 12 | }, 13 | 14 | run: async (client, message, args) => { 15 | 16 | if (args.length < 1) 17 | return message.lineReply( 18 | "Banlanacak kişilerin ID'lerini belirt.", 19 | ) 20 | const members = args 21 | .filter((id) => message.guild.members.cache.has(id)) 22 | .map((id) => message.guild.member(id)); 23 | if (members.length < 1) 24 | return message.lineReply( 25 | "Banlanacak kişilerin sunucuda olması gerekir.", 26 | ); 27 | 28 | const ozicik = await message.lineReply( 29 | `${members 30 | .map((member, idx) => `**${idx + 1}. ${member.toString()}**`) 31 | .join("\n")}\nBu üyeleri banlamak istiyor musun?`, 32 | ); 33 | await ozicik.react(green); 34 | const collector = ozicik.createReactionCollector( 35 | (reaction, user) => 36 | reaction.emoji.name === 'green' && user.id === message.author.id, 37 | { time: 1000 * 10 }, 38 | ); 39 | 40 | collector.on("collect", async () => { 41 | await ozicik.edit(`${green} ${members.length} adet kullanıcı başarıyla yasaklandı.`); 42 | for (const member of members) { 43 | if (member.bannable) 44 | await member.ban({ days: 7, reason: "Toplu ban" }); 45 | } 46 | collector.stop(); 47 | }); 48 | 49 | collector.on("end", (_, reason) => { 50 | console.log("end", reason); 51 | if (reason === "time") 52 | ozicik.edit("10 saniye geçtiği için işlem iptal edildi."); 53 | }); 54 | 55 | } 56 | } -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/unban.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const penals = require("../../schemas/penals"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const settings = require("../../configs/settings.json") 6 | const { red, green, Cezaa, Revuu, kirmiziok } = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["unban"], 10 | name: "unban", 11 | help: "unban" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if (!message.member.hasPermission("BAN_MEMBERS") && !conf.banHammer.some(x => message.member.roles.cache.has(x))) 22 | { 23 | message.react(red) 24 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 25 | return } 26 | if (!args[0]) 27 | { 28 | message.react(red) 29 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 30 | return } 31 | const ban = await client.fetchBan(message.guild, args[0]); 32 | if (!ban) 33 | { 34 | message.react(red) 35 | message.channel.send( "Bu üye banlı değil!").then(x=>x.delete({timeout:5000})) 36 | return } 37 | message.guild.members.unban(args[0], `${message.author.username} tarafından kaldırıldı!`).catch(() => {}); 38 | const data = await penals.findOne({ userID: ban.user.id, guildID: message.guild.id, type: "BAN", active: true }); 39 | if (data) { 40 | data.active = false; 41 | await data.save(); 42 | } 43 | message.react(green) 44 | message.lineReply(`${green} \`(${ban.user.username.replace(/\`/g, "")} - ${ban.user.id})\` adlı üyenin banı ${message.author} tarafından kaldırıldı!`).then(x=>x.delete({timeout:50000})) 45 | if (settings.dmMessages) ban.user.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından banınız kaldırıldı!`).catch(() => {}); 46 | 47 | const log = embed 48 | .setAuthor(ban.user.username, ban.user.avatarURL({ dynamic: true, size: 2048 })) 49 | .setColor("#2f3136") 50 | .setDescription(` 51 | ${Cezaa} Banı Kaldıran Üye: \`(${ban.user.username.replace(/\`/g, "")} - ${ban.user.id})\` 52 | ${Revuu} Banı Kaldıran Yetkili: ${message.author} \`${message.author.id}\` 53 | ${kirmiziok} Banın Kaldırılma Tarihi: \`${moment(Date.now()).format("LLL")}\` 54 | `) 55 | message.guild.channels.cache.get(conf.banLogChannel).wsend(log); 56 | }, 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/unjail.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const penals = require("../../schemas/penals"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const settings = require("../../configs/settings.json") 6 | const { red, green, Revuu} = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["unjail"], 10 | name: "unjail", 11 | help: "unjail" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if (!message.member.hasPermission(8) && !conf.jailHammer.some(x => message.member.roles.cache.has(x))) 22 | { 23 | message.react(red) 24 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 25 | return } 26 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 27 | if (!member) { 28 | message.react(red) 29 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 30 | return } 31 | if (!conf.jailRole.some(x => member.roles.cache.has(x))) 32 | { 33 | message.react(red) 34 | message.channel.send( "Bu üye jailde değil!").then(x=>x.delete({timeout:5000})) 35 | return } 36 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 37 | { 38 | message.react(red) 39 | message.channel.send( "Kendinle aynı yetkide ya da daha yetkili olan birinin jailini kaldıramazsın!").then(x=>x.delete({timeout:5000})) 40 | return } 41 | if (!member.manageable) { 42 | message.react(red) 43 | message.channel.send( "Bu üyeyi jailden çıkaramıyorum!").then(x=>x.delete({timeout:5000})) 44 | return } 45 | 46 | member.roles.set(conf.unregRoles); 47 | const data = await penals.findOne({ userID: member.user.id, guildID: message.guild.id, $or: [{ type: "JAIL" }, { type: "TEMP-JAIL" }], active: true }); 48 | if (data) { 49 | data.active = false; 50 | await data.save(); 51 | } 52 | message.react(green) 53 | message.lineReply(`${green} ${member.toString()} üyesinin jaili ${message.author} tarafından kaldırıldı!`).then(x=>x.delete({timeout:50000})) 54 | if (settings.dmMessages) member.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından, jailiniz kaldırıldı!`).catch(() => {}); 55 | 56 | const log = embed 57 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true, size: 2048 })) 58 | .setColor("#2f3136") 59 | .setDescription(` 60 | ${member.toString()} Adlı Kişinin Jaili Kaldırıldı 61 | 62 | ${Revuu} Jaili Kaldıran Kişi : ${message.author} (\`${message.author.id}\`) 63 | `) 64 | .setFooter(`${moment(Date.now()).format("LLL")}`) 65 | message.guild.channels.cache.get(conf.jailLogChannel).wsend(log); 66 | }, 67 | }; 68 | 69 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/unmute.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const penals = require("../../schemas/penals"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const settings = require("../../configs/settings.json") 6 | const {red, green, Revuu} = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["unmute","uncmute"], 10 | name: "unmute", 11 | help: "unmute" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if (!message.member.hasPermission(8) && !conf.cmuteHammer.some(x => message.member.roles.cache.has(x))) 22 | { 23 | message.react(red) 24 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 25 | return } 26 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 27 | if (!member) 28 | { 29 | message.react(red) 30 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 31 | return } 32 | if (!conf.chatMute.some(x => member.roles.cache.has(x))) 33 | { 34 | message.react(red) 35 | message.channel.send( "Bu üye muteli değil!").then(x=>x.delete({timeout:5000})) 36 | return } 37 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 38 | { 39 | message.react(red) 40 | message.channel.send( "Kendinle aynı yetkide ya da daha yetkili olan birinin susturmasını kaldıramazsın!").then(x=>x.delete({timeout:5000})) 41 | return } 42 | if (!member.manageable) 43 | { 44 | message.react(red) 45 | message.channel.send( "Bu üyenin susturmasını kaldıramıyorum!").then(x=>x.delete({timeout:5000})) 46 | return } 47 | 48 | message.react(green) 49 | member.roles.remove(conf.chatMute); 50 | const data = await penals.findOne({ userID: member.user.id, guildID: message.guild.id, type: "CHAT-MUTE", active: true }); 51 | if (data) { 52 | data.active = false; 53 | await data.save(); 54 | } 55 | message.lineReply(`${green} ${member.toString()} üyesinin susturması, ${message.author} tarafından kaldırıldı!`).then(x=>x.delete({timeout:50000})) 56 | if (settings.dmMessages) member.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından susturmanız kaldırıldı!`).catch(() => {}); 57 | 58 | const log = embed 59 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true, size: 2048 })) 60 | .setColor("#2f3136") 61 | .setDescription(` 62 | ${member.toString()} Adlı Kişinin Chat Mutesi Kaldırıldı 63 | 64 | ${Revuu} Mute Kaldıran Kişi : ${message.author} (\`${message.author.id}\`) 65 | `) 66 | .setFooter(`${moment(Date.now()).format("LLL")}`) 67 | message.guild.channels.cache.get(conf.cmuteLogChannel).wsend(log); 68 | }, 69 | }; 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/unreklam.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const penals = require("../../schemas/penals"); 4 | const serverSettings =require('../../models/sunucuayar') 5 | const settings = require("../../configs/settings.json") 6 | const { red, green, Revuu} = require("../../configs/emojis.json") 7 | module.exports = { 8 | conf: { 9 | aliases: ["unreklam"], 10 | name: "unreklam", 11 | help: "unreklam" 12 | }, 13 | 14 | run: async (client, message, args, embed) => { 15 | 16 | if (!message.guild) return; 17 | let conf = await serverSettings.findOne({ 18 | guildID: message.guild.id 19 | }); 20 | 21 | if (!message.member.hasPermission(8) && !conf.jailHammer.some(x => message.member.roles.cache.has(x))) 22 | { 23 | message.react(red) 24 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) 25 | return } 26 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 27 | if (!member) { 28 | message.react(red) 29 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) 30 | return } 31 | if (!conf.reklamRole.some(x => member.roles.cache.has(x))) 32 | { 33 | message.react(red) 34 | message.channel.send( "Bu üye Reklamda değil!").then(x=>x.delete({timeout:5000})) 35 | return } 36 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 37 | { 38 | message.react(red) 39 | message.channel.send( "Kendinle aynı yetkide ya da daha yetkili olan birinin reklami kaldıramazsın!").then(x=>x.delete({timeout:5000})) 40 | return } 41 | if (!member.manageable) { 42 | message.react(red) 43 | message.channel.send( "Bu üyeyi Reklamdan çıkaramıyorum!").then(x=>x.delete({timeout:5000})) 44 | return } 45 | 46 | member.roles.set(conf.unregRoles); 47 | const data = await penals.findOne({ userID: member.user.id, guildID: message.guild.id, $or: [{ type: "REKLAM" }, { type: "TEMP-REKLAM" }], active: true }); 48 | if (data) { 49 | data.active = false; 50 | await data.save(); 51 | } 52 | message.react(green) 53 | message.lineReply(`${green} ${member.toString()} üyesinin Reklami ${message.author} tarafından kaldırıldı!`).then(x=>x.delete({timeout:50000})) 54 | if (settings.dmMessages) member.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından, reklaminiz kaldırıldı!`).catch(() => {}); 55 | 56 | const log = embed 57 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true, size: 2048 })) 58 | .setColor("#2f3136") 59 | .setDescription(` 60 | ${member.toString()} Adlı Kişinin Reklami Kaldırıldı 61 | 62 | ${Revuu} Reklami Kaldıran Kişi : ${message.author} (\`${message.author.id}\`) 63 | `) 64 | .setFooter(`${moment(Date.now()).format("LLL")}`) 65 | message.guild.channels.cache.get(conf.reklamLogChannel).wsend(log); 66 | }, 67 | }; 68 | 69 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/unvmute.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const moment = require("moment"); 3 | const ceza = require("../../schemas/ceza"); 4 | const banLimit = new Map(); 5 | moment.locale("tr"); 6 | const penals = require("../../schemas/penals"); 7 | const serverSettings =require('../../models/sunucuayar') 8 | const { red, green , Revuu} = require("../../configs/emojis.json") 9 | module.exports = { 10 | conf: { 11 | aliases: ["unvmute"], 12 | name: "unvmute", 13 | help: "unvmute" 14 | }, 15 | 16 | run: async (client, message, args, embed) => { 17 | 18 | if (!message.guild) return; 19 | let conf = await serverSettings.findOne({ 20 | guildID: message.guild.id 21 | }); 22 | 23 | if (!message.member.hasPermission(8) && !conf.vmuteHammer.some(x => message.member.roles.cache.has(x))) 24 | { 25 | message.react(red) 26 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) } 27 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 28 | if (!member) 29 | { 30 | message.react(red) 31 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) } 32 | if (!conf.voiceMute.some(x => member.roles.cache.has(x)) && (member.voice.channelID && !member.voice.serverMute)) 33 | { 34 | message.react(red) 35 | message.channel.send( "Bu üye muteli değil!").then(x=>x.delete({timeout:5000})) } 36 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 37 | { 38 | message.react(red) 39 | message.channel.send( "Kendinle aynı yetkide ya da daha yetkili olan birinin susturmasını kaldıramazsın!").then(x=>x.delete({timeout:5000}))} 40 | if (!member.manageable) 41 | { 42 | message.react(red) 43 | message.channel.send( "Bu üyenin susturmasını kaldıramıyorum!").then(x=>x.delete({timeout:5000})) } 44 | 45 | message.react(green) 46 | member.roles.remove(conf.voiceMute); 47 | if (member.voice.channelID && member.voice.serverMute) member.voice.setMute(false); 48 | const data = await penals.findOne({ userID: member.user.id, guildID: message.guild.id, type: "VOICE-MUTE", active: true }); 49 | if (data) { 50 | data.active = false; 51 | data.removed = true; 52 | await data.save(); 53 | } 54 | message.lineReply(`${green} ${member.toString()} üyesinin **sesli kanallarda** susturması, ${message.author} tarafından kaldırıldı!`).then(x=>x.delete({timeout:50000})) 55 | if (settings.dmMessages) member.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından **sesli kanallarda** olan susturmanız kaldırıldı!`).catch(() => {}); 56 | 57 | const log = embed 58 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true, size: 2048 })) 59 | .setColor("#2f3136") 60 | .setDescription(` 61 | ${member.toString()} Adlı Kişinin Ses Mutesi Kaldırıldı 62 | 63 | ${Revuu} Mute Kaldıran Kişi : ${message.author} (\`${message.author.id}\`) 64 | `) 65 | .setFooter(`${moment(Date.now()).format("LLL")}`) 66 | message.guild.channels.cache.get(conf.vmuteLogChannel).wsend(log); 67 | }, 68 | }; 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/commands/9-Ceza-Sistemi/uyarı.js: -------------------------------------------------------------------------------- 1 | const coin = require("../../schemas/coin"); 2 | const moment = require("moment"); 3 | const ceza = require("../../schemas/ceza"); 4 | moment.locale("tr"); 5 | const serverSettings =require('../../models/sunucuayar') 6 | const settings = require("../../configs/settings.json") 7 | const penals = require("../../schemas/penals") 8 | const uyarisayi = require("../../schemas/uyarisayi") 9 | const cezapuan = require("../../schemas/cezapuan") 10 | const { red, green, kirmiziok } = require("../../configs/emojis.json") 11 | module.exports = { 12 | conf: { 13 | aliases: ["uyarı","warn"], 14 | name: "uyarı", 15 | help: "uyarı" 16 | }, 17 | 18 | run: async (client, message, args, embed) => { 19 | 20 | if (!message.guild) return; 21 | let conf = await serverSettings.findOne({ 22 | guildID: message.guild.id 23 | }); 24 | 25 | if (!message.member.hasPermission(8) && !conf.warnHammer.some(x => message.member.roles.cache.has(x))) 26 | { 27 | message.react(red) 28 | message.channel.send( "Yeterli yetkin bulunmuyor!").then(x=>x.delete({timeout:5000})) } 29 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]); 30 | if (!member) 31 | { 32 | message.react(red) 33 | message.channel.send( "Bir üye belirtmelisin!").then(x=>x.delete({timeout:5000})) } 34 | const reason = args.slice(2).join(" ") || "Belirtilmedi!"; 35 | if (!message.member.hasPermission(8) && member.roles.highest.position >= message.member.roles.highest.position) 36 | { 37 | message.react(red) 38 | message.channel.send( "Kendinle aynı yetkide ya da daha yetkili olan birini uyaramazsın!").then(x=>x.delete({timeout:5000})) } 39 | if (!member.manageable) 40 | { 41 | message.react(red) 42 | message.channel.send( "Bu üyeyi susturamıyorum!").then(x=>x.delete({timeout:5000})) } 43 | await coin.findOneAndUpdate({ guildID: member.guild.id, userID: member.user.id }, { $inc: { coin: -10 } }, { upsert: true }); 44 | await ceza.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $push: { ceza: 1 } }, { upsert: true }); 45 | await ceza.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $inc: { top: 1 } }, { upsert: true }); 46 | await cezapuan.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $inc: { cezapuan: 10 } }, { upsert: true }); 47 | const cezapuanData = await cezapuan.findOne({ guildID: message.guild.id, userID: member.user.id }); 48 | if(conf.cezapuanlog) message.guild.channels.cache.get(conf.cezapuanlog).send(`${member} üyesi \`uyarı cezası\` alarak toplam \`${cezapuanData ? cezapuanData.cezapuan : 0} ceza puanına\` ulaştı!`); 49 | const uyariData = await uyarisayi.findOne({ guildID: message.guild.id, userID: member.user.id }); 50 | const penal = await client.penalize(message.guild.id, member.user.id, "WARN", false, message.author.id, reason); 51 | await uyarisayi.findOneAndUpdate({ guildID: message.guild.id, userID: member.user.id }, { $inc: { sayi: 1 } }, { upsert: true }); 52 | const data = await penals.find({ guildID: message.guild.id, userID: member.user.id, type: "WARN" }); 53 | message.react(green) 54 | message.lineReply(`${green} ${member.toString()} üyesi, ${message.author} tarafından, \`${reason}\` nedeniyle uyarıldı! \`(Ceza ID: #${penal.id})\``).then(x=>x.delete({timeout:50000})) 55 | if (settings.dmMessages) member.send(`**${message.guild.name}** sunucusunda, **${message.author.tag}** tarafından, **${reason}** sebebiyle uyarıldınız!`).catch(() => {}); 56 | 57 | const log = embed 58 | .setAuthor(member.user.username, member.user.avatarURL({ dynamic: true, size: 2048 })) 59 | .setColor("#2f3136") 60 | .setDescription(` 61 | ${member.toString()} üyesi uyarıldı! 62 | 63 | ${kirmiziok} Ceza ID: \`#${penal.id}\` 64 | ${kirmiziok} Uyarılan Üye: ${member.toString()} \`(${member.user.username.replace(/\`/g, "")} - ${member.user.id})\` 65 | ${kirmiziok} Uyaran Yetkili: ${message.author} \`(${message.author.username.replace(/\`/g, "")} - ${message.author.id})\` 66 | ${kirmiziok} Uyarı Tarihi: \`${moment(Date.now()).format("LLL")}\` 67 | ${kirmiziok} Uyarı Sebebi: \`${reason}\` 68 | ${kirmiziok} Uyarı Sayısı: \`${uyariData ? Math.floor(parseInt(uyariData.sayi)) : 1} Uyarı\` 69 | `); 70 | message.guild.channels.cache.get(conf.warnLogChannel).send(log); 71 | }, 72 | }; 73 | 74 | -------------------------------------------------------------------------------- /src/configs/LeaderBoard.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "ChatMsgListID": "956295665863000155", 4 | "VoiceMsgListID": "956295683382595674", 5 | "ChatLeaderBoard": "945783570851582042", 6 | "VoiceLeaderBoard": "945783570851582042", 7 | "badges": { 8 | "vbronze": "947634436579680297", 9 | "vsilver": "947634432381190144", 10 | "vgold": "947635303773003796", 11 | "vdia": "947635299931025448", 12 | "vemerl": "947635303848489010", 13 | 14 | "cbronze": "947635298957934713", 15 | "csilver": "947635303823319090", 16 | "cgold": "947634431718457464", 17 | "cdia": "947634436277694477", 18 | "cemerl": "947635326728405043", 19 | 20 | "prizeLog": "969760667693359165" 21 | }, 22 | "targetAmount": { 23 | "vbronze": "30h", 24 | "vsilver": "50h", 25 | "vgold": "70h", 26 | "vdia": "90h", 27 | "vemerl": "120h", 28 | 29 | "cbronze": "10", 30 | "csilver": "3500", 31 | "cgold": "4500", 32 | "cdia": "5500", 33 | "cemerl": "6500" 34 | }, 35 | 36 | 37 | "GuildID": "923331950779990087", 38 | "BirAy": "923331950826094748", 39 | "UcAy": "923331950826094749", 40 | "AltiAy": "923331950826094750", 41 | "DokuzAy": "923331950826094751", 42 | "BirYil": "923331950826094752", 43 | 44 | "staffRoles": ["945760985694761039","945760985673764968"], 45 | 46 | "katagoriParents": ["945760988257460230","945760988836282377","945760989301841976","945760987833847883","945760986411991143","923331952549978166"] 47 | 48 | } -------------------------------------------------------------------------------- /src/configs/emojis.json: -------------------------------------------------------------------------------- 1 | {"star":"","revusome":"<:revusome:945814500504903721>","miniicon":"<:miniicon:945814440580902912>","red":"","green":"","staff":"","Muhabbet":"","galp":"<:galp:945814448554258463>","kirmiziok":"","Revuu":"","Mute":"<:Mute:945814450244575232>","Cezaa":"<:cezaa:924625726337069096>","Jail":"<:Jail:945814469244776488>","Book":"<:Book:945814477432053811>","Kilit":"<:Kilit:945814503784853534>","Mute2":"<:Mute2:945814453423841290>","Unmute":"<:Unmute:945814463158833183>","gulucuk":"<:gulucuk:945814455936237588>","rewards":"","altin":"","ozinitro":"<:ozinitro:945814458985496666>","oziexxen":"<:oziexxen:945814472042381332>","oziblutv":"<:oziblutv:945814464941412352>","ozispotify":"<:ozispotify:945814467596410921>","ozinetflix":"<:ozinetflix:945814470599540746>","channel":"<:channel:945814461971857458>","partner":"<:partner:945814473409699860>","online":"<:online:945814489956229150>","duyuru":"<:duyuru:945814484159692810>","altin2":"","xp":"","voice":"<:voice:945814485665476649>","mesaj2":"","fillStart":"","fill":"","empty":"<:empty:945814498915287080>","fillEnd":"","emptyEnd":"<:emptyEnd:945814496239292476>","hosgeldin":"","slotgif":"","slotpatlican":"<:slotpatlican:945814492082737272>","slotkiraz":"<:slotkiraz:945814493655605349>","slotkalp":"<:slotkalp:945814482477793290>","ceza":"<:ceza:945814451502846023>"} -------------------------------------------------------------------------------- /src/configs/emojis2.json: -------------------------------------------------------------------------------- 1 | {"bir":"","iki":"","üç":"","dort":"","beş":"","altı":"","yedi":"","sekiz":"","dokuz":"","sıfır":""} -------------------------------------------------------------------------------- /src/configs/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "token": "OTQ1OTc1MDIzMzU5OTA1ODAy.GClYQA.-1lCenV7erffhiZhV5scgorXemDcPxGSHsiKzI", 3 | "prefix": ["."], 4 | "guildID": "945760985560522772", 5 | "mongoUrl": "mongodb+srv://main123:bjk1903arda@main123.o5ftm.mongodb.net/myFirstDatabase?retryWrites=true&w=majority", 6 | "owners": ["939107266580332554"], 7 | 8 | "botSes": "945760986089009276", 9 | "botDurum": "M A R İ N O 🖤 Pusha", 10 | "registerPerm": "945760985694761039", 11 | 12 | 13 | "Yetkili":true, 14 | "dmMessages": true, 15 | "messageDolar": 1, 16 | "voiceDolar": 1, 17 | 18 | "messageCount": 1, 19 | "messageCoin": 1, 20 | "voiceCount": 1, 21 | "voiceCoin": 0.25, 22 | "publicCoin": 2, 23 | "inviteCount": 1, 24 | "inviteCoin": 2, 25 | "taggedCoin": 8, 26 | "toplamsCoin": 1.25, 27 | "yetkiCoin": 8, 28 | 29 | "ageLimit": 13, 30 | "onsekiz": 18, 31 | 32 | "ReklamLimit": 15, 33 | "banlimit": 10, 34 | "jaillimit": 15, 35 | "warnlimit": 20, 36 | "chatmutelimit": 20, 37 | "voicemutelimit": 20 38 | } 39 | -------------------------------------------------------------------------------- /src/configs/sunucuayar.json: -------------------------------------------------------------------------------- 1 | { 2 | "tag": "✰", 3 | 4 | 5 | "ekipRolu": ["945760985673764968"], 6 | "unregRoles": ["945760985648607321"], 7 | "boosterRolu": "945761792846626866", 8 | "staffs": ["945760985707339841"], 9 | 10 | "rankLog": "969760771301060728", 11 | 12 | 13 | "chatChannel": "945760987833847878", 14 | 15 | "nsfwlog" : "nsfw-log", 16 | "komutLog" : "komutLog", 17 | "rollogchannel": "rollogchannel", 18 | "voiceLogChannel": "voicelogchannel", 19 | "messageLogChannel": "messageLogChannel", 20 | 21 | "publicParents": ["945760988257460230"], 22 | "privateParents": ["945760988836282377"], 23 | "aloneParents": [ "945760989301841976"], 24 | "funParents": ["945760987833847883"], 25 | "registerParents": ["945760986411991143"], 26 | "solvingParents": ["923331952549978166"] 27 | 28 | 29 | } -------------------------------------------------------------------------------- /src/events/ChatLeaderBoard.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | const cfg = require("../configs/settings.json") 3 | const ayar = require("../configs/LeaderBoard.json") 4 | const messageUser = require("../schemas/messageUser"); 5 | const moment = require("moment"); 6 | const { MessageEmbed } = require("discord.js"); 7 | moment.locale("tr") 8 | 9 | module.exports = async () => { 10 | const messageUsersData = await messageUser.find({ guildID: cfg.guildID }).sort({ topStat: -1 }); 11 | const messageUsers = messageUsersData.splice(0, 30).map((x, index) => `\`${index+1}.\` <@${x.userID}>: \`${Number(x.topStat).toLocaleString()} mesaj\``).join(`\n`); 12 | 13 | let LeaderBoard = await client.guilds.cache.get(cfg.guildID).channels.cache.get(ayar.ChatLeaderBoard).messages.fetch(ayar.ChatMsgListID); 14 | setInterval(() => { 15 | ChatLeaderBoard() 16 | }, 600000); 17 | function ChatLeaderBoard() { 18 | 19 | const msgList = (`${messageUsers.length > 0 ? messageUsers : "Veri Bulunmuyor."}`) 20 | let Chat = new MessageEmbed() 21 | Chat.setColor("BLACK") 22 | 23 | Chat.setAuthor(`Mesaj Sıralaması | Tüm Zamanlar`, client.guilds.cache.get(cfg.guildID).iconURL({dynamic:true})) 24 | Chat.setFooter(`Güncellenme: ${moment(Date.parse(new Date().toLocaleString("tr-TR", { timeZone: "Asia/Istanbul" }))).format("LLL")}`) 25 | Chat.setDescription(`${msgList}`) 26 | LeaderBoard.edit(Chat) 27 | 28 | } 29 | } 30 | module.exports.conf = { 31 | name: "ready", 32 | }; -------------------------------------------------------------------------------- /src/events/VoiceLeaderBoard.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | const cfg = require("../configs/settings.json") 3 | const ayar = require("../configs/LeaderBoard.json") 4 | const voiceUser = require("../schemas/voiceUser"); 5 | const moment = require("moment"); 6 | const { MessageEmbed } = require("discord.js"); 7 | moment.locale("tr") 8 | 9 | module.exports = async () => { 10 | const voiceUsersData = await voiceUser.find({ guildID: cfg.guildID }).sort({ topStat: -1 }); 11 | const voiceUsers = voiceUsersData.splice(0, 30).map((x, index) => `\`${index+1}.\` <@${x.userID}>: ${moment.duration(x.topStat).format("D [gün], H [saat]")}`).join(`\n`); 12 | 13 | let LeaderBoard = await client.guilds.cache.get(cfg.guildID).channels.cache.get(ayar.VoiceLeaderBoard).messages.fetch(ayar.VoiceMsgListID); 14 | setInterval(() => { 15 | checkingLeader() 16 | }, 600000); 17 | function checkingLeader() { 18 | const voiceList = (`${voiceUsers.length > 0 ? voiceUsers : "Veri Bulunmuyor."}`) 19 | 20 | let MessageEdit = new MessageEmbed() 21 | MessageEdit.setColor("BLACK") 22 | MessageEdit.setAuthor(`Ses Sıralaması | Tüm Zamanlar`, client.guilds.cache.get(cfg.guildID).iconURL({dynamic:true})) 23 | MessageEdit.setFooter(`Güncellenme: ${moment(Date.parse(new Date().toLocaleString("tr-TR", { timeZone: "Asia/Istanbul" }))).format("LLL")}`) 24 | MessageEdit.setDescription(`${voiceList}` ) 25 | LeaderBoard.edit(MessageEdit) 26 | 27 | } 28 | } 29 | module.exports.conf = { 30 | name: "ready", 31 | }; -------------------------------------------------------------------------------- /src/events/afk.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const afk = require("../schemas/afk"); 3 | const moment = require("moment"); 4 | require("moment-duration-format"); 5 | moment.locale("tr"); 6 | module.exports = async (message) => { 7 | if (message.author.bot || !message.guild) return; 8 | const data = await afk.findOne({ guildID: message.guild.id, userID: message.author.id }); 9 | const embed = new MessageEmbed().setColor(message.member.diplayHexColor).setAuthor(message.member.displayName, message.author.avatarURL({ dynamic: true })); 10 | if (data) { 11 | const afkData = await afk.findOne({ guildID: message.guild.id, userID: message.author.id }); 12 | await afk.deleteOne({ guildID: message.guild.id, userID: message.author.id }); 13 | if (message.member.displayName.includes("[AFK]") && message.member.manageable) await message.member.setNickname(message.member.displayName.replace("[AFK]", "")); 14 | message.lineReply(`Afk modundan çıktınız. **${moment.duration(Date.now() - afkData.date).format("d [gün] H [saat], m [dakika] s [saniye]")}** süredir AFK'ydınız.`).then((x) => x.delete({ timeout: 5000 })); 15 | } 16 | 17 | const member = message.mentions.members.first(); 18 | if (!member) return; 19 | const afkData = await afk.findOne({ guildID: message.guild.id, userID: member.user.id }); 20 | if (!afkData) return; 21 | embed.setDescription(`${member.toString()} kullanıcısı, \`${afkData.reason}\` sebebiyle, **${moment.duration(Date.now() - afkData.date).format("d [gün] H [saat], m [dakika] s [saniye]")}** önce afk oldu!`); 22 | message.channel.send(embed).then((x) => x.delete({ timeout: 10000 })); 23 | }; 24 | 25 | module.exports.conf = { 26 | name: "message", 27 | }; 28 | -------------------------------------------------------------------------------- /src/events/autoReply.js: -------------------------------------------------------------------------------- 1 | const conf = require("../configs/sunucuayar.json") 2 | const { green } = require("../configs/emojis.json"); 3 | 4 | module.exports = async (message) => { 5 | if (message.content.toLowerCase() === "tag" || message.content.toLowerCase() === "!tag" || message.content.toLowerCase() === ".tag") { 6 | message.react(green); 7 | message.lineReply(conf.tag); 8 | } 9 | }; 10 | module.exports.conf = { 11 | name: "message" 12 | }; -------------------------------------------------------------------------------- /src/events/button3.js: -------------------------------------------------------------------------------- 1 | const serverSettings =require('../models/sunucuayar') 2 | const ayar = require("../configs/settings.json") 3 | 4 | const moment = require("moment"); 5 | moment.locale("tr"); 6 | 7 | module.exports = async (button) => { 8 | 9 | let conf = await serverSettings.findOne({ 10 | guildID: ayar.guildID 11 | }); 12 | 13 | const member = await client.guilds.cache.get(ayar.guildID).members.fetch(button.clicker.member.id) 14 | if (!member) return; 15 | 16 | if(button.id === "süpheli") { 17 | if (!member.roles.cache.has(conf.fakeAccRole)) { 18 | await button.reply.think(true) 19 | await button.reply.edit(`Şüpheli Hesap değilsiniz.`); 20 | return } 21 | 22 | let guvenilirlik = Date.now() - member.user.createdTimestamp < 1000 * 60 * 60 * 24 * 7; 23 | if (guvenilirlik) { 24 | await button.reply.think(true) 25 | await button.reply.edit(`Hesabınız şüpheli kategorisinden çıkmaya uygun değildir.`); 26 | } else { 27 | await button.reply.think(true) 28 | await button.reply.edit(`7 gün süreniz dolduğu için karantinadan çıkarıldınız.`); 29 | await member.roles.set(conf.unregRoles) 30 | }} 31 | 32 | } 33 | module.exports.conf = { 34 | name: "clickButton" 35 | }; -------------------------------------------------------------------------------- /src/events/cezabutton.js: -------------------------------------------------------------------------------- 1 | const conf = require("../configs/settings.json") 2 | const cezapuan = require("../schemas/cezapuan") 3 | const ceza = require("../schemas/ceza") 4 | const moment = require("moment"); 5 | moment.locale("tr"); 6 | const penals = require("../schemas/penals"); 7 | const data = require("../schemas/penals"); 8 | const { green , red } = require("../configs/emojis.json") 9 | 10 | module.exports = async (button) => { 11 | 12 | const member = button.clicker.member; 13 | 14 | const cezaData = await ceza.findOne({ guildID: conf.guildID, userID: member.id }); 15 | const cezapuanData = await cezapuan.findOne({ guildID: conf.guildID, userID: member.user.id }); 16 | 17 | //////////////// 18 | 19 | /////////////// 20 | 21 | if(button.id === "cezapuan") 22 | { 23 | await button.reply.think(true) 24 | await button.reply.edit(`${button.clicker.member} Ceza Puanınız : 25 | 26 | Toplamda \`${cezapuanData ? cezapuanData.cezapuan : 0} ceza puanı\` ve (Toplam **${cezaData ? cezaData.ceza.length : 0}** Ceza) olarak gözükmekte.`) 27 | } 28 | /////// 29 | 30 | let data = await penals.find({ guildID: conf.guildID, userID: button.clicker.member.id, active: true}).sort({ date: -1 }); 31 | data = data.map((x) => `\`#${x.id}:\` ${x.active ? "\`Aktif\`" : "\`Pasif\`"} **[${x.type}]** <@${x.staff}>: **${x.reason}** - ${moment(x.date).format("LLL")}`); 32 | if(button.id === "cezalarım") 33 | 34 | { 35 | await button.reply.think(true) 36 | if (data.length === 0) return button.reply.edit(`${member.toString()} üyesinin aktif cezası bulunmamaktadır.`) 37 | if (data.length > 0) return button.reply.edit(data); 38 | } 39 | 40 | let datas = await penals.find({ guildID: conf.guildID, userID: button.clicker.member.id, active: true}).sort({ date: -1 }); 41 | datas = datas.map((x) => `${red} <@${x.staff}> tarafından **${moment(x.date).format("LLL")}**'da işlenen __"#${x.id}"__ numaralı __"${x.type}"__ türündeki cezalandırman **${moment(x.finishDate).format("LLL")}** tarihinde biticektir.`); 42 | 43 | if(button.id === "kalanzaman") 44 | { 45 | await button.reply.think(true) 46 | if (data.length === 0) return button.reply.edit(`${member.toString()} üyesinin aktif ceza bilgisi bulunmamakta.`) 47 | await button.reply.edit(datas) 48 | } 49 | 50 | } 51 | module.exports.conf = { 52 | name: "clickButton" 53 | }; 54 | -------------------------------------------------------------------------------- /src/events/commandHandler.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const client = global.client; 3 | let sended = false; 4 | const settings = require("../configs/settings.json") 5 | const conf = require("../configs/sunucuayar.json") 6 | setInterval(() => { 7 | client.cooldown.forEach((x, index) => { 8 | if (Date.now() - x.lastUsage > x.cooldown) client.cooldown.delete(index); 9 | }); 10 | }, 8000); 11 | 12 | module.exports = async (message) => { 13 | let prefix = settings.prefix.find((x) => message.content.toLowerCase().startsWith(x)); 14 | if (message.author.bot || !message.guild || !prefix || conf.unregRoles.some(x => message.member.roles.cache.has(x))) return; 15 | let args = message.content.substring(prefix.length).trim().split(" "); 16 | let commandName = args[0].toLowerCase(); 17 | 18 | const embed = new MessageEmbed().setFooter(settings.botDurum).setColor(message.member.displayHexColor).setAuthor(message.member.displayName, message.author.avatarURL({ dynamic: true, size: 2048 })); 19 | 20 | args = args.splice(1); 21 | let cmd = client.commands.has(commandName) ? client.commands.get(commandName) : client.commands.get(client.aliases.get(commandName)); 22 | let komutLog = client.channels.cache.find(x => x.name == "komutlog"); 23 | 24 | if (cmd) { 25 | if (cmd.conf.owner && !settings.owners.includes(message.author.id)) return; 26 | const cooldown = cmd.conf.cooldown || 3000; 27 | const cd = client.cooldown.get(message.author.id); 28 | if (cd) { 29 | const diff = Date.now() - cd.lastUsage; 30 | if (diff < cooldown) 31 | if (!sended) { 32 | sended = true; 33 | return message.channel.send(`${message.author}, Bu komutu tekrar kullanabilmek için **${Number(((cooldown - diff) / 1000).toFixed(2))}** daha beklemelisin!`).then((x) => x.delete({ timeout: (cooldown - diff) })); 34 | } 35 | } else client.cooldown.set(message.author.id, { cooldown, lastUsage: Date.now() }); 36 | cmd.run(client, message, args, embed, prefix); 37 | if(komutLog) komutLog.wsend(new MessageEmbed().setColor("#2f3136").setTimestamp().setFooter(settings.botDurum).setDescription(`${message.author} (\`${message.author.id}\`) tarafından ${message.channel} (\`${message.channel.id}\`) kanalında \`${prefix}${commandName}\` komutunu kullandı!\n\nKomut içeriği: \`${message.content}\`!`)) 38 | } 39 | }; 40 | 41 | module.exports.conf = { 42 | name: "message", 43 | }; 44 | -------------------------------------------------------------------------------- /src/events/deleteStats.js: -------------------------------------------------------------------------------- 1 | const { CronJob } = require("cron"); 2 | const client = global.client; 3 | const messageUser = require("../schemas/messageUser"); 4 | const voiceUser = require("../schemas/voiceUser"); 5 | const messageGuild = require("../schemas/messageGuild"); 6 | const voiceGuild = require("../schemas/voiceGuild"); 7 | 8 | const gorev = require("../schemas/invite"); 9 | const kayitg = require("../schemas/kayitgorev"); 10 | const mesaj = require("../schemas/mesajgorev"); 11 | const tagli = require("../schemas/taggorev"); 12 | const conf = require("../configs/settings.json") 13 | const ayar = require("../configs/sunucuayar.json") 14 | 15 | module.exports = () => { 16 | 17 | const gorevs = new CronJob("0 0 * * 0", () => { 18 | client.guilds.cache.forEach(async (guild) => { 19 | guild.members.cache.forEach(async (member) => { 20 | await gorev.findOneAndUpdate({ guildID: conf.staffs, userID: member.user.id }, { $set: { invite: 0 } }, { upsert: true }); 21 | await kayitg.findOneAndUpdate({ guildID: conf.staffs, userID: member.user.id }, { $set: { kayit: 0 } }, { upsert: true }); 22 | await mesaj.findOneAndUpdate({ guildID: conf.staffs, userID: member.user.id }, { $set: { mesaj: 0 } }, { upsert: true }); 23 | await tagli.findOneAndUpdate({ guildID: conf.staffs, userID: member.user.id }, { $set: { tagli: 0 } }, { upsert: true }); 24 | }); 25 | console.log(`Sunucudaki Yetkili ${client.guilds.cache.get(conf.staffs).memberCount} üyenlerin günlük görevleri başarıyla yüklendi. [00:00]`) 26 | }); 27 | }, null, true, "Europe/Istanbul"); 28 | gorevs.start(); 29 | 30 | const daily = new CronJob("0 0 * * *", () => { 31 | client.guilds.cache.forEach(async (guild) => { 32 | guild.members.cache.forEach(async (member) => { 33 | await messageGuild.findOneAndUpdate({ guildID: conf.guildID }, { $set: { dailyStat: 0 } }); 34 | await voiceGuild.findOneAndUpdate({ guildID: conf.guildID }, { $set: { dailyStat: 0 } }); 35 | await messageUser.findOneAndUpdate({ guildID: conf.guildID, userID: member.user.id }, { $set: { dailyStat: 0 } }, { upsert: true }); 36 | await voiceUser.findOneAndUpdate({ guildID: conf.guildID, userID: member.user.id }, { $set: { dailyStat: 0 } }, { upsert: true }); 37 | }); 38 | }); 39 | }, null, true, "Europe/Istanbul"); 40 | daily.start(); 41 | 42 | const weekly = new CronJob("0 0 * * 0", () => { 43 | client.guilds.cache.forEach(async (guild) => { 44 | guild.members.cache.forEach(async (member) => { 45 | await messageGuild.findOneAndUpdate({ guildID: conf.guildID }, { $set: { weeklyStat: 0 } }); 46 | await voiceGuild.findOneAndUpdate({ guildID: conf.guildID }, { $set: { weeklyStat: 0 } }); 47 | await messageUser.findOneAndUpdate({ guildID: conf.guildID, userID: member.user.id }, { $set: { weeklyStat: 0 } }, { upsert: true }); 48 | await voiceUser.findOneAndUpdate({ guildID: conf.guildID, userID: member.user.id }, { $set: { weeklyStat: 0 } }, { upsert: true }); 49 | }); 50 | }); 51 | }, null, true, "Europe/Istanbul"); 52 | weekly.start(); 53 | }; 54 | 55 | module.exports.conf = { 56 | name: "ready" 57 | }; -------------------------------------------------------------------------------- /src/events/guildBanRemove.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const penals = require("../schemas/penals"); 3 | const moment = require("moment"); 4 | const forceBans = require("../schemas/forceBans"); 5 | require("moment-duration-format"); 6 | moment.locale("tr"); 7 | const conf = require("../configs/sunucuayar.json") 8 | module.exports = async (guild, user) => { 9 | if (guild.id !== conf.guildID) return; 10 | 11 | const data = await forceBans.findOne({ guildID: guild.id, userID: user.id }); 12 | if (data) return guild.members.ban(user.id, { reason: "Sunucudan kalıcı olarak yasaklandı!" }).catch(() => {}); 13 | 14 | let audit = await guild.fetchAuditLogs({ type: 'GUILD_BAN_REMOVE' }); 15 | audit = audit.entries.first(); 16 | if (audit.executor.bot) return; 17 | 18 | const penal = await penals.findOne({ guildID: guild.id, userID: user.id, active: true, type: "BAN" }); 19 | if (penal && penal.active) { 20 | penal.active = false; 21 | await penal.save(); 22 | } 23 | 24 | const log = new MessageEmbed() 25 | .setAuthor(user.username, user.avatarURL({ dynamic: true, size: 2048 })) 26 | .setColor("GREEN") 27 | .setDescription(` 28 | \`(${user.username.replace(/\`/g, "")} - ${user.id})\` üyesinin banı kaldırıldı! 29 | 30 | Banı Kaldıran Yetkili: ${audit.executor} \`(${audit.executor.username.replace(/\`/g, "")} - ${audit.executor.id})\` 31 | Banın Kaldırılma Tarihi: \`${moment(Date.now()).format("LLL")}\` 32 | `) 33 | guild.channels.cache.get(conf.banLogChannel).send(log); 34 | }; 35 | 36 | module.exports.conf = { 37 | name: "guildBanRemove", 38 | }; 39 | -------------------------------------------------------------------------------- /src/events/guildCreate.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | 3 | module.exports = async (guild) => { 4 | const invites = await guild.fetchInvites(); 5 | client.invites.set(guild.id, invites); 6 | }; 7 | 8 | module.exports.conf = { 9 | name: "guildCreate", 10 | }; -------------------------------------------------------------------------------- /src/events/guildDelete.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | 3 | module.exports = async (guild) => { 4 | const invites = await guild.fetchInvites(); 5 | gi.delete(guild.id.code); 6 | client.invites.set(guild.id, invites); 7 | }; 8 | 9 | module.exports.conf = { 10 | name: "guildDelete", 11 | }; -------------------------------------------------------------------------------- /src/events/guildMemberRemove.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | const inviterSchema = require("../schemas/inviter"); 3 | const inviteMemberSchema = require("../schemas/inviteMember"); 4 | const coin = require("../schemas/coin"); 5 | const gorev = require("../schemas/invite"); 6 | const conf = require("../configs/sunucuayar.json") 7 | module.exports = async (member) => { 8 | 9 | const channel = member.guild.channels.cache.get(conf.invLogChannel); 10 | if (!channel) return; 11 | if (member.user.bot) return; 12 | 13 | const inviteMemberData = await inviteMemberSchema.findOne({ guildID: member.guild.id, userID: member.user.id }); 14 | if (!inviteMemberData) { 15 | channel.wsend(`\`${member.user.tag}\` sunucumuzdan ayrıldı ama kim tarafından davet edildiğini bulamadım.`); 16 | } else { 17 | const inviter = await client.users.fetch(inviteMemberData.inviter); 18 | await inviterSchema.findOneAndUpdate({ guildID: member.guild.id, userID: inviter.id }, { $inc: { leave: 1, total: -1 } }, { upsert: true }); 19 | const inviterData = await inviterSchema.findOne({ guildID: member.guild.id, userID: inviter.id, }); 20 | const total = inviterData ? inviterData.total : 0; 21 | const gorevData = await gorev.findOne({ guildID: member.guild.id, userID: inviter.id }); 22 | channel.wsend(` 23 | 24 | \`${member.user.tag}\` Sunucumuzdan ayrıldı. 25 | ${inviter.tag} Tarafından davet edilmişti. 26 | Toplam Geriye Kalan Davet Sayısı: (**${total} Davet**) 27 | 28 | `); 29 | await coin.findOneAndUpdate({ guildID: member.guild.id, userID: inviter.id }, { $inc: { coin: -15 } }, { upsert: true }); 30 | if (gorevData) 31 | await gorev.findOneAndUpdate({ guildID: member.guild.id, userID: inviter.id }, { $inc: { invite: -1 } }, { upsert: true }); 32 | } 33 | }; 34 | 35 | module.exports.conf = { 36 | name: "guildMemberRemove", 37 | }; 38 | -------------------------------------------------------------------------------- /src/events/guildMemberUpdate.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js") 2 | const { red , green } = require("../configs/emojis.json") 3 | const roller = require("../schemas/rolveridb") 4 | 5 | const config = require("../configs/sunucuayar.json") 6 | 7 | var moment = require('moment-timezone'); 8 | moment().tz("Europe/Istanbul").format('LL'); 9 | module.exports = async (oldMember, newMember) => { 10 | await newMember.guild.fetchAuditLogs({ 11 | type: "MEMBER_ROLE_UPDATE" 12 | }).then(async (audit) => { 13 | let ayar = audit.entries.first() 14 | let hedef = ayar.target 15 | let yapan = ayar.executor 16 | if (yapan.bot) return 17 | newMember.roles.cache.forEach(async role => { 18 | if (!oldMember.roles.cache.has(role.id)) { 19 | const emed = new MessageEmbed() 20 | .setAuthor(hedef.tag, hedef.displayAvatarURL({ dynamic: true })) 21 | .setColor("RANDOM") 22 | .setDescription(`Kişinin eklenen ve alınan tüm rollerine bakmak için \`!rollog @Pusha\` komutunu kullanın \n 23 | **Rol Eklenen kişi**\n ${hedef} - **${hedef.id}** `) 24 | .addField(`${green} Rolü Ekleyen Kişi`, `${yapan} - **${yapan.id}**`, false) 25 | .addField(`${green} Eklenen Rol`, `${role} - **${role.id}**`, false) 26 | .setFooter(yapan.tag, yapan.displayAvatarURL({ dynamic: true })) 27 | .setTimestamp() 28 | client.channels.cache.get(client.channels.cache.find(x => x.name == "rollogchannel").id).wsend(emed) 29 | roller.findOne({ 30 | user: hedef.id 31 | }, async (err, res) => { 32 | if (!res) { 33 | let arr = [] 34 | arr.push({ 35 | rol: role.id, 36 | mod: yapan.id, 37 | user: hedef.id, 38 | tarih: moment(Date.now()).format("LLL"), 39 | state: "Ekleme" 40 | }) 41 | let newData = new roller({ 42 | user: hedef.id, 43 | roller: arr 44 | }) 45 | newData.save().catch(e => console.log(e)) 46 | } else { 47 | res.roller.push({ 48 | rol: role.id, 49 | mod: yapan.id, 50 | user: hedef.id, 51 | tarih: moment(Date.now()).format("LLL"), 52 | state: "Ekleme" 53 | }) 54 | res.save().catch(e => console.log(e)) 55 | } 56 | }) 57 | } 58 | }); 59 | oldMember.roles.cache.forEach(async role => { 60 | if (!newMember.roles.cache.has(role.id)) { 61 | const emeed = new MessageEmbed() 62 | .setAuthor(hedef.tag, hedef.displayAvatarURL({ dynamic: true })) 63 | .setColor("RANDOM") 64 | .setDescription(`Kişinin alınan ve eklenen tüm rollerine bakmak için \`!rollog @Pusha\` komutunu kullanın \n 65 | **Rolü Alınan kişi** \n${hedef} - **${hedef.id}**`) 66 | .addField(`${red} Rolü Alan Kişi`, `${yapan} - **${yapan.id}**`, false) 67 | .addField(`${red} Alınan Rol`, `${role} - **${role.id}**`, false) 68 | .setFooter(yapan.tag, yapan.displayAvatarURL({ dynamic: true })) 69 | .setTimestamp() 70 | client.channels.cache.get(client.channels.cache.find(x => x.name == "rollogchannel").id).wsend(emeed) 71 | roller.findOne({ 72 | user: hedef.id 73 | }, async (err, res) => { 74 | if (!res) { 75 | let arr = [] 76 | arr.push({ 77 | rol: role.id, 78 | mod: yapan.id, 79 | user: hedef.id, 80 | tarih: moment(Date.now()).format("LLL"), 81 | state: "Kaldırma" 82 | }) 83 | let newData = new roller({ 84 | user: hedef.id, 85 | roller: arr 86 | }) 87 | newData.save().catch(e => console.log(e)) 88 | } else { 89 | res.roller.push({ 90 | rol: role.id, 91 | mod: yapan.id, 92 | user: hedef.id, 93 | tarih: moment(Date.now()).format("LLL"), 94 | state: "Kaldırma" 95 | }) 96 | res.save().catch(e => console.log(e)) 97 | } 98 | }) 99 | } 100 | }); 101 | }) 102 | } 103 | module.exports.conf = { 104 | name: "guildMemberUpdate", 105 | }; -------------------------------------------------------------------------------- /src/events/iltifat.js: -------------------------------------------------------------------------------- 1 | const conf = require("../configs/sunucuayar.json") 2 | const moment = require("moment"); 3 | require("moment-duration-format"); 4 | moment.locale("tr"); 5 | let iltifatSayi = 0; 6 | let iltifatlar = [ 7 | "Mucizelerden bahsediyordum. Tam o sırada gözlerin geldi aklıma.", 8 | "Benim için mutluluğun tanımı, seninle birlikteyken geçirdiğim vakittir.", 9 | "Mavi gözlerin, gökyüzü oldu dünyamın.", 10 | "Seni gören kelebekler, narinliğin karşısında mest olur.", 11 | "Parlayan gözlerin ile karanlık gecelerime ay gibi doğuyorsun.", 12 | "Sabah olmuş. Sen mi uyandın yoksa gönlüme güneş mi doğdu.", 13 | "Huzur kokuyor geçtiğin her yer.", 14 | "En güzel manzaramsın benim, seyretmeye doyamadığım.", 15 | "Öyle bir duru güzelliğin var ki, seni gören şairler bile adına günlerce şiir yazardı.", 16 | "Gözlerinin hareketi bile yeter benim aklımı başımdan almaya.", 17 | "Seni kelimeler ile anlatmak çok zor. Muhteşem desem yine eksik kalıyor anlamın.", 18 | "Güller bile kıskanır seni gördükleri zaman kendi güzelliklerini.", 19 | "Hiç yazılmamış bir şiirsin sen, daha önce eşi benzeri olmayan.", 20 | "Bu kadar muhteşem olamaz bir insan. Bu kadar kusursuz bu kadar mükemmel.. Kirpiklerinin dizilişi bile sırayla senin.", 21 | "Adım şaire çıktı civarda. Kimse senin şiir olduğunun farkında değil henüz.", 22 | "Senin güzelliğini anlatmaya dünyalar değil, lisanlar bile yetmez.", 23 | "Etkili gülüş kavramını ben senden öğrendim.", 24 | "Seni yanlışlıkla cennetten düşürmüşler. Dünyada yaşayan bir meleksin sen.", 25 | "Seni anlatmaya kelimeler bulamıyorum. Nasıl anlatacağımı bilemediğim için seni kimselere anlatamıyorum.", 26 | "Gözlerinin gördüğü her yer benimdir. Bakışına şahit olan her toprak benim de vatanımdır.", 27 | "Gözlerinle baharı getirdin garip gönlüme.", 28 | "Bir gülüşün ile çiçek açıyor bahçemdeki her bir çiçek.", 29 | "Yuva kokuyor kucağın. Sarılınca seninle yuva kurası geliyor insanın.", 30 | "Seni de bu dünyada görünce yaşama sebebimi anladım. Meğer senmişsin beni dünyada yaşamaya zorlayan.", 31 | "Sen bu dünyadaki bütün şarkıların tek sahibisin. Sana yazılıyor bütün şarkılar ve şiirler. Adın geçiyor bütün namelerde.", 32 | "Sen benim yanımda olduğun sürece benim nerde olduğum hiç önemli değil .Kokunu aldığım her yer cennet bana.", 33 | "Seni yüreğimde taşıyorum ben, sırtımda taşımak ne kelime. Ömrüm boyunca çekmeye hazırım her anlamda senin yükünü.", 34 | "Hayatıma gelerek hayatımdaki bütün önemli şeylerin önemsiz olmasını sağladın. Artık sensin tek önem verdiğim şu hayatta.", 35 | "Sen benim bu hayattaki en büyük duamsın. Gözlerin adeta bir ay parçası. Işık oluyorsun karanlık gecelerime.", 36 | "Aynı zaman diliminde yaşamak benim için büyük ödüldür.", 37 | "Seninle aşkı yaşamak çok güzel bir şey ama sensiz kalma korkusunu düşünmek korkutuyor beni.", 38 | "Seni severek meslek sahibi oldum ben. Seni sevmeye başladıkça şair oldum.", 39 | "Gülüşün güzelliğine anlam katıyor. Gamzelerin ise bambaşka diyarların kapılarını açıyor.", 40 | "Senin gülüşünü gördüğüm günden beri ağlamalarımı unuttum.", 41 | "Kimse konuşmasın yalnız sen konuş bana. Yalnız sen bak gözlerimin içine. Kimse olmasın yalnızca sen ol benim hayatımda.", 42 | "Ben seninle birlikte yaşayabilmek için ikinci kere geldim hayata.", 43 | "Senin attığın adımlarda seni korumak için geçtiğin yol olmak isterdim. Seni emniyete alan ve sonsuz bir yolculuğa çıkaran bir yol.", 44 | "Aklıma sevmek geldiğinde, gözlerimin önüne sen geliyorsun. Günün her saati canım sevmek istiyor ve seni düşünüyor kalbim", 45 | "Pusha senden mesaj bekliyor ;)", 46 | "Pusha selam söyledi sana.", 47 | "Pusha yanına gelmek için uçak bileti almış benden duymuş olma.", 48 | "Tak jileti dudağına şah damarımdan öp beni!" 49 | ]; 50 | 51 | module.exports = async (message) => { 52 | if (message.channel.id === conf.chatChannel && !message.author.bot) { 53 | iltifatSayi++; 54 | if (iltifatSayi >= 50) { 55 | iltifatSayi = 0; 56 | message.lineReply(iltifatlar.random()); 57 | }; 58 | }; 59 | }; 60 | 61 | module.exports.conf = { 62 | name: "message", 63 | }; 64 | -------------------------------------------------------------------------------- /src/events/inviteCreate.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | module.exports = async (invite) => { 3 | const gi = client.invites.get(invite.guild.id); 4 | gi.set(invite.code, invite); 5 | client.invites.set(invite.guild.id, gi); 6 | }; 7 | 8 | module.exports.conf = { 9 | name: "inviteCreate", 10 | }; -------------------------------------------------------------------------------- /src/events/inviteDelete.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | module.exports = async (invite) => { 3 | const gi = client.invites.get(invite.guild.id); 4 | gi.delete(invite.code); 5 | client.invites.delete(invite.guild.id, gi); 6 | }; 7 | 8 | module.exports.conf = { 9 | name: "inviteDelete", 10 | }; -------------------------------------------------------------------------------- /src/events/inviteGuildCreate.js: -------------------------------------------------------------------------------- 1 | const client = global.client; 2 | 3 | /** 4 | * @param { Client } client 5 | * @param { Guild } guild 6 | */ 7 | 8 | module.exports = async (guild) => { 9 | const invites = await guild.fetchInvites(); 10 | client.invites.set(guild.id, invites); 11 | }; 12 | 13 | module.exports.conf = { 14 | name: "guildCreate", 15 | }; -------------------------------------------------------------------------------- /src/events/messageDelete.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | const { MessageEmbed } = require("discord.js"); 4 | const snipe = require("../schemas/snipe"); 5 | 6 | const config = require("../configs/sunucuayar.json") 7 | 8 | 9 | module.exports = async (message) => { 10 | 11 | 12 | if (message.author.bot) return; 13 | 14 | await snipe.findOneAndUpdate({ guildID: message.guild.id, channelID: message.channel.id }, { $set: { messageContent: message.content, userID: message.author.id, image: message.attachments.first() ? message.attachments.first().proxyURL : null, createdDate: message.createdTimestamp, deletedDate: Date.now() } }, { upsert: true }); 15 | const embed = new MessageEmbed() 16 | .setAuthor(message.member.displayName, message.author.avatarURL({ dynamic: true })) 17 | .setColor("RANDOM") 18 | .setTitle(`${message.channel.name} adlı kanalda bir mesaj silindi!`) 19 | .setDescription(message.content) 20 | .setFooter(`ID: ${message.author.id} • ${moment().calendar()}`); 21 | 22 | if (message.attachments.first()) embed.setImage(message.attachments.first().proxyURL); 23 | client.channels.cache.get(client.channels.cache.find(x => x.name == "messagelogchannel").id).wsend(embed) 24 | }; 25 | 26 | module.exports.conf = { 27 | name: "messageDelete", 28 | }; 29 | -------------------------------------------------------------------------------- /src/events/messageUpdate.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | moment.locale("tr"); 3 | 4 | const { MessageEmbed } = require("discord.js"); 5 | 6 | const config = require("../configs/sunucuayar.json") 7 | 8 | 9 | module.exports = async (oldMessage, newMessage) => { 10 | 11 | 12 | 13 | if (oldMessage.author.bot) return; 14 | 15 | 16 | const embed = new MessageEmbed() 17 | .setAuthor(newMessage.member.displayName, newMessage.author.avatarURL({ dynamic: true })) 18 | .setColor("RANDOM") 19 | .setTitle(`${newMessage.channel.name} adlı kanalda bir mesaj düzenlendi!`) 20 | .setDescription(`- ${oldMessage.content} \n+ ${newMessage.content}`) 21 | .setFooter(`ID: ${newMessage.author.id} • ${moment().add(3, "hours").calendar()}`); 22 | 23 | if (newMessage.attachments.first()) embed.setImage(newMessage.attachments.first().proxyURL); 24 | client.channels.cache.get(client.channels.cache.find(x => x.name == "messagelogchannel").id).wsend(embed) 25 | }; 26 | 27 | module.exports.conf = { 28 | name: "messageUpdate", 29 | }; 30 | -------------------------------------------------------------------------------- /src/events/voiceStateUpdate.js: -------------------------------------------------------------------------------- 1 | const penals = require("../schemas/penals"); 2 | const voiceInfo = require("../schemas/voiceInfo") 3 | const conf = require("../configs/sunucuayar.json"); 4 | module.exports = async (oldState, newState) => { 5 | if (oldState.channelID && !newState.channelID) return; 6 | const finishedPenal = await penals.findOne({ guildID: newState.guild.id, userID: newState.id, type: "VOICE-MUTE", removed: false, temp: true, finishDate: { $lte: Date.now() } }); 7 | if (finishedPenal) { 8 | if (newState.serverMute) newState.setMute(false); 9 | await newState.member.roles.remove(conf.voiceMute); 10 | finishedPenal.active = false; 11 | finishedPenal.removed = true; 12 | await finishedPenal.save(); 13 | } 14 | 15 | const activePenal = await penals.findOne({ guildID: newState.guild.id, userID: oldState.id, type: "VOICE-MUTE", active: true }); 16 | if (activePenal) { 17 | if (!newState.serverMute) newState.setMute(true); 18 | if (!conf.voiceMute.some((x) => newState.member.roles.cache.has(x))) newState.member.roles.add(conf.voiceMute); 19 | } 20 | if (!oldState.channelID && newState.channelID) await voiceInfo.findOneAndUpdate({ userID: newState.id }, { $set: { date: Date.now() } }, { upsert: true }); 21 | else if (oldState.channelID && !newState.channelID) await voiceInfo.deleteOne({ userID: oldState.id }); 22 | }; 23 | 24 | 25 | 26 | module.exports.conf = { 27 | name: "voiceStateUpdate", 28 | }; 29 | -------------------------------------------------------------------------------- /src/handlers/eventHandler.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const client = global.client; 3 | 4 | fs.readdir("./src/events", (err, files) => { 5 | if (err) return console.error(err); 6 | files 7 | .filter((file) => file.endsWith(".js")) 8 | .forEach((file) => { 9 | let prop = require(`../events/${file}`); 10 | if (!prop.conf) return; 11 | client.on(prop.conf.name, prop); 12 | console.log(`[Pusha EVENT] ${prop.conf.name} eventi yüklendi!`); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /src/handlers/functionHandler.js: -------------------------------------------------------------------------------- 1 | const penals = require("../schemas/penals"); 2 | const { GuildMember, TextChannel, MessageEmbed } = require("discord.js"); 3 | 4 | module.exports = function (client) { 5 | client.fetchUser = async (userID) => { 6 | try { 7 | return await client.users.fetch(userID); 8 | } catch (err) { 9 | return undefined; 10 | } 11 | }; 12 | 13 | client.fetchBan = async (guild, userID) => { 14 | try { 15 | return await guild.fetchBan(userID); 16 | } catch (err) { 17 | return undefined; 18 | } 19 | }; 20 | 21 | client.wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); 22 | 23 | GuildMember.prototype.setRoles = function (roles) { 24 | if (!this.manageable) return; 25 | const newRoles = this.roles.cache.filter(x => x.managed).map(x => x.id).concat(roles); 26 | return this.roles.set(newRoles).catch(() => {}); 27 | }; 28 | 29 | TextChannel.prototype.sendEmbed = function (embed) { 30 | if (!embed || !embed.description) return; 31 | const text = embed.description; 32 | for (var i = 0; i < Math.floor(text.length / 2048) + 1; i++) { 33 | this.send(embed.setDescription(text.slice(i * 2048, (i + 1) * 2048))); 34 | } 35 | }; 36 | 37 | TextChannel.prototype.wsend = async function (message) { 38 | const hooks = await this.fetchWebhooks(); 39 | let webhook = hooks.find(a => a.name === client.user.username && a.owner.id === client.user.id); 40 | if (webhook) return webhook.send(message); 41 | webhook = await this.createWebhook(client.user.username, { avatar: client.user.avatarURL() }); 42 | return webhook.send(message); 43 | }; 44 | 45 | TextChannel.prototype.error = async function (message, text) { 46 | const pusha = await client.users.fetch("939107266580332554"); 47 | const embed = new MessageEmbed() 48 | .setColor("RED") 49 | .setAuthor(message.member.displayName, message.author.avatarURL({ dynamic: true, size: 2048 })) 50 | .setFooter("Developed by Pusha", pusha.avatarURL({ dynamic: true })); 51 | this.send(embed.setDescription(text)).then((x) => { if (x.deletable) x.delete({ timeout: 10000 }); }); 52 | }; 53 | 54 | client.penalize = async (guildID, userID, type, active = true, staff, reason, temp = false, finishDate = undefined) => { 55 | let id = await penals.find({ guildID }); 56 | id = id ? id.length + 1 : 1; 57 | return await new penals({ id, userID, guildID, type, active, staff, reason, temp, finishDate }).save(); 58 | }; 59 | 60 | GuildMember.prototype.hasRole = function (role, every = true) { 61 | return (Array.isArray(role) && (every && role.every((x) => this.roles.cache.has(x)) || !every && role.some((x) => this.roles.cache.has(x))) || !Array.isArray(role) && this.roles.cache.has(role)) 62 | }; 63 | 64 | Array.prototype.random = function () { 65 | return this[Math.floor((Math.random() * this.length))]; 66 | }; 67 | }; 68 | -------------------------------------------------------------------------------- /src/handlers/mongoHandler.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | const settings = require("../configs/settings.json"); 3 | 4 | mongoose.connect(settings.mongoUrl, { 5 | useUnifiedTopology: true, 6 | useNewUrlParser: true, 7 | useFindAndModify: false, 8 | }); 9 | 10 | mongoose.connection.on("connected", () => { 11 | console.log("Database bağlantısı tamamlandı!"); 12 | }); 13 | mongoose.connection.on("error", () => { 14 | console.error("[HATA] Database bağlantısı kurulamadı!"); 15 | }); 16 | -------------------------------------------------------------------------------- /src/schemas/afk.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | reason: { type: String, default: "" }, 7 | date: { type: Number, default: Date.now() } 8 | }); 9 | 10 | module.exports = model("afk", schema); -------------------------------------------------------------------------------- /src/schemas/bannedTag.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | taglar: { type: Array, default: [] } 6 | }); 7 | 8 | module.exports = model("bannedTag", schema); -------------------------------------------------------------------------------- /src/schemas/ceza.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | 7 | ceza: { type: Array, default: [] }, 8 | top: { type: Number, default: 0 }, 9 | 10 | BanAmount: {type: Number, default: 0}, 11 | JailAmount: {type: Number, default: 0}, 12 | ReklamAmount: {type: Number, default: 0}, 13 | MuteAmount: {type: Number, default: 0}, 14 | VoiceMuteAmount: {type: Number, default: 0} 15 | }); 16 | 17 | module.exports = model("ceza", schema); -------------------------------------------------------------------------------- /src/schemas/cezapuan.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | cezapuan: { type: Number, default: 0 } 7 | }); 8 | 9 | module.exports = model("cezapuan", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/coin.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | coin: { type: Number, default: 0 } 7 | }); 8 | 9 | module.exports = model("coin", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/dolar.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | dolar: { type: Number, default: 0 }, 7 | dolarTime: { type: Number, default: 0 } 8 | }); 9 | 10 | module.exports = model("dolar", schema); -------------------------------------------------------------------------------- /src/schemas/ekip.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | const afkSchema = mongoose.Schema({ 3 | guildID: { type: String, default: "" }, 4 | crewHouse: {type: Array, default: ""}, 5 | tarih: { type: String, default: "" } 6 | 7 | }); 8 | module.exports = mongoose.model("ekip", afkSchema); -------------------------------------------------------------------------------- /src/schemas/forceBans.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | staff: { type: String, default: "" } 7 | }); 8 | 9 | module.exports = model("forceBans", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/invite.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | invite: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("gorev", schema); -------------------------------------------------------------------------------- /src/schemas/inviteMember.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = new Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | inviter: { type: String, default: "" }, 7 | date: { type: Number, default: Date }, 8 | }); 9 | 10 | module.exports = model("inviteMember", schema); -------------------------------------------------------------------------------- /src/schemas/inviter.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = new Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | total: { type: Number, default: 0, min: 0 }, 7 | regular: { type: Number, default: 0, min: 0 }, 8 | bonus: { type: Number, default: 0, min: 0 }, 9 | leave: { type: Number, default: 0, min: 0 }, 10 | fake: { type: Number, default: 0, min: 0 }, 11 | }); 12 | 13 | module.exports = model("inviter", schema); -------------------------------------------------------------------------------- /src/schemas/kayitgorev.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | kayit: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("kayitgorev", schema); -------------------------------------------------------------------------------- /src/schemas/mesajgorev.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | mesaj: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("mesajgorev", schema); -------------------------------------------------------------------------------- /src/schemas/messageGuild.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | topStat: { type: Number, default: 0 }, 6 | dailyStat: { type: Number, default: 0 }, 7 | weeklyStat: { type: Number, default: 0 }, 8 | twoWeeklyStat: { type: Number, default: 0 }, 9 | }); 10 | 11 | module.exports = model("messageGuild", schema); 12 | -------------------------------------------------------------------------------- /src/schemas/messageGuildChannel.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | channelID: String, 6 | channelData: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("messageGuildChannel", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/messageUser.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | userID: String, 6 | topStat: { type: Number, default: 0 }, 7 | dailyStat: { type: Number, default: 0 }, 8 | weeklyStat: { type: Number, default: 0 }, 9 | twoWeeklyStat: { type: Number, default: 0 }, 10 | }); 11 | 12 | module.exports = model("messageUser", schema); 13 | -------------------------------------------------------------------------------- /src/schemas/messageUserChannel.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | userID: String, 6 | channelID: String, 7 | channelData: { type: Number, default: 0 }, 8 | }); 9 | 10 | module.exports = model("messageUserChannel", schema); 11 | -------------------------------------------------------------------------------- /src/schemas/names.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | names: { type: Array, default: [] }, 7 | yetkili: {type: String, default: ""} 8 | }); 9 | 10 | module.exports = model("names", schema); -------------------------------------------------------------------------------- /src/schemas/otokayit.JS: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | let otoKayitData = Schema({ 4 | userID: { type: String, default: ""}, 5 | roleID: {type: Array, default: []}, 6 | name: {type: String, default: ""}, 7 | age: {type: String, default: ""} 8 | }) 9 | 10 | module.exports = model("otokayit", otoKayitData); -------------------------------------------------------------------------------- /src/schemas/penals.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | id: { type: Number, default: 0 }, 5 | userID: { type: String, default: "" }, 6 | guildID: { type: String, default: "" }, 7 | type: { type: String, default: "" }, 8 | active: { type: Boolean, default: true }, 9 | staff: { type: String, default: "" }, 10 | reason: { type: String, default: "" }, 11 | temp: { type: Boolean, default: false }, 12 | finishDate: Number, 13 | removed: { type: Boolean, default: false }, 14 | date: { type: Number, default: Date.now() } 15 | }); 16 | 17 | module.exports = model("penals", schema); 18 | -------------------------------------------------------------------------------- /src/schemas/registerStats.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | userID: { type: String, default: "" }, 5 | guildID: { type: String, default: "" }, 6 | top: { type: Number, default: 0 }, 7 | topGuild24: { type: Number, default: 0 }, 8 | topGuild7: { type: Number, default: 0 }, 9 | top24: { type: Number, default: 0 }, 10 | top7: { type: Number, default: 0 }, 11 | top14: { type: Number, default: 0 }, 12 | erkek: { type: Number, default: 0 }, 13 | erkek24: { type: Number, default: 0 }, 14 | erkek7: { type: Number, default: 0 }, 15 | erkek14: { type: Number, default: 0 }, 16 | kız: { type: Number, default: 0 }, 17 | kız24: { type: Number, default: 0 }, 18 | kız7: { type: Number, default: 0 }, 19 | kız14: { type: Number, default: 0 }, 20 | tagMode: Boolean, 21 | RegisterSystem: Boolean, 22 | 23 | 24 | 25 | }); 26 | 27 | module.exports = model("registerStats", schema); -------------------------------------------------------------------------------- /src/schemas/rolveridb.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | user: { type: String, default: "" }, 6 | roller: { type: Array, default: [] }, 7 | mod: { type: String, default: "" }, 8 | }); 9 | 10 | module.exports = model("roles", schema); -------------------------------------------------------------------------------- /src/schemas/snipe.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | channelID: { type: String, default: "" }, 6 | userID: { type: String, default: "" }, 7 | messageContent: { type: String, default: "" }, 8 | image: { type: String, default: "" }, 9 | createdDate: { type: Number, default: Date.now() }, 10 | deletedDate: { type: Number, default: Date.now() } 11 | }); 12 | 13 | module.exports = model("snipe", schema); -------------------------------------------------------------------------------- /src/schemas/taggeds.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | taggeds: { type: Array, default: [] } 7 | }); 8 | 9 | module.exports = model("taggeds", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/taggorev.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | tagli: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("taggorev", schema); -------------------------------------------------------------------------------- /src/schemas/toplams.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | toplams: { type: Array, default: [] } 7 | }); 8 | 9 | module.exports = model("toplams", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/uyarisayi.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | sayi: { type: Number, default: 0 } 7 | }); 8 | 9 | module.exports = model("uyari", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/voiceGuild.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | topStat: { type: Number, default: 0 }, 6 | dailyStat: { type: Number, default: 0 }, 7 | weeklyStat: { type: Number, default: 0 }, 8 | twoWeeklyStat: { type: Number, default: 0 }, 9 | }); 10 | 11 | module.exports = model("voiceGuild", schema); 12 | -------------------------------------------------------------------------------- /src/schemas/voiceGuildChannel.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | channelID: String, 6 | channelData: { type: Number, default: 0 }, 7 | }); 8 | 9 | module.exports = model("voiceGuildChannel", schema); 10 | -------------------------------------------------------------------------------- /src/schemas/voiceInfo.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | userID: String, 5 | date: Number, 6 | }); 7 | 8 | module.exports = model("voicejoin", schema); -------------------------------------------------------------------------------- /src/schemas/voiceJoinedAt.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | userID: String, 5 | date: Number, 6 | }); 7 | 8 | module.exports = model("voiceJoinedAt", schema); 9 | -------------------------------------------------------------------------------- /src/schemas/voiceUser.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | userID: String, 6 | topStat: { type: Number, default: 0 }, 7 | dailyStat: { type: Number, default: 0 }, 8 | weeklyStat: { type: Number, default: 0 }, 9 | twoWeeklyStat: { type: Number, default: 0 }, 10 | }); 11 | 12 | module.exports = model("voiceUser", schema); 13 | -------------------------------------------------------------------------------- /src/schemas/voiceUserChannel.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | userID: String, 6 | channelID: String, 7 | channelData: { type: Number, default: 0 }, 8 | }); 9 | 10 | module.exports = model("voiceUserChannel", schema); 11 | -------------------------------------------------------------------------------- /src/schemas/voiceUserParent.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: String, 5 | userID: String, 6 | parentID: String, 7 | parentData: { type: Number, default: 0 }, 8 | }); 9 | 10 | module.exports = model("voiceUserParent", schema); 11 | -------------------------------------------------------------------------------- /src/schemas/yetkis.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require("mongoose"); 2 | 3 | const schema = Schema({ 4 | guildID: { type: String, default: "" }, 5 | userID: { type: String, default: "" }, 6 | yetkis: { type: Array, default: [] } 7 | }); 8 | 9 | module.exports = model("yetkis", schema); 10 | --------------------------------------------------------------------------------