├── LICENSE ├── ayarlar.json ├── ayarlar ├── glog.json └── sayac.json ├── bot.js ├── events ├── guildMemberAdd.js ├── guildMemberRemove.js ├── message.js └── ready.js ├── jsonlar └── kufurEngelle.json ├── komutlar ├── ban.js ├── capslock.js ├── giriş-çıkış-ayarla.js ├── kayıt.js ├── kayıtol.js ├── kick.js ├── küfür-engel.js ├── metin-kanal-aç.js ├── mod-log.js ├── oynuyor-reklam.js ├── reboot.js ├── reklam-engel.js ├── reklam-taraması.js ├── rol-bilgi.js ├── rol-ver.js ├── roller.js ├── sayaç-kapat.js ├── sayaç.js ├── ses-kanal-aç.js ├── temizle.js ├── unban.js └── yardım.js ├── loglar.json ├── package.json └── util └── eventLoader.js /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 CodAre 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 | -------------------------------------------------------------------------------- /ayarlar.json: -------------------------------------------------------------------------------- 1 | { 2 | "token" : "Token", 3 | "adminID" : "İd", 4 | "prefix" : "c+", 5 | "passes" : 1 6 | } 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ayarlar/glog.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /ayarlar/sayac.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /bot.js: -------------------------------------------------------------------------------- 1 | 2 | // GEREKLİ YERLER 3 | // ------------------------------------------------------------- 4 | const Discord = require('discord.js'); 5 | const client = new Discord.Client(); 6 | const ayarlar = require('./ayarlar.json'); 7 | const chalk = require('chalk'); 8 | const fs = require('fs'); 9 | const moment = require('moment'); 10 | const Jimp = require('jimp'); 11 | const db = require('quick.db'); 12 | require('./util/eventLoader')(client); 13 | const express = require('express'); 14 | const app = express(); 15 | const http = require('http'); 16 | app.get("/", (request, response) => { 17 | console.log(Date.now() + " Ping tamamdır."); 18 | response.sendStatus(200); 19 | }); 20 | app.listen(process.env.PORT); 21 | setInterval(() => { 22 | http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`); 23 | }, 280000) 24 | 25 | 26 | 27 | let kufurEngel = JSON.parse(fs.readFileSync("./jsonlar/kufurEngelle.json", "utf8")); 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | let sayac = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 42 | 43 | require('./util/eventLoader')(client); 44 | 45 | var prefix = ayarlar.prefix; 46 | 47 | 48 | 49 | const log = message => { 50 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`); 51 | }; 52 | 53 | 54 | 55 | client.commands = new Discord.Collection(); 56 | client.aliases = new Discord.Collection(); 57 | fs.readdir('./komutlar/', (err, files) => { 58 | if (err) console.error(err); 59 | log(`${files.length} komut yüklenecek.`); 60 | files.forEach(f => { 61 | let props = require(`./komutlar/${f}`); 62 | log(`Yüklenen komut: ${props.help.name}.`); 63 | client.commands.set(props.help.name, props); 64 | props.conf.aliases.forEach(alias => { 65 | client.aliases.set(alias, props.help.name); 66 | }); 67 | }); 68 | }); 69 | 70 | client.reload = command => { 71 | return new Promise((resolve, reject) => { 72 | try { 73 | delete require.cache[require.resolve(`./komutlar/${command}`)]; 74 | let cmd = require(`./komutlar/${command}`); 75 | client.commands.delete(command); 76 | client.aliases.forEach((cmd, alias) => { 77 | if (cmd === command) client.aliases.delete(alias); 78 | }); 79 | client.commands.set(command, cmd); 80 | cmd.conf.aliases.forEach(alias => { 81 | client.aliases.set(alias, cmd.help.name); 82 | }); 83 | resolve(); 84 | } catch (e){ 85 | reject(e); 86 | } 87 | }); 88 | }; 89 | 90 | client.load = command => { 91 | return new Promise((resolve, reject) => { 92 | try { 93 | let cmd = require(`./komutlar/${command}`); 94 | client.commands.set(command, cmd); 95 | cmd.conf.aliases.forEach(alias => { 96 | client.aliases.set(alias, cmd.help.name); 97 | }); 98 | resolve(); 99 | } catch (e){ 100 | reject(e); 101 | } 102 | }); 103 | }; 104 | 105 | client.unload = command => { 106 | return new Promise((resolve, reject) => { 107 | try { 108 | delete require.cache[require.resolve(`./komutlar/${command}`)]; 109 | let cmd = require(`./komutlar/${command}`); 110 | client.commands.delete(command); 111 | client.aliases.forEach((cmd, alias) => { 112 | if (cmd === command) client.aliases.delete(alias); 113 | }); 114 | resolve(); 115 | } catch (e){ 116 | reject(e); 117 | } 118 | }); 119 | } 120 | 121 | client.elevation = message => { 122 | if(!message.guild) { 123 | return; } 124 | let permlvl = 0; 125 | if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2; 126 | if (message.member.hasPermission("ADMINISTRATOR")) permlvl = 3; 127 | if (message.author.id === ayarlar.sahip) permlvl = 4; 128 | return permlvl; 129 | }; 130 | 131 | var regToken = /[\w\d]{24}\.[\w\d]{6}\.[\w\d-_]{27}/g; 132 | // client.on('debug', e => { 133 | // console.log(chalk.bgBlue.green(e.replace(regToken, 'that was redacted'))); 134 | // }); 135 | 136 | client.on('warn', e => { 137 | console.log(chalk.bgYellow(e.replace(regToken, 'that was redacted'))); 138 | }); 139 | 140 | client.on('error', e => { 141 | console.log(chalk.bgRed(e.replace(regToken, 'that was redacted'))); 142 | }); 143 | 144 | 145 | 146 | client.on("guildMemberAdd", async member => { 147 | const fs = require('fs'); 148 | let gkanal = JSON.parse(fs.readFileSync("./ayarlar/glog.json", "utf8")); 149 | const gözelkanal = member.guild.channels.get(gkanal[member.guild.id].resim) 150 | if (!gözelkanal) return; 151 | let username = member.user.username; 152 | if (gözelkanal === undefined || gözelkanal === null) return; 153 | if (gözelkanal.type === "text") { 154 | const bg = await Jimp.read("https://cdn.discordapp.com/attachments/450693709076365323/473184528148725780/guildAdd.png"); 155 | const userimg = await Jimp.read(member.user.avatarURL); 156 | var font; 157 | if (member.user.tag.length < 15) font = await Jimp.loadFont(Jimp.FONT_SANS_128_WHITE); 158 | else if (member.user.tag.length > 15) font = await Jimp.loadFont(Jimp.FONT_SANS_64_WHITE); 159 | else font = await Jimp.loadFont(Jimp.FONT_SANS_32_WHITE); 160 | await bg.print(font, 430, 170, member.user.tag); 161 | await userimg.resize(362, 362); 162 | await bg.composite(userimg, 43, 26).write("./img/"+ member.id + ".png"); 163 | setTimeout(function () { 164 | gözelkanal.send(new Discord.Attachment("./img/" + member.id + ".png")); 165 | }, 1000); 166 | setTimeout(function () { 167 | fs.unlink("./img/" + member.id + ".png"); 168 | }, 10000); 169 | } 170 | }) 171 | 172 | client.on("guildMemberRemove", async member => { 173 | const fs = require('fs'); 174 | let gkanal = JSON.parse(fs.readFileSync("./ayarlar/glog.json", "utf8")); 175 | const gözelkanal = member.guild.channels.get(gkanal[member.guild.id].resim) 176 | if (!gözelkanal) return; 177 | let username = member.user.username; 178 | if (gözelkanal === undefined || gözelkanal === null) return; 179 | if (gözelkanal.type === "text") { 180 | const bg = await Jimp.read("https://cdn.discordapp.com/attachments/450693709076365323/473184546477572107/guildRemove.png"); 181 | const userimg = await Jimp.read(member.user.avatarURL); 182 | var font; 183 | if (member.user.tag.length < 15) font = await Jimp.loadFont(Jimp.FONT_SANS_128_WHITE); 184 | else if (member.user.tag.length > 15) font = await Jimp.loadFont(Jimp.FONT_SANS_64_WHITE); 185 | else font = await Jimp.loadFont(Jimp.FONT_SANS_32_WHITE); 186 | await bg.print(font, 430, 170, member.user.tag); 187 | await userimg.resize(362, 362); 188 | await bg.composite(userimg, 43, 26).write("./img/"+ member.id + ".png"); 189 | setTimeout(function () { 190 | gözelkanal.send(new Discord.Attachment("./img/" + member.id + ".png")); 191 | }, 1000); 192 | setTimeout(function () { 193 | fs.unlink("./img/" + member.id + ".png"); 194 | }, 10000); 195 | } 196 | }) 197 | 198 | client.on("message", async msg => { 199 | if (msg.channel.type === "dm") return; 200 | if(msg.author.bot) return; 201 | if (msg.content.length > 4) { 202 | if (db.fetch(`capslock_${msg.guild.id}`)) { 203 | let caps = msg.content.toUpperCase() 204 | if (msg.content == caps) { 205 | if (!msg.member.hasPermission("ADMINISTRATOR")) { 206 | if (!msg.mentions.users.first()) { 207 | msg.delete() 208 | return msg.channel.send(`⚠️ ${msg.author}, Bu sunucuda, büyük harf kullanımı engelleniyor!`).then(m => m.delete(5000)) 209 | } 210 | } 211 | } 212 | } 213 | } 214 | }); 215 | 216 | client.on("message", msg => { 217 | db.fetch(`reklam_${msg.guild.id}`).then(i => { 218 | if (i == 'acik') { 219 | const reklam = [".com", ".net", ".xyz", ".tk", ".pw", ".io", ".me", ".gg", "www.", "https", "http", ".gl", ".org", ".com.tr", ".biz", "net", ".rf.gd", ".az", ".party", "discord.gg",]; 220 | if (reklam.some(word => msg.content.includes(word))) { 221 | try { 222 | if (!msg.member.hasPermission("BAN_MEMBERS")) { 223 | msg.delete(); 224 | return msg.reply('Bu Sunucuda Reklam Engelleme Filtresi Aktiftir. Reklam Yapmana İzin Veremem !').then(msg => msg.delete(3000)); 225 | 226 | 227 | msg.delete(3000); 228 | 229 | } 230 | } catch(err) { 231 | console.log(err); 232 | } 233 | } 234 | } 235 | else if (i == 'kapali') { 236 | 237 | } 238 | if (!i) return; 239 | }) 240 | }); 241 | 242 | client.on("message", async message => { 243 | let sayac = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 244 | if(sayac[message.guild.id]) { 245 | if(sayac[message.guild.id].sayi <= message.guild.members.size) { 246 | const embed = new Discord.RichEmbed() 247 | .setDescription(`Tebrikler, başarılı bir şekilde ${sayac[message.guild.id].sayi} kullanıcıya ulaştık!`) 248 | .setColor("0x808080") 249 | .setTimestamp() 250 | message.channel.send({embed}) 251 | delete sayac[message.guild.id].sayi; 252 | delete sayac[message.guild.id]; 253 | fs.writeFile("./ayarlar/sayac.json", JSON.stringify(sayac), (err) => { 254 | console.log(err) 255 | }) 256 | } 257 | } 258 | }) 259 | client.on("guildMemberRemove", async member => { 260 | let sayac = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 261 | let giriscikis = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 262 | let embed = new Discord.RichEmbed() 263 | .setTitle('') 264 | .setDescription(``) 265 | .setColor("RED") 266 | .setFooter("", client.user.avatarURL); 267 | 268 | if (!giriscikis[member.guild.id].kanal) { 269 | return; 270 | } 271 | 272 | try { 273 | let giriscikiskanalID = giriscikis[member.guild.id].kanal; 274 | let giriscikiskanali = client.guilds.get(member.guild.id).channels.get(giriscikiskanalID); 275 | giriscikiskanali.send(`:loudspeaker: ${member.user.tag}, aramızdan ayrıldı, \**${sayac[member.guild.id].sayi}\** kişi olmamıza \**${sayac[member.guild.id].sayi - member.guild.memberCount}\** kişi kaldı!`); 276 | } catch (e) { // eğer hata olursa bu hatayı öğrenmek için hatayı konsola gönderelim. 277 | return console.log(e) 278 | } 279 | 280 | }); 281 | client.on("guildMemberAdd", async member => { 282 | let sayac = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 283 | let giriscikis = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 284 | let embed = new Discord.RichEmbed() 285 | .setTitle('') 286 | .setDescription(``) 287 | .setColor("GREEN") 288 | .setFooter("", client.user.avatarURL); 289 | 290 | if (!giriscikis[member.guild.id].kanal) { 291 | return; 292 | } 293 | 294 | try { 295 | let giriscikiskanalID = giriscikis[member.guild.id].kanal; 296 | let giriscikiskanali = client.guilds.get(member.guild.id).channels.get(giriscikiskanalID); 297 | giriscikiskanali.send(`:loudspeaker: ${member.user.tag}, aramıza katıldı **${sayac[member.guild.id].sayi}** kişi olmamıza **${sayac[member.guild.id].sayi - member.guild.memberCount}** kişi kaldı!` ); 298 | } catch (e) { // eğer hata olursa bu hatayı öğrenmek için hatayı konsola gönderelim. 299 | return console.log(e) 300 | } 301 | 302 | }); 303 | 304 | 305 | 306 | client.on("message", async msg => { 307 | var i = await db.fetch(`küfür_${msg.guild.id}`) 308 | if (i == 'acik') { 309 | const küfür = ["sg","oç","oçe","anan","ananı","ananı sikim","anneni sikim","anneni sikeyim","ananı sikeyim","annen","ağzına","ağzına sıçim","ağzına sıçayım","ağzına s","am","ambiti","amını","amını s","amcık","amcik","amcığını","amciğini","amcığını","amcığını s","amck","amckskm","amcuk","amına","amına k","amınakoyim","amına s","amunu","amını","amın oğlu","amın o","amınoğlu","amk","aq","amnskm","anaskm","ananskm","amkafa","amk çocuğu","amk oç","piç","amk ç","amlar","amcıklar","amq","amındaki","amnskm","ananı","anan","ananın am","ananızın","aneni","aneni s","annen","anen","ananın dölü","sperm","döl","anasının am","anası orospu","orospu","orosp,","kahpe","kahbe","kahße","ayklarmalrmsikerim","ananı avradını","avrat","avradını","avradını s","babanı","babanı s","babanın amk","annenin amk","ananın amk","bacı","bacını s","babası pezevenk","pezevenk","pezeveng","kaşar","a.q","a.q.","bitch","çük","yarrak","am","cibiliyetini","bokbok","bombok","dallama","göt","götünü s","ebenin","ebeni","ecdadını","gavat","gavad","ebeni","ebe","fahişe","sürtük","fuck","gotten","götten","göt","gtveren","gttn","gtnde","gtn","hassiktir","hasiktir","hsktr","haysiyetsiz","ibne","ibine","ipne","kaltık","kancık","kevaşe","kevase","kodumun","orosbu","fucker","penis","pic","porno","sex","sikiş","s1kerim","s1k","puşt","sakso","sik","skcm","siktir","sktr","skecem","skeym","slaleni","sokam","sokuş","sokarım","sokarm","sokaym","şerefsiz","şrfsz","sürtük","taşak","taşşak","tasak","tipini s","yarram","yararmorospunun","yarramın başı","yarramınbaşı","yarraminbasi","yrrk","zikeyim","zikik","zkym"]; 310 | if (küfür.some(word => msg.content.includes(word))) { 311 | try { 312 | if (!msg.member.hasPermission("BAN_MEMBERS")) { 313 | msg.delete(); 314 | return msg.reply('Bu Sunucuda Küfür Engelleme Filtresi Aktiftir. Küfür Yapmana İzin Veremem !').then(msg => msg.delete(3000)); 315 | 316 | 317 | msg.delete(3000); 318 | 319 | } 320 | } catch(err) { 321 | console.log(err); 322 | } 323 | } 324 | } 325 | else if (i == 'kapali') { 326 | 327 | } 328 | if (!i) return; 329 | }) 330 | ; 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | client.on('message', async message => { 367 | const ms = require('ms'); 368 | const args = message.content.slice(prefix.length).trim().split(/ +/g); 369 | const command = args.shift().toLowerCase(); 370 | let u = message.mentions.users.first() || message.author; 371 | if (command === "c+sunucu-kur") { 372 | if (message.guild.channels.find(channel => channel.name === "Bot Kullanımı")) return message.channel.send(" Bot Paneli Zaten Ayarlanmış.") 373 | message.channel.send(`Bot Bilgi Kanallarının kurulumu başlatılsın mı? başlatılacak ise **evet** yazınız.`) 374 | if (!message.member.hasPermission('ADMINISTRATOR')) 375 | return message.channel.send(" Bu Kodu `Yönetici` Yetkisi Olan Kişi Kullanabilir."); 376 | message.channel.awaitMessages(response => response.content === 'evet', { 377 | max: 1, 378 | time: 10000, 379 | errors: ['time'], 380 | }) 381 | .then((collected) => { 382 | message.guild.createChannel('|▬▬|ÖNEMLİ KANALLAR|▬▬|', 'category', [{ 383 | id: message.guild.id, 384 | deny: ['SEND_MESSAGES'] 385 | }]) 386 | 387 | 388 | 389 | 390 | message.guild.createChannel('「📃」kurallar', 'text', [{ 391 | id: message.guild.id, 392 | deny: ['SEND_MESSAGES'] 393 | }]) 394 | .then(channel => 395 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|ÖNEMLİ KANALLAR|▬▬|"))); 396 | message.guild.createChannel('「🚪」gelen-giden', 'text', [{ 397 | id: message.guild.id, 398 | deny: ['SEND_MESSAGES'] 399 | }]) 400 | .then(channel => 401 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|ÖNEMLİ KANALLAR|▬▬|"))); 402 | message.guild.createChannel('「✅」sayaç', 'text', [{ 403 | id: message.guild.id, 404 | deny: ['SEND_MESSAGES'] 405 | }]) 406 | .then(channel => 407 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|ÖNEMLİ KANALLAR|▬▬|"))); 408 | message.guild.createChannel('「💾」log-kanalı', 'text', [{ 409 | id: message.guild.id, 410 | deny: ['SEND_MESSAGES'] 411 | }]) 412 | .then(channel => channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|ÖNEMLİ KANALLAR|▬▬|"))); 413 | message.guild.createChannel('「📢」duyuru-odası', 'text', [{ 414 | id: message.guild.id, 415 | deny: ['SEND_MESSAGES'] 416 | }]) 417 | .then(channel => 418 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|ÖNEMLİ KANALLAR|▬▬|"))); 419 | 420 | }) 421 | .then((collected) => { 422 | message.guild.createChannel('|▬▬|GENEL KANALLAR|▬▬|', 'category', [{ 423 | id: message.guild.id, 424 | }]); 425 | 426 | message.guild.createChannel(`「💡」şikayet-ve-öneri`, 'text') 427 | .then(channel => 428 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|GENEL KANALLAR|▬▬|"))); 429 | message.guild.createChannel(`「👥」pre-arama-odası`, 'text') 430 | .then(channel => 431 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|GENEL KANALLAR|▬▬|"))); 432 | message.guild.createChannel(`「📷」görsel-içerik`, 'text') 433 | .then(channel => 434 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|GENEL KANALLAR|▬▬|"))); 435 | message.guild.createChannel(`「🤖」bot-komutları`, 'text') 436 | .then(channel => 437 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|GENEL KANALLAR|▬▬|"))); 438 | message.guild.createChannel(`「💬」sohbet`, 'text') 439 | .then(channel => 440 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|GENEL KANALLAR|▬▬|"))); 441 | 442 | message.guild.createChannel(`🏆》Kurucu Odası`, "voice") 443 | .then(channel => 444 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|SES KANALLARI|▬▬|"))) 445 | .then(c => { 446 | let role = message.guild.roles.find("name", "@everyone"); 447 | let role2 = message.guild.roles.find("name", "Kurucu"); 448 | 449 | c.overwritePermissions(role, { 450 | CONNECT: false, 451 | }); 452 | c.overwritePermissions(role2, { 453 | CONNECT: true, 454 | 455 | }); 456 | }) 457 | 458 | message.guild.createChannel('|▬▬|SES KANALLARI|▬▬|', 'category', [{ 459 | id: message.guild.id, 460 | }]); 461 | 462 | message.guild.createChannel(`🏆》Yönetici Odası`, "voice") 463 | .then(channel => 464 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|SES KANALLARI|▬▬|"))) 465 | .then(c => { 466 | let role = message.guild.roles.find("name", "@everyone"); 467 | let role2 = message.guild.roles.find("name", "Kurucu"); 468 | let role3 = message.guild.roles.find("name", "Yönetici"); 469 | c.overwritePermissions(role, { 470 | CONNECT: false, 471 | }); 472 | c.overwritePermissions(role2, { 473 | CONNECT: true, 474 | }); 475 | c.overwritePermissions(role3, { 476 | CONNECT: true, 477 | }); 478 | }) 479 | 480 | message.guild.createChannel(`💬》Sohbet Odası`, "voice") 481 | .then(channel => 482 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|SES KANALLARI|▬▬|"))) 483 | .then(c => { 484 | let role = message.guild.roles.find("name", "@everyone"); 485 | c.overwritePermissions(role, { 486 | CONNECT: true, 487 | }); 488 | }) 489 | 490 | message.guild.createChannel('|▬▬|OYUN ODALARI|▬▬|', 'category', [{ 491 | id: message.guild.id, 492 | }]); 493 | 494 | message.guild.createChannel(`🎮》LOL`, 'voice') 495 | .then(channel => 496 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 497 | message.guild.createChannel(`🎮》ZULA`, 'voice') 498 | .then(channel => 499 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 500 | message.guild.createChannel(`🎮》COUNTER STRİKE`, 'voice') 501 | .then(channel => 502 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 503 | message.guild.createChannel(`🎮》PUBG`, 'voice') 504 | .then(channel => 505 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 506 | message.guild.createChannel(`🎮》FORTNİTE`, 'voice') 507 | .then(channel => 508 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 509 | message.guild.createChannel(`🎮》MİNECRAFT`, 'voice') 510 | .then(channel => 511 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 512 | message.guild.createChannel(`🎮》ROBLOX`, 'voice') 513 | .then(channel => 514 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 515 | message.guild.createChannel(`🎮》WOLFTEAM`, 'voice') 516 | .then(channel => 517 | channel.setParent(message.guild.channels.find(channel => channel.name === "|▬▬|OYUN ODALARI|▬▬|"))) 518 | 519 | 520 | 521 | message.guild.createRole({ 522 | name: 'Kurucu', 523 | color: 'RED', 524 | permissions: [ 525 | "ADMINISTRATOR", 526 | ] 527 | }) 528 | 529 | 530 | message.guild.createRole({ 531 | name: 'Yönetici', 532 | color: 'BLUE', 533 | permissions: [ 534 | "MANAGE_GUILD", 535 | "MANAGE_ROLES", 536 | "MUTE_MEMBERS", 537 | "DEAFEN_MEMBERS", 538 | "MANAGE_MESSAGES", 539 | "MANAGE_NICKNAMES", 540 | "KICK_MEMBERS" 541 | ] 542 | }) 543 | 544 | message.guild.createRole({ 545 | name: 'Moderatör', 546 | color: 'GREEN', 547 | permissions: [ 548 | "MANAGE_GUILD", 549 | "MANAGE_ROLES", 550 | "MUTE_MEMBERS", 551 | "DEAFEN_MEMBERS", 552 | "MANAGE_MESSAGES", 553 | "MANAGE_NICKNAMES" 554 | ] 555 | }) 556 | 557 | message.guild.createRole({ 558 | name: 'V.I.P', 559 | color: '00ffff', 560 | }) 561 | 562 | message.guild.createRole({ 563 | name: 'Üye', 564 | color: 'WHITE', 565 | }) 566 | 567 | message.guild.createRole({ 568 | name: 'Bot', 569 | color: 'ORANGE', 570 | }) 571 | 572 | message.channel.send("Gerekli Odalar Kuruldu!") 573 | 574 | }) 575 | 576 | } 577 | }); 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | client.on(`guildMemberAdd`, async member => { 593 | const e = new Discord.RichEmbed() 594 | .setColor(`BLUE`) 595 | .setImage(`https://media.giphy.com/media/d8zv1khS9KNHQOnJJO/giphy.gif`) 596 | member.send(e); 597 | }); 598 | 599 | 600 | 601 | 602 | 603 | client.on(`guildMemberRemove`, async member => { 604 | const a = new Discord.RichEmbed() 605 | .setColor(`RED`) 606 | .setImage(`https://media.giphy.com/media/cluvT9M6RS8ZvSuPJd/giphy.gif`) 607 | .addField(`Sunucumuzdan Gittiğin İçin çok Üzüldük!`, `MG Blocker´s Çok Üzüldü`) 608 | .setFooter(`Görüşürüz`) 609 | member.send(a); 610 | }); 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | const YouTube = require('simple-youtube-api'); 625 | const ytdl = require('ytdl-core'); 626 | const youtube = new YouTube('AIzaSyBNv7r7njLNxLGTEglWVKent2hc_RkEMR0'); 627 | const queue = new Map(); 628 | 629 | client.on('message', async msg => { 630 | 631 | if (msg.author.bot) return undefined; 632 | 633 | const args = msg.content.split(' '); 634 | const searchString = args.slice(1).join(' '); 635 | const url = args[1] ? args[1].replace(/<(.+)>/g, '$1') : ''; 636 | const serverQueue = queue.get(msg.guild.id); 637 | let command = msg.content.toLowerCase().split(' ')[0]; 638 | 639 | if (command === 'c+çal') { 640 | const voiceChannel = msg.member.voiceChannel; 641 | if (!voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() 642 | .setColor('RANDOM') 643 | .setDescription('❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); 644 | const permissions = voiceChannel.permissionsFor(msg.client.user); 645 | if (!permissions.has('CONNECT')) { 646 | return msg.channel.sendEmbed(new Discord.RichEmbed() 647 | .setColor('RANDOM') 648 | .setTitle('❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); 649 | } 650 | if (!permissions.has('SPEAK')) { 651 | return msg.channel.sendEmbed(new Discord.RichEmbed() 652 | .setColor('RANDOM') 653 | .setTitle('❎ | Şarkıyı Çalamıyorum Bu Kanalda Konuşma Yetkim Yok!')); 654 | } 655 | 656 | if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) { 657 | const playlist = await youtube.getPlaylist(url); 658 | const videos = await playlist.getVideos(); 659 | for (const video of Object.values(videos)) { 660 | const video2 = await youtube.getVideoByID(video.id); // eslint-disable-line no-await-in-loop 661 | await handleVideo(video2, msg, voiceChannel, true); // eslint-disable-line no-await-in-loop 662 | } 663 | return msg.channel.sendEmbed(new Discord.RichEmbed) 664 | .setTitle(`✅** | **${playlist.title}** Adlı Şarkı Kuyruğa Eklendi!**`) 665 | } else { 666 | try { 667 | var video = await youtube.getVideo(url); 668 | } catch (error) { 669 | try { 670 | var videos = await youtube.searchVideos(searchString, 10); 671 | let index = 0; 672 | 673 | msg.channel.sendEmbed(new Discord.RichEmbed() 674 | .setTitle('Şarkı Seçimi') 675 | .setDescription(`${videos.map(video2 => `**${++index} -** ${video2.title}`).join('\n')}`) 676 | .setFooter('Lütfen 1-10 Arasında Bir Rakam Seçiniz 10 Saniye İçinde Liste İptal Edilecektir!') 677 | .setFooter('Örnek Kullanım 1') 678 | .setColor('0x36393E')); 679 | msg.delete(5000) 680 | try { 681 | var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 11, { 682 | maxMatches: 1, 683 | time: 10000, 684 | errors: ['time'] 685 | }); 686 | } catch (err) { 687 | console.error(err); 688 | return msg.channel.sendEmbed(new Discord.RichEmbed() 689 | .setColor('0x36393E') 690 | .setDescription('❎ | **10 Saniye İçinde Şarkı Seçmediğiniz İçin seçim İptal Edilmiştir!**.')); 691 | } 692 | const videoIndex = parseInt(response.first().content); 693 | var video = await youtube.getVideoByID(videos[videoIndex - 1].id); 694 | } catch (err) { 695 | console.error(err); 696 | return msg.channel.sendEmbed(new Discord.RichEmbed() 697 | .setColor('0x36393E') 698 | .setDescription('❎ | YouTubede Böyle Bir Şarkı Yok !**')); 699 | } 700 | } 701 | return handleVideo(video, msg, voiceChannel); 702 | 703 | } 704 | } else if (command === 'c+gir') { 705 | return new Promise((resolve, reject) => { 706 | const voiceChannel = msg.member.voiceChannel; 707 | if (!voiceChannel || voiceChannel.type !== 'voice') return msg.reply('Kanalda Kimse Olmadığından Çıkıyorum!'); 708 | voiceChannel.join().then(connection => resolve(connection)).catch(err => reject(err)); 709 | }); 710 | } else if (command === 'c+geç') { 711 | if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() 712 | .setColor('RANDOM') 713 | .setDescription('❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); 714 | if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() 715 | .setColor('RANDOM') 716 | .setTitle('❎ **Şu An Zaten Şarkı Çalmıyorum!')); 717 | serverQueue.connection.dispatcher.end('**Sıradaki Şarkıya Geçildi!**'); 718 | return undefined; 719 | } else if (command === 'c+durdur') { 720 | if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() 721 | .setColor('RANDOM') 722 | .setDescription('❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); 723 | if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() 724 | .setColor('RANDOM') 725 | .setTitle('❎ | Şu An Zaten Şarkı Çalmıyorum!')); 726 | msg.channel.send(`:stop_button: **${serverQueue.songs[0].title}** Adlı Şarkı Durduruldu`); 727 | serverQueue.songs = []; 728 | serverQueue.connection.dispatcher.end('**Şarkı Bitti**'); 729 | return undefined; 730 | } else if (command === 'c+ses') { 731 | if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() 732 | .setColor('RANDOM') 733 | .setDescription('❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); 734 | if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() 735 | .setColor('RANDOM') 736 | .setTitle('❎ | Çalmayan Müziğin Sesine Bakamam')); 737 | if (!args[1]) return msg.channel.sendEmbed(new Discord.RichEmbed() 738 | .setTitle(`:loud_sound: Şuanki Ses Seviyesi: **${serverQueue.volume}**`) 739 | .setColor('RANDOM')) 740 | serverQueue.volume = args[1]; 741 | serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 5); 742 | return msg.channel.sendEmbed(new Discord.RichEmbed() 743 | .setTitle(`:loud_sound: Ses Seviyesi Ayarlanıyor: **${args[1]}**`) 744 | .setColor('RANDOM')); 745 | } else if (command === 'c+çalan') { 746 | if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() 747 | .setTitle("❎ | Şu An Şarkı Çalınmıyor!") 748 | .setColor('RANDOM')); 749 | return msg.channel.sendEmbed(new Discord.RichEmbed() 750 | .setColor('RANDOM') 751 | .setTitle("Çalan") 752 | .addField('Başlık', `[${serverQueue.songs[0].title}](${serverQueue.songs[0].url})`, true) 753 | .addField("Süre", `${serverQueue.songs[0].durationm}:${serverQueue.songs[0].durations}`, true)) 754 | } else if (command === 'c+sıra') { 755 | let index = 0; 756 | if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() 757 | .setTitle("❎ | **Şarkı Kuyruğunda Şarkı Bulunmamakta**") 758 | .setColor('RANDOM')); 759 | return msg.channel.sendEmbed(new Discord.RichEmbed() 760 | .setColor('RANDOM') 761 | .setTitle('Şarkı Kuyruğu') 762 | .setDescription(`${serverQueue.songs.map(song => `**${++index} -** ${song.title}`).join('\n')}`)) 763 | .addField('Şu Anda Çalınan: ' + `${serverQueue.songs[0].title}`); 764 | } else if (command === 'c+duraklat') { 765 | if (serverQueue && serverQueue.playing) { 766 | serverQueue.playing = false; 767 | serverQueue.connection.dispatcher.pause(); 768 | return msg.channel.sendEmbed(new Discord.RichEmbed() 769 | .setTitle("**:pause_button: Şarkı Durduruldu!**") 770 | .setColor('RANDOM')); 771 | } 772 | return msg.channel.send('❎ | **Şarkı Çalmıyor Şu An**'); 773 | } else if (command === 'c+devam') { 774 | if (serverQueue && !serverQueue.playing) { 775 | serverQueue.playing = true; 776 | serverQueue.connection.dispatcher.resume(); 777 | return msg.channel.sendEmbed(new Discord.RichEmbed() 778 | .setTitle("**:arrow_forward: Şarkı Devam Ediyor!**") 779 | .setColor('RANDOM')); 780 | } 781 | return msg.channel.sendEmbed(new Discord.RichEmbed() 782 | .setTitle("**❎ | Şu An Şarkı Çalınmıyor!**") 783 | .setColor('RANDOM')); 784 | } 785 | 786 | 787 | return undefined; 788 | }); 789 | 790 | async function handleVideo(video, msg, voiceChannel, playlist = false) { 791 | const serverQueue = queue.get(msg.guild.id); 792 | console.log(video); 793 | const song = { 794 | id: video.id, 795 | title: video.title, 796 | url: `https://www.youtube.com/watch?v=${video.id}`, 797 | durationh: video.duration.hours, 798 | durationm: video.duration.minutes, 799 | durations: video.duration.seconds, 800 | views: video.views, 801 | }; 802 | if (!serverQueue) { 803 | const queueConstruct = { 804 | textChannel: msg.channel, 805 | voiceChannel: voiceChannel, 806 | connection: null, 807 | songs: [], 808 | volume: 5, 809 | playing: true 810 | }; 811 | queue.set(msg.guild.id, queueConstruct); 812 | 813 | queueConstruct.songs.push(song); 814 | 815 | try { 816 | var connection = await voiceChannel.join(); 817 | queueConstruct.connection = connection; 818 | play(msg.guild, queueConstruct.songs[0]); 819 | } catch (error) { 820 | console.error(`❎ | **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`); 821 | queue.delete(msg.guild.id); 822 | return msg.channel.sendEmbed(new Discord.RichEmbed() 823 | .setTitle(`❎ | **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`) 824 | .setColor('RANDOM')) 825 | } 826 | } else { 827 | serverQueue.songs.push(song); 828 | console.log(serverQueue.songs); 829 | if (playlist) return undefined; 830 | return msg.channel.sendEmbed(new Discord.RichEmbed() 831 | .setTitle(`✅ | **${song.title}** Adlı Şarkı Kuyruğa Eklendi!`) 832 | .setColor('RANDOM')) 833 | } 834 | return undefined; 835 | } 836 | 837 | function play(guild, song) { 838 | const serverQueue = queue.get(guild.id); 839 | 840 | if (!song) { 841 | serverQueue.voiceChannel.leave(); 842 | queue.delete(guild.id); 843 | return; 844 | } 845 | console.log(serverQueue.songs); 846 | 847 | const dispatcher = serverQueue.connection.playStream(ytdl(song.url)) 848 | .on('end', reason => { 849 | if (reason === '❎ | **Yayın Akış Hızı Yeterli Değil.**') console.log('Şarkı Bitti.'); 850 | else console.log(reason); 851 | serverQueue.songs.shift(); 852 | play(guild, serverQueue.songs[0]); 853 | }) 854 | .on('error', error => console.error(error)); 855 | dispatcher.setVolumeLogarithmic(serverQueue.volume / 5); 856 | 857 | serverQueue.textChannel.sendEmbed(new Discord.RichEmbed() 858 | .setTitle("**🎙 Şarkı Başladı**",`https://i.hizliresim.com/RDm4EZ.png`) 859 | .setThumbnail(`https://i.ytimg.com/vi/${song.id}/default.jpg?width=80&height=60`) 860 | .addField('\nBaşlık', `[${song.title}](${song.url})`, true) 861 | .addField("\nSes Seviyesi", `${serverQueue.volume}%`, true) 862 | .addField("Süre", `${song.durationm}:${song.durations}`, true) 863 | .setColor('RANDOM')); 864 | } 865 | client.login(ayarlar.token) -------------------------------------------------------------------------------- /events/guildMemberAdd.js: -------------------------------------------------------------------------------- 1 | module.exports = member => { 2 | }; -------------------------------------------------------------------------------- /events/guildMemberRemove.js: -------------------------------------------------------------------------------- 1 | module.exports = member => { 2 | }; -------------------------------------------------------------------------------- /events/message.js: -------------------------------------------------------------------------------- 1 | const ayarlar = require('../ayarlar.json'); 2 | let talkedRecently = new Set(); 3 | module.exports = message => { 4 | if (talkedRecently.has(message.author.id)) { 5 | return; 6 | } 7 | talkedRecently.add(message.author.id); 8 | setTimeout(() => { 9 | talkedRecently.delete(message.author.id); 10 | }, 2500); 11 | let client = message.client; 12 | if (message.author.bot) return; 13 | if (!message.content.startsWith(ayarlar.prefix)) return; 14 | let command = message.content.split(' ')[0].slice(ayarlar.prefix.length); 15 | let params = message.content.split(' ').slice(1); 16 | let perms = client.elevation(message); 17 | let cmd; 18 | if (client.commands.has(command)) { 19 | cmd = client.commands.get(command); 20 | } else if (client.aliases.has(command)) { 21 | cmd = client.commands.get(client.aliases.get(command)); 22 | } 23 | if (cmd) { 24 | if (perms < cmd.conf.permLevel) return; 25 | cmd.run(client, message, params, perms); 26 | } 27 | 28 | }; -------------------------------------------------------------------------------- /events/ready.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk'); 2 | const moment = require('moment'); 3 | const Discord = require('discord.js'); 4 | const ayarlar = require('../ayarlar.json'); 5 | 6 | var prefix = ayarlar.prefix; 7 | 8 | module.exports = client => { 9 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT: Aktif, Komutlar yüklendi!`); 10 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT: ${client.user.username} İsmi İle Giriş Yapıldı!`); 11 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT:`); 12 | client.user.setStatus("dnd"); 13 | client.user.setActivity("Oynuyor", { type: "WATCHING" }); 14 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT: Oyun ismi ayarlandı!`); 15 | console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT: Şu an ` + client.channels.size + ` adet kanala, ` + client.guilds.size + ` adet sunucuya ve ` + client.guilds.reduce((a, b) => a + b.memberCount, 0).toLocaleString() + ` kullanıcıya hizmet veriliyor!`); 16 | }; 17 | -------------------------------------------------------------------------------- /jsonlar/kufurEngelle.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /komutlar/ban.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const client = new Discord.Client(); 3 | 4 | exports.run = (client, message, args) => { 5 | if (!message.guild) { 6 | const ozelmesajuyari = new Discord.RichEmbed() 7 | .setColor(0xFF0000) 8 | .setTimestamp() 9 | .setAuthor(message.author.username, message.author.avatarURL) 10 | .addField(':warning: Uyarı :warning:', '`ban` adlı komutu özel mesajlarda kullanamazsın.') 11 | return message.author.sendEmbed(ozelmesajuyari); } 12 | let guild = message.guild 13 | let reason = args.slice(1).join(' '); 14 | let user = message.mentions.users.first(); 15 | if (reason.length < 1) return message.reply('Ban sebebini yazmalısın.'); 16 | if (message.mentions.users.size < 1) return message.reply('Kimi banlayacağını yazmalısın.').catch(console.error); 17 | 18 | if (!message.guild.member(user).bannable) return message.reply('Yetkilileri banlayamam.'); 19 | message.guild.ban(user, 2); 20 | 21 | const embed = new Discord.RichEmbed() 22 | .setColor(0x00AE86) 23 | .setTimestamp() 24 | .addField('Eylem:', 'Sunucudan Yasaklama :bangbang: ') 25 | .addField('Yasaklanan Kullanıcı:', `${user.username}#${user.discriminator} (${user.id})`) 26 | .addField('Yasaklayan Yetkili:', `${message.author.username}#${message.author.discriminator}`) 27 | .addField('Yasaklama Sebebi:', reason); 28 | }; 29 | 30 | exports.conf = { 31 | enabled: true, 32 | guildOnly: true, 33 | aliases: [], 34 | permLevel: 2 35 | }; 36 | 37 | exports.help = { 38 | name: 'ban', 39 | description: 'İstediğiniz kişiyi sunucudan yasaklar.', 40 | usage: 'ban [kullanıcı] [sebep]' 41 | }; 42 | -------------------------------------------------------------------------------- /komutlar/capslock.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const db = require('quick.db') 3 | const ayarlar = require('../ayarlar.json') 4 | exports.run = async (client, message, args) => { 5 | 6 | let prefix = await require('quick.db').fetch(`prefix_${message.guild.id}`) || ayarlar.prefix 7 | if (!message.member.hasPermission("MANAGE_GUILD")) return message.channel.send(`:fire: Yeterli yetki, bulunmamakta!`) 8 | 9 | let capslock = await db.fetch(`capslock_${message.guild.id}`) 10 | if (capslock) { 11 | db.delete(`capslock_${message.guild.id}`) 12 | message.channel.send(`:fire: Capslock engelleme sistemi, kapatıldı!`) 13 | } 14 | 15 | if (!capslock) { 16 | db.set(`capslock_${message.guild.id}`, 'acik') 17 | message.channel.send(`:fire: Capslock engelleme sistemi, aktif!`) 18 | } 19 | }; 20 | exports.conf = { 21 | enabled: true, 22 | guildOnly: false, 23 | aliases: ['capslock-engel'], 24 | permLevel: 3 25 | }; 26 | exports.help = { 27 | name: 'capslock-engelleme', 28 | category: 'Moderasyon komutları!', 29 | description: 'Capslock kullanımını engeller.', 30 | usage: 'capslock-engelleme' 31 | }; -------------------------------------------------------------------------------- /komutlar/giriş-çıkış-ayarla.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const fs = require('fs'); 3 | const ayarlar = require('../ayarlar.json'); 4 | let kanal = JSON.parse(fs.readFileSync("./ayarlar/glog.json", "utf8")); 5 | 6 | var prefix = ayarlar.prefix; 7 | 8 | exports.run = async (client, message, args) => { 9 | if (!message.member.hasPermission("ADMINISTRATOR")) return message.reply(`Bu Komutu Kullanabilmek İçin **Yönetici** İznine Sahip Olmalısın!`); 10 | 11 | let channel = message.mentions.channels.first() 12 | if (!channel) { 13 | message.channel.send(':x: | Doğru Kullanım: `c+giriş-çıkış-ayarla #kanal`') 14 | return 15 | } 16 | if(!kanal[message.guild.id]){ 17 | kanal[message.guild.id] = { 18 | resim: channel.id 19 | }; 20 | } 21 | fs.writeFile("./ayarlar/glog.json", JSON.stringify(kanal), (err) => { 22 | console.log(err) 23 | }) 24 | message.channel.send(`:white_check_mark: | ** Resimli Hoşgeldin - Güle Güle kanalı ${channel} Olarak Ayarlandı.** `) 25 | } 26 | 27 | exports.conf = { 28 | enabled: true, 29 | guildOnly: false, 30 | aliases: ['giriş-çıkış'], 31 | permLevel: 2 32 | } 33 | 34 | exports.help = { 35 | name: 'giriş-çıkış-ayarla', 36 | description: 'Giriş Çıkış Kanalını Ayarlar.', 37 | usage: 'gç-ayarla <#kanal>' 38 | } -------------------------------------------------------------------------------- /komutlar/kayıt.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | module.exports.run = async (client, msg, args) => { 3 | 4 | let kayıt = msg.guild.member(msg.mentions.users.first()) || msg.guild.member(args[0]); 5 | if (!kayıt) return msg.channel.send({ 6 | embed: { 7 | color: Math.floor(Math.random() * (0xFFFFFF + 1)), 8 | description: ("Kendini etiketle!") 9 | } 10 | }) 11 | 12 | let role = msg.guild.roles.find(r => r.name === "🤔|Üye"); 13 | if (!role) { 14 | try { 15 | role = await msg.guild.Role({ 16 | }); 17 | 18 | msg.guild.channels.forEach(async (channel, id) => { 19 | await channel.overwritePermissions(role, { 20 | SEND_MESSAGES: false, 21 | ADD_REACTIONS: false 22 | }); 23 | }); 24 | } catch (e) { 25 | console.log(e.stack); 26 | } 27 | 28 | } 29 | 30 | if (kayıt.roles.has(role.id)) return msg.channel.send({ 31 | embed: { 32 | color: Math.floor(Math.random() * (0xFFFFFF + 1)), 33 | description: (" Zaten önceden kayıt olmuşsun, botu mu bozcan git yav kardeşim ") 34 | } 35 | }); 36 | 37 | await kayıt.addRole(role); 38 | msg.channel.send({ 39 | embed: { 40 | color: Math.floor(Math.random() * (0xFFFFFF + 1)), 41 | description: ("Tebrikler kayıt oldunuz, yönlendiriliyorsunuz bekleyin") 42 | } 43 | }) 44 | } 45 | exports.conf = { 46 | enabled: true, 47 | guildOnly: true, 48 | aliases: [], 49 | permLevel: 0 50 | }; 51 | 52 | exports.help = { 53 | name: 'kayıt-ol', 54 | description: 'Sunucuya kayıt olursunuz!', 55 | usage: 'kayıt-ol' 56 | }; -------------------------------------------------------------------------------- /komutlar/kayıtol.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const client = new Discord.Client(); 3 | 4 | exports.run = function(client, message, args) { 5 | 6 | let k = client.channels.get("BURAYA İD GELECEK") //LOG KANALI İD SİNİ YAZ 7 | let misafir = message.guild.roles.get("BURAYA İD GELECEK") //ALINACAK ROL İD SİNİ YAZ 8 | let üye = message.guild.roles.get("BURAYA İD GELECEK") //VERİLECEK ROL İD 9 | let kayıtkanal = message.guild.channels.find(`id`, `BURAYA İD GELECEK`) //KAYITIN OLUNACAĞI KANAL İD 10 | 11 | 12 | let yaş = args[0]; 13 | if (!yaş) return message.reply("yaşını yazmadı.") 14 | 15 | let isim = args[1]; 16 | if (!isim) return message.reply("ismini yazmadın.") 17 | 18 | message.member.addRole(üye) 19 | message.member.removeRole(misafir) 20 | message.member.setNickname(yaş + " | " + isim) 21 | 22 | const e = new Discord.RichEmbed() 23 | .setTitle("Kayıt Bildiri") 24 | .addField("Kullanıcı", message.author.tag) 25 | .addField("Kullanıcı (ID)", message.author.id) 26 | .addField("Yaş", yaş) 27 | k.send(e) 28 | 29 | } 30 | 31 | exports.conf = { 32 | 33 | enabled: true, 34 | guildOnly: true, 35 | aliases: ["kayıt"], 36 | permLevel: 0 37 | }; 38 | 39 | exports.help = { 40 | name: "isimyaş", 41 | description: "s", 42 | usage: "kayıt " 43 | }; -------------------------------------------------------------------------------- /komutlar/kick.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | exports.run = (client, message, args) => { 3 | if (!message.guild) { 4 | const ozelmesajuyari = new Discord.RichEmbed() 5 | .setColor(0xFF0000) 6 | .setTimestamp() 7 | .setAuthor(message.author.username, message.author.avatarURL) 8 | .addField(':warning: Uyarı :warning:', '`kick` adlı komutu özel mesajlarda kullanamazsın.') 9 | return message.author.send(ozelmesajuyari); } 10 | let guild = message.guild 11 | let reason = args.slice(1).join(' '); 12 | let user = message.mentions.users.first(); 13 | if (message.mentions.users.size < 1) return message.reply('Atılacak Kişiyi Etiketleyiniz.').catch(console.error); 14 | 15 | if (!message.guild.member(user).kickable) return message.reply('Yetkilileri sunucudan atamam.'); 16 | message.guild.member(user).kick(); 17 | 18 | }; 19 | 20 | exports.conf = { 21 | enabled: true, 22 | guildOnly: true, 23 | aliases: ['at'], 24 | permLevel: 2 25 | }; 26 | 27 | exports.help = { 28 | name: 'kick', 29 | description: 'İstediğiniz kişiyi sunucudan atar.', 30 | usage: 'kick [kullanıcı] [sebep]' 31 | }; -------------------------------------------------------------------------------- /komutlar/küfür-engel.js: -------------------------------------------------------------------------------- 1 | const db = require('quick.db') 2 | const Discord = require('discord.js') 3 | 4 | exports.run = async (bot, message, args) => { 5 | if (!args[0]) return message.channel.send('Hey Bu Ayarı Kullanabilmek için `aç` yada `kapat` yazmalısın!') 6 | if (!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('`SUNUCUYU_YÖNET` yetkisine sahip olmalısın!') 7 | 8 | if (args[0] == 'aç') { 9 | var i = await db.set(`küfür_${message.guild.id}`, 'acik') 10 | 11 | message.channel.send('Küfür Engel başarıyla açıldı! `Üyeleri Yasakla` yetkisine sahip olanların küfür engellenmiyecektir.') 12 | } 13 | 14 | if (args[0] == 'kapat') { 15 | var i = await db.set (`küfür_${message.guild.id}`, 'kapali') 16 | message.channel.send('Küfür Engel başarıyla kapatıldı! Artık herkes küfür yapabilir.') 17 | } 18 | 19 | 20 | }; 21 | 22 | exports.conf = { 23 | enabled: true, 24 | guildOnly: false, 25 | aliases: ['küfr','küfür', 'küfür-engel'], 26 | permLevel: 0 27 | }; 28 | 29 | exports.help = { 30 | name: 'küfürengel', 31 | description: '[Admin Komutu]', 32 | usage: 'küfürengel' 33 | }; -------------------------------------------------------------------------------- /komutlar/metin-kanal-aç.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | 3 | exports.run = (client, message, args) => { 4 | let kanal = args.slice(0).join(' '); 5 | let guild = message.guild; 6 | if (!message.member.hasPermission("MANAGE_CHANNELS")) return message.reply('Bunun için gerekli iznin yok'); // Bunu Başkasıda Kullana Bilmesi İçin Kanalları Yönet Yetkisi Verin 7 | if (kanal.length < 1) return message.reply('Lütfen oluşturacağım kanalın adını yaz.'); 8 | message.delete(); 9 | guild.createChannel(kanal, 'text'); 10 | message.channel.send("Metin Kanalı Oluşturuldu"); 11 | }; 12 | 13 | exports.conf = { 14 | enabled: true, 15 | guildOnly: false, 16 | aliases: ['yazı-kanal-aç'], 17 | permLevel: 0 18 | }; 19 | 20 | exports.help = { 21 | name: 'metin-kanal-aç', 22 | description: 'Bir ses kanalı açar', 23 | usage: 'ses-kanal-aç [açmak istediğiniz kanalın adı]' 24 | }; -------------------------------------------------------------------------------- /komutlar/mod-log.js: -------------------------------------------------------------------------------- 1 | 2 | const Discord = require('discord.js'); 3 | const ayarlar = require('../ayarlar.json'); 4 | const db = require('quick.db') 5 | 6 | const prefix = ayarlar.prefix; 7 | 8 | exports.run = async (client, message, args) => { 9 | 10 | if (!message.member.hasPermission("ADMINISTRATOR")) return message.reply(`:warning: Bunu yapabilmek için gerekli yetkiye sahip değilsiniz!`) 11 | 12 | let modlogs = db.get(`modlogkanaly_${message.guild.id}`) 13 | 14 | if(!modlogs) { 15 | let kanal = message.mentions.channels.first(); 16 | if(!kanal) return message.reply(`:warning: Lütfen bir kanal giriniz! \nDoğru Kullanım; \`${prefix}modlogayarla <#kanal>\``) 17 | 18 | db.set(`modlogkanaly_${message.guild.id}`, kanal.id) 19 | const modlogkanal = message.guild.channels.find(kanal => kanal.id === modlogs); 20 | message.channel.send(`:white_check_mark: Modlog kanalı başarılı bir şekilde ayarlandı.`) 21 | 22 | } else { 23 | if(modlogs) { 24 | 25 | const modlogkanal = message.guild.channels.find(kanal => kanal.id === modlogs); 26 | return message.channel.send(`:warning: Bu sunucuda daha önceden modlog kanalı ayarlanmış. Sıfırlamak için: ${prefix}modlogayarla-sıfırla\nAyarlanan kanal: \`${modlogkanal.name}\``) 27 | 28 | } 29 | } 30 | } 31 | exports.conf = { 32 | enabled: true, 33 | guildOnly: false, 34 | aliases: ['mod-log'], 35 | permLevel: 0 36 | } 37 | 38 | exports.help = { 39 | name: 'modlogayarla', 40 | description: 'Log kanalını belirler.', 41 | usage: 'gkanal <#kanal>' 42 | } -------------------------------------------------------------------------------- /komutlar/oynuyor-reklam.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const ayarlar = require('../ayarlar.json') 3 | 4 | exports.run = (client, message, args) => { 5 | 6 | if (!message.member.hasPermission("MANAGE_MESSAGES")) return message.reply(`Bu komutu kullanabilmek için **Mesajları Yönet** iznine sahip olmalısın!`); 7 | 8 | const members = message.guild.members.filter(member => member.user.presence.game && /(discord|http|.com|.net|.org|invite|İnstagram|Facebook|watch|Youtube|youtube|facebook|instagram)/g.test(member.user.presence.game.name)); 9 | const memberss = message.guild.members.filter(member => member.user.username && /(discord|http|.com|.net|.org|invite|İnstagram|Facebook|watch|Youtube|youtube|facebook|instagram)/g.test(member.user.username)); 10 | const embed = new Discord.RichEmbed() 11 | .addField('Oynuyor Mesajı Reklam İçeren Kullanıcılar', members.map(member => `${member} = ${member.user.presence.game.name}`).join("\n") || "Kimsenin oynuyor mesajı reklam içermiyor.") 12 | .addField('Kullanıcı Adı Reklam İçeren Kullanıcılar', memberss.map(member => `${member} = ${member.user.username}`).join("\n") || "Kimsenin kullanıcı adı reklam içermiyor.") 13 | .setColor("RANDOM") 14 | message.channel.send({embed}) 15 | } 16 | 17 | exports.conf = { 18 | enabled: true, 19 | guildOnly: true, 20 | aliases: ['reklam-ara', 'reklamara', 'reklamtaraması'], 21 | permLevel: 1 22 | } 23 | 24 | exports.help = { 25 | name: 'reklam-taraması', 26 | category: 'moderasyon', 27 | description: 'Kullanıcıların Oynuyor mesajındaki ve Kullanıcı adlarındaki reklamları tarar.', 28 | usage: 'reklam-taraması' 29 | } -------------------------------------------------------------------------------- /komutlar/reboot.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | 3 | 4 | exports.run = function(client, message) { 5 | 6 | message.channel.send("**Bot Yeniden Başlatıldı**").then(msg => { 7 | process.exit(0); 8 | }); 9 | 10 | }; 11 | 12 | exports.conf = { 13 | enabled: true, 14 | guildOnly: false, 15 | aliases: ['rr','restart'], 16 | permLevel: 3 17 | }; 18 | 19 | exports.help = { 20 | name: 'reboot', 21 | description: 'Botu yeniden başlatır', 22 | usage: 'reboot' 23 | }; 24 | -------------------------------------------------------------------------------- /komutlar/reklam-engel.js: -------------------------------------------------------------------------------- 1 | const db = require('quick.db') 2 | const Discord = require('discord.js') 3 | 4 | exports.run = async (bot, message, args) => { 5 | if (!args[0]) return message.channel.send('Hey Bu Ayarı Kullanabilmek için `aç` yada `kapat` yazmalısın!') 6 | if (!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('`SUNUCUYU_YÖNET` yetkisine sahip olmalısın!') 7 | 8 | if (args[0] == 'aç') { 9 | db.set(`reklam_${message.guild.id}`, 'acik').then(i => { 10 | message.channel.send('Reklam Engel başarıyla açıldı! `Üyeleri Yasakla` yetkisine sahip olanların reklamı engellenmicektir.') 11 | }) 12 | } 13 | if (args[0] == 'kapat') { 14 | db.set(`reklam_${message.guild.id}`, 'kapali').then(i => { 15 | message.channel.send('Reklam Engel başarıyla kapatıldı! Artık herkes reklam yapabilir.') 16 | }) 17 | } 18 | 19 | }; 20 | 21 | exports.conf = { 22 | enabled: true, 23 | guildOnly: false, 24 | aliases: ['advertisement','reklam'], 25 | permLevel: 0 26 | }; 27 | 28 | exports.help = { 29 | name: 'reklamengel', 30 | description: '[Admin Komutu]', 31 | usage: 'reklam-engelleme' 32 | }; -------------------------------------------------------------------------------- /komutlar/reklam-taraması.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const ayarlar = require('../ayarlar.json') 3 | 4 | exports.run = (client, message, args) => { 5 | 6 | if (!message.member.hasPermission("MANAGE_MESSAGES")) return message.reply(`Bu komutu kullanabilmek için **Mesajları Yönet** iznine sahip olmalısın!`); 7 | 8 | const members = message.guild.members.filter(member => member.user.presence.game && /(discord|http|.com|.net|.org|invite|İnstagram|Facebook|watch|Youtube|youtube|facebook|instagram)/g.test(member.user.presence.game.name)); 9 | const memberss = message.guild.members.filter(member => member.user.username && /(discord|http|.com|.net|.org|invite|İnstagram|Facebook|watch|Youtube|youtube|facebook|instagram)/g.test(member.user.username)); 10 | const embed = new Discord.RichEmbed() 11 | .addField('Oynuyor Mesajı Reklam İçeren Kullanıcılar', members.map(member => `${member} = ${member.user.presence.game.name}`).join("\n") || "Kimsenin oynuyor mesajı reklam içermiyor.") 12 | .addField('Kullanıcı Adı Reklam İçeren Kullanıcılar', memberss.map(member => `${member} = ${member.user.username}`).join("\n") || "Kimsenin kullanıcı adı reklam içermiyor.") 13 | .setColor("RANDOM") 14 | message.channel.send({embed}) 15 | } 16 | 17 | exports.conf = { 18 | enabled: true, 19 | guildOnly: true, 20 | aliases: ['reklam-ara', 'reklamara', 'reklamtaraması'], 21 | permLevel: 1 22 | } 23 | 24 | exports.help = { 25 | name: 'reklam-taraması', 26 | category: 'moderasyon', 27 | description: 'Kullanıcıların Oynuyor mesajındaki ve Kullanıcı adlarındaki reklamları tarar.', 28 | usage: 'reklam-taraması' 29 | } -------------------------------------------------------------------------------- /komutlar/rol-bilgi.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const superagent = require("superagent"); 3 | 4 | exports.run = async (client,message,args) => { 5 | var rol = message.content.split(" ").slice(1).join(" "); 6 | let role = message.guild.roles.find("name", `${rol}`) 7 | var hata = new Discord.RichEmbed() 8 | .setColor("#36393F") 9 | .setDescription("❌ Lütfen Bir Rol İsmi Yazın `Örnek: mb!rolbilgi Üye` **Not: Kendinizden Yüksek Rollere Bakamassınız Ayrıca Rolü Etiketlemeyin Sadece İsmini Yazın** "); 10 | if(!role) return message.channel.send(hata); 11 | var moment = require("moment"); 12 | var temps = moment(message.createdTimestamp).format("LLLL"); 13 | var roleinfoEmbed = new Discord.RichEmbed() 14 | .setColor('RANDOM') 15 | .addField('✏ Rol İsmi', role.name, true) 16 | .addField('🆔 ID', role.id, true) 17 | .addField('👥 Role Sahip Kullanıcılar', role.members.size, true) 18 | .addField('💙 Renk', role.hexColor, true) 19 | .addField('📣 Etiketleme?', role.mentionable ? '\nEvet' : 'Hayır', true) 20 | .addField('📅 Oluşturulduğu Zaman', moment(role.createdAt).format("LL"), true) 21 | .setFooter(""); 22 | message.channel.send(roleinfoEmbed) 23 | } 24 | exports.conf = { 25 | enabled: true, 26 | guildOnly: true, 27 | aliases: ['rolinfo', 'rolhakkında', 'rolbilgi'], 28 | permLevel: 0 29 | }; 30 | 31 | exports.help = { 32 | name: 'rolinfo', 33 | description: 'rolinfo | Rol hakkında bilgi verir.', 34 | usage: 'rolinfo ' 35 | }; 36 | -------------------------------------------------------------------------------- /komutlar/rol-ver.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | exports.run = (client, message, args) => { 3 | 4 | if (!message.guild) { 5 | const ozelmesajuyari = new Discord.RichEmbed() 6 | .setColor(0xFF0000) 7 | .setTimestamp() 8 | .setAuthor(message.author.username, message.author.avatarURL) 9 | .addField(':warning: **Uyarı** :warning:', '`rol-ver` **adlı komutu özel mesajlarda kullanamazsın.**') 10 | return message.author.sendEmbed(ozelmesajuyari); } 11 | if (!message.member.hasPermission("ADMINISTRATOR")) return message.reply('Bunun için gerekli iznin yok'); 12 | let guild = message.guild 13 | let rol = message.mentions.roles.first() 14 | let user = message.mentions.members.first() 15 | 16 | if (!user) return message.reply('**Kime Rol Verceğimi Yazmadın!**').catch(console.error); 17 | if (rol.length < 1) return message.reply('**Rol idsini belirtmedin**'); 18 | user.addRole(rol); 19 | 20 | }; 21 | 22 | exports.conf = { 23 | enabled: true, 24 | guildOnly: true, 25 | aliases: [], 26 | permLevel: 2 27 | }; 28 | 29 | exports.help = { 30 | name: 'rol-ver', 31 | description: 'İstediğiniz kişiyi istediğiniz rolü verir.', 32 | usage: 'rol-ver [kullanıcı] [@rol]' 33 | }; 34 | const client = new Discord.Client(); 35 | const db = require('quick.db') 36 | client.on("message", async message => { 37 | if(message.author.bot) return; 38 | let prefix = await db.fetch(`prefix_${message.guild.id}`) 39 | if(message.content.indexOf(prefix) !== 0) return; 40 | 41 | let messageArray = message.content.split(" "); 42 | let cmd = messageArray[0]; 43 | 44 | 45 | const args = message.content.slice(prefix.length).trim().split(/ +/g); 46 | const command = args.shift().toLowerCase(); 47 | 48 | let commandfile = client.commands.get(cmd.slice(prefix.length)); 49 | if(commandfile) commandfile.run(client, message, args) 50 | 51 | }) -------------------------------------------------------------------------------- /komutlar/roller.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const loglar = require('../loglar.json') 3 | 4 | exports.run = (client, message, args) => { 5 | try { 6 | const embed = new Discord.RichEmbed() 7 | .addField(`Sunucuda Bulunan Roller`, message.guild.roles.filter(r => r.name !== "@everyone").map(r => r).join(' | ')) 8 | .setColor(0x00ffff) 9 | .setTimestamp() 10 | message.channel.send({embed}) 11 | } catch (err) { 12 | const embed = new Discord.RichEmbed() 13 | .addField(`Sunucuda Bulunan Roller`, 'Üzgünüm ama sunucunuzda ya çok fazla rol bulunuyor ya da hiç rol bulunmuyor. Bunları gösteremiyorum. Discord buna izin vermiyor.') 14 | .setColor(0x00ffff) 15 | .setTimestamp() 16 | message.channel.send({embed}) 17 | } 18 | } 19 | 20 | exports.conf = { 21 | enabled: true, 22 | guildOnly: true, 23 | aliases: ['roles'], 24 | permLevel: 0, 25 | kategori: 'kullanıcı' 26 | } 27 | 28 | exports.help = { 29 | name: 'roller', 30 | description: 'Sunucuda bulunan rolleri gösterir.', 31 | usage: 'roller' 32 | } -------------------------------------------------------------------------------- /komutlar/sayaç-kapat.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const fs = require('fs') 3 | 4 | exports.run = async (client, message, args) => { 5 | let sayac = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 6 | if(!sayac[message.guild.id]) { 7 | const embed = new Discord.RichEmbed() 8 | .setDescription(`Sayaç, ayarlanmadığından dolayı sıfırlanamaz!`) 9 | .setFooter('Voxy, iyi eğlenceler diler!', client.user.avatarURL) 10 | .setColor("RANDOM") 11 | .setTimestamp() 12 | message.channel.send({embed}) 13 | return 14 | } 15 | delete sayac[message.guild.id] 16 | fs.writeFile("./ayarlar/sayac.json", JSON.stringify(sayac), (err) => { 17 | console.log(err) 18 | }) 19 | const embed = new Discord.RichEmbed() 20 | .setDescription(`Sayaç, başarılı bir şekilde sıfırlandı!`) 21 | .setFooter('MG Blocker`s, iyi eğlenceler diler!', client.user.avatarURL) 22 | .setColor("RANDOM") 23 | .setTimestamp() 24 | message.channel.send({embed}) 25 | return 26 | } 27 | 28 | exports.conf = { 29 | enabled: true, 30 | guildOnly: false, 31 | aliases: ['sayaçsıfırla'], 32 | permLevel: 0 33 | }; 34 | 35 | exports.help = { 36 | name: 'sayaç-sıfırla', 37 | description: 'Sayaçı, sıfırlar!', 38 | usage: 'sayaç-sıfırla' 39 | }; -------------------------------------------------------------------------------- /komutlar/sayaç.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | const db = require('quick.db') 3 | const fs = require('fs') 4 | 5 | exports.run = async (client, message, args) => { 6 | if(!args[0]) { 7 | const embed = new Discord.RichEmbed() 8 | .setDescription(`Lütfen geçerli bir sayı belirtiniz!`) 9 | .setColor("RANDOM") 10 | .setTimestamp() 11 | message.channel.send({embed}) 12 | return 13 | } 14 | 15 | let profil = JSON.parse(fs.readFileSync("./ayarlar/sayac.json", "utf8")); 16 | var mentionedChannel = message.mentions.channels.first(); 17 | const s1 = new Discord.RichEmbed() 18 | .setDescription('Sayaç kanalı belirtmelisiniz!') 19 | .setColor("RANDOM") 20 | .setTimestamp() 21 | if (!mentionedChannel && args[0] !== "sıfırla") return message.channel.send(s1); 22 | 23 | 24 | if(args[0] === "sıfırla") { 25 | if(!profil[message.guild.id]) { 26 | const embed = new Discord.RichEmbed() 27 | .setDescription(`Sayaç, ayarlanmadığından dolayı sıfırlanamaz!`) 28 | .setColor("RANDOM") 29 | .setTimestamp() 30 | message.channel.send({embed}) 31 | return 32 | } 33 | delete profil[message.guild.id] 34 | fs.writeFile("./ayarlar/sayac.json", JSON.stringify(profil), (err) => { 35 | console.log(err) 36 | }) 37 | const embed = new Discord.RichEmbed() 38 | .setDescription(`Sayaç, başarılı bir şekilde sıfırlandı!`) 39 | .setColor("RANDOM") 40 | .setTimestamp() 41 | message.channel.send({embed}) 42 | return 43 | } 44 | 45 | if(isNaN(args[0])) { 46 | const embed = new Discord.RichEmbed() 47 | .setDescription(`Lütfen, geçerli bir sayı belirtiniz!`) 48 | .setColor("RANDOM") 49 | .setTimestamp() 50 | message.channel.send({embed}) 51 | return 52 | } 53 | 54 | if(args[0] <= message.guild.memberCount) { 55 | const embed = new Discord.RichEmbed() 56 | .setDescription(`Lütfen, [${message.guild.memberCount}] rakamlı sayıdan daha yüksek bir değer belirtiniz!`) 57 | .setColor("RANDOM") 58 | .setTimestamp() 59 | message.channel.send({embed}) 60 | return 61 | } 62 | 63 | if(!profil[message.guild.id]){ 64 | profil[message.guild.id] = { 65 | sayi: args[0], 66 | kanal: mentionedChannel.id 67 | }; 68 | } 69 | 70 | profil[message.guild.id].sayi = args[0] 71 | profil[message.guild.id].kanal = mentionedChannel.id 72 | 73 | fs.writeFile("./ayarlar/sayac.json", JSON.stringify(profil), (err) => { 74 | console.log(err) 75 | }) 76 | 77 | const embed = new Discord.RichEmbed() 78 | .setDescription(`Sayaç, başarılı bir şekilde \`${args[0]}\` olarak ayarlandı, sayaç kanalı ise ${mentionedChannel} olarak ayarlandı!`) 79 | .setFooter('MadBot, iyi eğlenceler diler!', client.user.avatarURL) 80 | .setColor("RANDOM") 81 | .setTimestamp() 82 | message.channel.send({embed}) 83 | } 84 | 85 | exports.conf = { 86 | enabled: true, 87 | guildOnly: true, 88 | aliases: ['sayaç-ayarla'], 89 | permLevel: 2, 90 | kategori: "moderasyon" 91 | } 92 | 93 | exports.help = { 94 | name: 'sayaç-ayarla', 95 | description: 'Sayaç, ayarlar!', 96 | usage: 'sayaç-ayarla [sayı/sıfırla] [kanal]' 97 | } -------------------------------------------------------------------------------- /komutlar/ses-kanal-aç.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | 3 | exports.run = (client, message, args) => { 4 | let kanal = args.slice(0).join(' '); 5 | let guild = message.guild; 6 | if (!message.member.hasPermission("MANAGE_CHANNELS")) return message.reply('Bunun için gerekli iznin yok'); // Bunu Başkasıda Kullana Bilmesi İçin Kanalları Yönet Yetkisi Verin 7 | if (kanal.length < 1) return message.reply('Lütfen oluşturacağım kanalın adını yaz.'); 8 | message.delete(); 9 | guild.createChannel(kanal, 'voice'); 10 | message.channel.send("Ses Kanalı Oluşturuldu"); 11 | }; 12 | 13 | exports.conf = { 14 | enabled: true, 15 | guildOnly: false, 16 | aliases: ['ses-kanal-aç'], 17 | permLevel: 3 18 | }; 19 | 20 | exports.help = { 21 | name: 'ses-kanal-aç', 22 | description: 'Bir ses kanalı açar', 23 | usage: 'ses-kanal-aç [açmak istediğiniz kanalın adı]' 24 | }; -------------------------------------------------------------------------------- /komutlar/temizle.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | let owner = "526315434752999440" 3 | 4 | 5 | exports.run = function(client, message, args) { 6 | if (!message.guild) { 7 | const ozelmesajuyari = new Discord.RichEmbed() 8 | .setColor(0xD97634) 9 | .setTimestamp() 10 | .setAuthor(message.author.username, message.author.avatarURL) 11 | .addField(':warning: Uyarı :warning:', '`temizle` adlı komutu özel mesajlarda kullanamazsın.') 12 | return message.author.sendEmbed(ozelmesajuyari); } 13 | if (!message.member.hasPermission("MANAGE_MESSAGES")) { 14 | const botunmesajyonet = new Discord.RichEmbed() 15 | .setColor(0xD97634) 16 | .setTimestamp() 17 | .setAuthor(message.author.username, message.author.avatarURL) 18 | .addField(':warning: Uyarı :warning:', 'Mesajları silebilmen için `Mesajları Yönet` yetkisine sahip olmalısın.') 19 | return message.author.sendEmbed(botunmesajyonet); 20 | } 21 | let messagecount = parseInt(args.join(' ')); 22 | message.channel.fetchMessages({ 23 | limit: messagecount 24 | }).then(messages => message.channel.bulkDelete(messages)); 25 | const sohbetsilindi = new Discord.RichEmbed() 26 | .setColor('RANDOM') 27 | .setTimestamp() 28 | .addField('**Eylem: **', 'Sohbet silme') 29 | .addField('**Yetkili: **', message.author.username) 30 | .addField('**Sonuç: **', `Başarılı`) 31 | .addField('**Kaç Adet**', + messagecount) 32 | return message.channel.sendEmbed(sohbetsilindi).then(msg => msg.delete(5000)); 33 | console.log("**Sohbet " + message.member + " tarafından silindi! **").then(msg => msg.delete(5000)); 34 | }; 35 | 36 | exports.conf = { 37 | enabled: true, 38 | guildOnly: true, 39 | aliases: ['temizle'], 40 | permLevel: 0 41 | }; 42 | 43 | exports.help = { 44 | name: 'temizle', 45 | description: 'Belirlenen miktar mesajı siler.', 46 | usage: 'temizle ' 47 | }; -------------------------------------------------------------------------------- /komutlar/unban.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const client = new Discord.Client(); 3 | 4 | exports.run = (client, message, args) => { 5 | 6 | if (!message.guild) { 7 | const ozelmesajuyari = new Discord.RichEmbed() 8 | .setColor(0xFF0000) 9 | .setTimestamp() 10 | .setAuthor(message.author.username, message.author.avatarURL) 11 | .addField(':warning: Uyarı :warning:', '`unban` adlı komutu özel mesajlarda kullanamazsın.') 12 | return message.author.send(ozelmesajuyari); } 13 | let guild = message.guild 14 | let reason = args.slice(1).join(' '); 15 | client.unbanReason = reason; 16 | client.unbanAuth = message.author; 17 | let user = args[0]; 18 | let modlog = guild.channels.find('name', 'ceza-takip-listesi'); 19 | if (!modlog) return message.reply('`ceza-takip-listesi` kanalını bulamıyorum.'); 20 | if (reason.length < 1) return message.reply('Ban kaldırma sebebini yazmalısın.'); 21 | if (!user) return message.reply('Banı kaldırılacak kişinin ID numarasını yazmalısın.').catch(console.error); 22 | message.guild.unban(user); 23 | 24 | const embed = new Discord.RichEmbed() 25 | .setColor(0x00AE86) 26 | .setTimestamp() 27 | .addField('Eylem:', 'Ban kaldırma') 28 | .addField('Kullanıcı:', `${user.username}#${user.discriminator} (${user.id})`) 29 | .addField('Yetkili:', `${message.author.username}#${message.author.discriminator}`) 30 | .addField('Sebep', reason); 31 | return guild.channels.get(modlog.id).send(embed); 32 | }; 33 | 34 | exports.conf = { 35 | enabled: true, 36 | guildOnly: true, 37 | aliases: [], 38 | permLevel: 2 39 | }; 40 | 41 | exports.help = { 42 | name: 'unban', 43 | description: 'İstediğiniz kişinin banını kaldırır.', 44 | usage: 'unban [kullanıcı] [sebep]' 45 | }; 46 | -------------------------------------------------------------------------------- /komutlar/yardım.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | 3 | 4 | exports.run = function(client, message) { 5 | const embed = new Discord.RichEmbed() 6 | .setColor('RANDOM') 7 | .setTitle('» Komutlar') 8 | .setTimestamp() 9 | .addField('» Kendin Doldur ') 10 | .addField('» Kendin Doldur') 11 | .addField('» Kendin Doldur') 12 | .addField('» Kendin Doldur ') 13 | .addField('» Kendin Doldur')// daha da eklemek için .addField('yazacağın sey') diye alt alta ekle 14 | .setFooter('Botun Ismi', client.user.avatarURL) 15 | .setTimestamp() 16 | .setThumbnail(client.user.avatarURL) 17 | message.channel.send(embed) 18 | }; 19 | 20 | exports.conf = { 21 | enabled: true, 22 | guildOnly: false, 23 | aliases: [], 24 | permLevel: 0 25 | }; 26 | 27 | exports.help = { 28 | name: 'yardım', 29 | description: 'Tüm komutları gösterir.', 30 | usage: 'yardım' 31 | }; -------------------------------------------------------------------------------- /loglar.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discord.js-guard-bot", 3 | "version": "1.0.0", 4 | "main": "bot.js", 5 | "description": "discord.js-guard-bot", 6 | "scripts": { 7 | "start": "node bot.js" 8 | }, 9 | "dependencies": { 10 | "chalk": "^3.0.0", 11 | "common-tags": "^1.8.0", 12 | "discord.js": "^11.5.1", 13 | "discord.js-commando": "^0.10.0", 14 | "express": "^4.17.1", 15 | "ffmpeg": "^0.0.4", 16 | "fs": "^0.0.2", 17 | "hastebin-gen": "^2.0.5", 18 | "jimp": "^0.9.3", 19 | "moment": "^2.24.0", 20 | "ms": "^2.1.2", 21 | "opusscript": "^0.0.7", 22 | "quick.db": "^6.3.2", 23 | "request": "^2.88.0", 24 | "simple-youtube-api": "^5.2.1", 25 | "superagent": "^5.2.1", 26 | "ytdl": "^1.1.0", 27 | "ytdl-core": "^1.0.7" 28 | }, 29 | "engines": { 30 | "node": "12.x" 31 | }, 32 | "license": "MIT", 33 | "keywords": [ 34 | "CodAre" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /util/eventLoader.js: -------------------------------------------------------------------------------- 1 | const reqEvent = (event) => require(`../events/${event}`); 2 | module.exports = client => { 3 | client.on('ready', () => reqEvent('ready')(client)); 4 | client.on('message', reqEvent('message')); 5 | }; --------------------------------------------------------------------------------