├── standard_11.gif ├── savage.bat ├── Ayarlar └── Ayarlar.json ├── Events ├── ready.js └── commandHandler.js ├── package.json ├── README.md ├── LICENSE ├── boot.js ├── Komutlar └── Rich.js └── savage.js /standard_11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anilufuk/Boost-System/HEAD/standard_11.gif -------------------------------------------------------------------------------- /savage.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | title © Savage Boost System 3 | color c 4 | cls 5 | :a 6 | node boot.js 7 | goto a 8 | pause -------------------------------------------------------------------------------- /Ayarlar/Ayarlar.json: -------------------------------------------------------------------------------- 1 | { 2 | "Token": "", 3 | "Prefix": "!", 4 | "Özel_Sunucu": true, 5 | "Debug": false 6 | } 7 | -------------------------------------------------------------------------------- /Events/ready.js: -------------------------------------------------------------------------------- 1 | exports.execute = () => { 2 | console.log("Bot hazır!"); 3 | }; 4 | 5 | exports.conf = { 6 | event: "ready" 7 | 8 | } -------------------------------------------------------------------------------- /Events/commandHandler.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | /** 4 | * @param {Discord.Message} message 5 | */ 6 | exports.execute = async (message) => { 7 | if(message.author.bot || !message.content.startsWith(global.Ayarlar.Prefix)) return; 8 | 9 | let args = message.content.split(" "); 10 | let commandName = args[0].substring(global.Ayarlar.Prefix.length); 11 | args = args.splice(1); 12 | let command = global.Commands.get(commandName); 13 | if(!command || !command.conf.enabled || (command.conf.guildOnly && message.channel.type != "text")) return; 14 | if(command) 15 | command.run(message.client, message, args); 16 | }; 17 | 18 | exports.conf = { 19 | event: "message" 20 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "//1": "describes your app and its dependencies", 3 | "//2": "https://docs.npmjs.com/files/package.json", 4 | "//3": "updating this file will download and update your packages", 5 | "name": "discord-boostsystem-bot", 6 | "version": "0.0.1", 7 | "description": "This bot is a simple Boost System.", 8 | "main": "savage.js", 9 | "scripts": { 10 | "start": "node boot.js" 11 | }, 12 | "dependencies": { 13 | "discord-logs": "^1.8.2", 14 | "discord.js": "^12.3.1" 15 | }, 16 | "engines": { 17 | "node": "12.x" 18 | }, 19 | "repository": { 20 | "url": "https://glitch.com/~savage-boost-system" 21 | }, 22 | "keywords": [ 23 | "bot", 24 | "boost", 25 | "system", 26 | "boost-system", 27 | "discord", 28 | "serendia", 29 | "squad", 30 | "Savage" 31 | ], 32 | "author": "Savage", 33 | "license": "MIT" 34 | } 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Savage Takviye Sistemi Alt Yapısı 2 | 3 | Bu altyapı sadece Discord Takviye (Boost) için yapılmıştır, dilediğiniz gibi kurup kullana bilirsiniz benden habersiz paylaşımda sanal telif işlemi uygulanacaktır. 4 | 5 | ## Kurulum 6 | 7 | Eğer direk projeyi kurucaksanız tek yapmanız gereken savage.js ve komutlardaki Rich.js dosyasını doldurmak. 8 | 9 | ```js 10 | savage.js - Rich.js 11 | ``` 12 | ## Sıkça Sorulabilicek Sorular 13 | 14 | 15 | ### Kod Dosyalarını Nasıl Kurucam? 16 | 17 | Tek yapmanız gereken dosyalardaki ID kısımlarını doldurmak, savage.js'ye atılıcak bir kod yoktur, ya da hazır proje olarak kullanıp sadece savage.js'yi ve Rich.js'yi dolurabilirsiniz. 18 | 19 | ### Sana bir sorum vardı? 20 | 21 | Savage#8888 (228971558972948491) Discord hesabıma ulaşabilirsiniz, eğer ulaşamazsanız [discord.gg/serendia](https://discord.gg/serendia)'ya sorun, yol göstereceklerdir. 22 | 23 | ### Bir hata buldum? 24 | 25 | Bana ulaşın, elimden geldiğince hızlı çözerim. 26 | 27 | ## Serendia Ailesine ve ordan bu altyapıyı isteyenlere Sevgilerle <3 28 | ![Serendia](standard_11.gif) 29 | 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Savage 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /boot.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const fs = require("fs"); 3 | const Ayarlar = global.Ayarlar = require("./Ayarlar/Ayarlar.json"); 4 | 5 | console.log("Bot başlatılıyor..."); 6 | let _client = new Discord.Client(); 7 | if (Ayarlar.Özel_Sunucu === true) { 8 | _client = new Discord.Client({ 9 | fetchAllMembers: true 10 | }); 11 | } 12 | const client = global.client = _client; 13 | 14 | const Commands = global.Commands = new Map(); 15 | console.log("--------------------------------"); 16 | console.log("Komutlar yükleniyor..."); 17 | fs.readdirSync("./Komutlar", { encoding: "utf-8" }).filter(file => file.endsWith(".js")).forEach(file => { 18 | let prop = require(`./Komutlar/${file}`); 19 | if (prop.conf.name == undefined || prop.run == undefined) return console.error(`[KOMUT] ${file} yüklenemedi.`); 20 | Commands.set(prop.conf.name, prop); 21 | if (prop.conf.aliases && prop.conf.aliases.length > 0) { 22 | prop.conf.aliases.forEach(aliase => Commands.set(aliase, prop)); 23 | } 24 | if (prop.onLoad != undefined && typeof (prop.onLoad) == "function") prop.onLoad(client); 25 | console.log(`[KOMUT] ${file} için toplam ${prop.conf.aliases.length} destekçi yüklendi ve kendisi yüklendi.`); 26 | }); 27 | console.log("--------------------------------"); 28 | console.log("Etkinlikler yükleniyor..."); 29 | fs.readdirSync("./Events", { encoding: "utf-8" }).filter(file => file.endsWith(".js")).forEach(file => { 30 | let prop = require(`./Events/${file}`); 31 | client.on(prop.conf.event, prop.execute); 32 | console.log(`[ETKINLIK] ${file} yüklendi.`); 33 | }); 34 | 35 | console.log("--------------------------------"); 36 | console.log("| BOT HAZIRLANDI VE ANA DOSYA ÇALIŞTIRILIYOR |"); 37 | 38 | require("./savage.js"); 39 | -------------------------------------------------------------------------------- /Komutlar/Rich.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | 3 | exports.run = async (client, message, args, ayar, emoji) => { 4 | let boosterrol = "" //boost rolü idsi 5 | let kanalid = "" //kullana bileceginiz kanal id (misal commands - bot komutlar) 6 | let renk = "ff66f0" //renk kafaniza göre ayarlayin suanki pembe 7 | let tag = "" //tag sembolü varsa yazin cünkü isminin basina ekleyek olan sey yoksa bos birakin 8 | 9 | 10 | let onay = "" //onay emojisi id tepki icin örnek <:emojiismi:id> 11 | let iptal = "" //iptal emojisi id tepki icin <:emojiismi:id> 12 | if(!message.member.roles.cache.has(boosterrol)) return message.channel.send(`**Bu komutu kullanabilmek için Sunucuya Takviye yapmalısın!** ${iptal}`) 13 | if(message.channel.id !== kanalid) return message.channel.send(new Discord.MessageEmbed() 14 | .setAuthor(message.author.tag, message.author.avatarURL({dynamic: true})) 15 | .setColor(renk) 16 | .setDescription(`**\`•\` <@${message.author.id}>, bu komutu sadece <#${kanalid}> kanalin da kullanabilirsin.**`) 17 | .setTimestamp() 18 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1%22")) 19 | 20 | let boosternick = args.slice(0).join(' ') 21 | if(!boosternick) return message.reply("Yeni adını girmelisin.").then( a=> a.react(iptal)) 22 | message.member.setNickname(`${tag} ${boosternick}`) 23 | const Savage = new Discord.MessageEmbed() 24 | .setAuthor(message.author.tag, message.author.avatarURL({dynamic: true})) 25 | .setTimestamp() 26 | .setColor(renk) 27 | .setDescription(`**\`•\` Takma adın başarıyla \`${boosternick}\` olarak değiştirildi!**`) // tagi göstermesse embedde ${boosternick}'in basina ${tag} ekleyin yani; ${tag} ${boosternick} 28 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1%22") 29 | message.channel.send(Savage) 30 | message.react(onay); 31 | } 32 | 33 | exports.conf = { 34 | name: "zengin", 35 | aliases: ["booster", "boosternick", "rich", "me"], 36 | enabled: true, 37 | guildOnly: true 38 | }; 39 | 40 | exports.help = { 41 | name: 'zengin', 42 | description: 'Boost basanlar isim sag tiksiz degise bilcek.', 43 | usage: 'rich ', 44 | kategori: 'kullanıcı' 45 | }; 46 | 47 | //SAVAGE SIZI COK SEVIYO :3 48 | -------------------------------------------------------------------------------- /savage.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const client = global.client; 3 | const logs = require('discord-logs'); 4 | logs(client); 5 | 6 | client.on("ready", async () => { 7 | client.user.setPresence({ activity: { name: "Savage tarafından geliştirildi." }, status: "online" }); 8 | }); 9 | // ---------------------------------------------- /// 10 | 11 | client.on('guildMemberBoost', (member) => { 12 | 13 | let sunucuID = ("") 14 | let kanalID = ("") 15 | let boostrol = ("") 16 | 17 | let boost = client.guilds.cache.get(sunucuID).premiumSubscriptionCount 18 | let tier = client.guilds.cache.get(sunucuID).premiumTier 19 | 20 | const Savage = new Discord.MessageEmbed() 21 | .setColor("#ff66f0") 22 | .setAuthor(`${member.user.tag}`,member.user.avatarURL({dynamic: true})) 23 | .setDescription(`**<@${member.user.id}> sunucumuzu boostlayıp, bizi desteklediğin için teşekkürler!**\n**(Sunucumuzda şuan __${boost}__ Boost bulunmaktadır ve Sunucu Seviyesi __${tier}__.)**\n\n**Artık <@&${boostrol}> rolüne sahipsin ve** **__bazı ayrıcalıkların__** **var;**\n**• Sunucuda __kendi adını__** \`»\` **__!rich__ değiştirebileceksin.**\n**• Sunucudaki yetkililere ulaşıp sunucuya istediğin \`1 emojiyi\` ekletebilirsin.**`) 24 | .setTimestamp() 25 | //.addField("Sunucunun Boost sayısı:", `**${boost}**`,true) 26 | //.addField("Sunucunun Seviyesi:", `**${tier}**`, true) 27 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1") 28 | 29 | client.channels.cache.get(kanalID).send(Savage); 30 | }); 31 | 32 | 33 | client.on('guildMemberUnBoost', (member) => { 34 | 35 | let sunucuID = ("") 36 | let kanalID = ("") 37 | let boostrol = ("") 38 | 39 | let boost = client.guilds.cache.get(sunucuID).premiumSubscriptionCount 40 | let tier = client.guilds.cache.get(sunucuID).premiumTier 41 | 42 | const Savage = new Discord.MessageEmbed() 43 | .setColor("#ff66f0") 44 | .setAuthor(`${member.user.tag}`,member.user.avatarURL({dynamic: true})) 45 | .setDescription(`**<@${member.user.id}> sunucumuzu boostlamayı bıraktığı için tüm ayrıcalıkları sona erdi ve <@&${boostrol}> rolü alındı!** \n**(__${boost}__ Boost bulunmaktadır ve Sunucu Seviyesi __${tier}__.)**`) 46 | .setTimestamp() 47 | //.addField("Sunucunun Boost sayısı:", `**${boost}**`,true) 48 | //.addField("Sunucunun Seviyesi:", `**${tier}**`, true) 49 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1") 50 | 51 | client.channels.cache.get(kanalID).send(Savage); 52 | }); 53 | 54 | 55 | client.on("guildBoostLevelUp", (guild, oldLevel, newLevel) => { 56 | 57 | let sunucuID = ("") 58 | let kanalID = ("") 59 | 60 | let boost = client.guilds.cache.get(sunucuID).premiumSubscriptionCount 61 | let tier = client.guilds.cache.get(sunucuID).premiumTier 62 | const Savage = new Discord.MessageEmbed() 63 | .setColor("#ff66f0") 64 | .setAuthor(`Seviye Yükseldi`) 65 | .setDescription(`**Sunucumuzun seviyesi yükseldi!** \n**(__${boost}__ Boost bulunmaktadır ve Sunucunun güncel Seviyesi __${tier}__.)**`) 66 | .setTimestamp() 67 | //.addField("Sunucunun Boost sayısı:", `**${boost}**`,true) 68 | //.addField("Sunucunun Seviyesi:", `**${tier}**`, true) 69 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1") 70 | 71 | client.channels.cache.get(kanalID).send(Savage); 72 | }); 73 | 74 | 75 | client.on("guildBoostLevelDown", (guild, oldLevel, newLevel) => { 76 | let sunucuID = ("") 77 | let kanalID = ("") 78 | 79 | let boost = client.guilds.cache.get(sunucuID).premiumSubscriptionCount 80 | let tier = client.guilds.cache.get(sunucuID).premiumTier 81 | const Savage = new Discord.MessageEmbed() 82 | .setColor("ff66f0") 83 | .setAuthor(`Seviye Düştü!`) 84 | .setDescription(`**Sunucumuzun seviyesi düştü!** \n**(__${boost}__ Boost bulunmaktadır ve Sunucunun güncel Seviyesi __${tier}__.)**`) 85 | .setTimestamp() 86 | //.addField("Sunucunun Boost sayısı:", `**${boost}**`,true) 87 | //.addField("Sunucunun Seviyesi:", `**${tier}**`, true) 88 | .setFooter(`© Savage Boost System`, "https://cdn.discordapp.com/emojis/785950806384836619.gif?v=1") 89 | 90 | client.channels.cache.get(kanalID).send(Savage); 91 | }); 92 | 93 | 94 | 95 | //Kod CALISIYORMU diye bakmaniza saglayan bir yardim komutudur. 96 | 97 | client.on("message", async message => { 98 | if (message.content === "!boost") {if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("Bu komutu kullanabilmek için **Yönetici** yetkisine sahip değilsin!"); 99 | // - yerine prefixi yaz 100 | client.emit( 101 | "guildMemberBoost", 102 | message.member || (await message.guild.fetchMember(message.author)) 103 | ); 104 | } 105 | }); 106 | 107 | client.on("message", async message => { 108 | if (message.content === "!unboost") {if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("Bu komutu kullanabilmek için **Yönetici** yetkisine sahip değilsin!"); 109 | // - yerine prefixi yaz 110 | client.emit( 111 | "guildMemberUnBoost", 112 | message.member || (await message.guild.fetchMember(message.author)) 113 | ); 114 | } 115 | }); 116 | 117 | client.on("message", async message => { 118 | if (message.content === "!levelup") {if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("Bu komutu kullanabilmek için **Yönetici** yetkisine sahip değilsin!"); 119 | // - yerine prefixi yaz 120 | client.emit( 121 | "guildBoostLevelUp", 122 | message.member || (await message.guild.fetchMember(message.author)) 123 | ); 124 | } 125 | }); 126 | 127 | client.on("message", async message => { 128 | if (message.content === "!leveldown") {if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("Bu komutu kullanabilmek için **Yönetici** yetkisine sahip değilsin!"); 129 | // - yerine prefixi yaz 130 | client.emit( 131 | "guildBoostLevelDown", 132 | message.member || (await message.guild.fetchMember(message.author)) 133 | ); 134 | } 135 | }); 136 | 137 | // ---------------------------------------------- 138 | 139 | client.login(global.Ayarlar.Token).catch(err => {console.error("Geçersiz bir token girmişsin.")}); 140 | --------------------------------------------------------------------------------