const { stripIndents } = require('common-tags'); let oyndurum = new Set(); const random = require("../rastgele-kelime.json") exports.run = async (bot, message, args) => { if(!args[0]) return message.channel.send(`Bir argüman girmelisin: !adamasmaca \`\`\`isim/bitki/hayvan/şehir\`\`\``) let arg = ['isim', 'bitki', 'hayvan', 'şehir' ] if(!arg.includes(args[0])) return message.channel.send(`Yalnış argüman girdiniz. Sadece !adamasmaca \`\`\`isim/bitki/hayvan/şehir\`\`\` kullanabilirsin.`) if(args[0] === 'isim') { let isimkelime = random.isim if (oyndurum.has(message.channel.id)) return message.reply('Kanal başına sadece bir adam asmaca oyunu meydana gelebilir.'); try { const cevap = isimkelime[Math.floor(Math.random() * isimkelime.length)].toLowerCase(); let point = 0; let displayText = null; let tahmin = false; const confirmation = []; const yanlış = []; const display = new Array(cevap.length).fill('_'); while (cevap.length !== confirmation.length && point < 6) { await message.channel.send(stripIndents` ${displayText === null ? '**Gelişmiş Adam Asmaca**! \nKategori: İsim' : displayText ? '**Çok iyisin!**' : '**Yanlış Harf!**'} **Kelime:** \`${display.join(' ')}\` **Yanlış Harfler:** ${yanlış.join(', ') || 'Yok'} \`\`\` _________ | | | ${point > 0 ? '|' : ''} | ${point > 2 ? '┌' : ' '}${point > 1 ? '()' : ''}${point > 3 ? '┐' : ''} | ${point > 4 ? '/' : ''} ${point > 5 ? '\\' : ''} | \`\`\` `); const filter = res => { const choice = res.content.toLowerCase(); return res.author.id === message.author.id && !confirmation.includes(choice) && !yanlış.includes(choice); }; const guess = await message.channel.awaitMessages(filter, { max: 1, time: 300000 }); if (!guess.size) { await message.channel.send('Zamanın doldu!'); break; } const choice = guess.first().content.toLowerCase(); if (choice === 'end') break; if (choice.length > 1 && choice === cevap) { tahmin = true; break; } else if (cevap.includes(choice)) { displayText = true; for (let i = 0; i < cevap.length; i++) { if (cevap.charAt(i) !== choice) continue; confirmation.push(cevap.charAt(i)); display[i] = cevap.charAt(i); } } else { displayText = false; if (choice.length === 1) yanlış.push(choice); point++; } } oyndurum.delete(message.channel.id); if (cevap.length === confirmation.length || tahmin) return message.channel.send(`**Tebrikler kelimeyi buldun! **${cevap}!`); return message.channel.send(`Maalesef bilemedin kelime bu: **${cevap}**`); } catch (err) { oyndurum.delete(message.channel.id); return message.reply(`Olamaz! Bir Hata Verdi: \`${err.message}\``); } } if(args[0] === 'bitki') { let bitkikelime = random.bitki if (oyndurum.has(message.channel.id)) return message.reply('Kanal başına sadece bir adam asmaca oyunu meydana gelebilir.'); try { const cevap = bitkikelime[Math.floor(Math.random() * bitkikelime.length)].toLowerCase(); let point = 0; let displayText = null; let tahmin = false; const confirmation = []; const yanlış = []; const display = new Array(cevap.length).fill('_'); while (cevap.length !== confirmation.length && point < 6) { await message.channel.send(stripIndents` ${displayText === null ? '**Gelişmiş Adam Asmaca**! \nKategori: Bitki' : displayText ? '**Çok iyisin!**' : '**Yanlış Harf!**'} **Kelime:** \`${display.join(' ')}\` **Yanlış Harfler:** ${yanlış.join(', ') || 'Yok'} \`\`\` _________ | | | ${point > 0 ? '|' : ''} | ${point > 2 ? '┌' : ' '}${point > 1 ? '()' : ''}${point > 3 ? '┐' : ''} | ${point > 4 ? '/' : ''} ${point > 5 ? '\\' : ''} | \`\`\` `); const filter = res => { const choice = res.content.toLowerCase(); return res.author.id === message.author.id && !confirmation.includes(choice) && !yanlış.includes(choice); }; const guess = await message.channel.awaitMessages(filter, { max: 1, time: 300000 }); if (!guess.size) { await message.channel.send('Zamanın doldu!'); break; } const choice = guess.first().content.toLowerCase(); if (choice === 'end') break; if (choice.length > 1 && choice === cevap) { tahmin = true; break; } else if (cevap.includes(choice)) { displayText = true; for (let i = 0; i < cevap.length; i++) { if (cevap.charAt(i) !== choice) continue; confirmation.push(cevap.charAt(i)); display[i] = cevap.charAt(i); } } else { displayText = false; if (choice.length === 1) yanlış.push(choice); point++; } } oyndurum.delete(message.channel.id); if (cevap.length === confirmation.length || tahmin) return message.channel.send(`**Tebrikler kelimeyi buldun! **${cevap}!`); return message.channel.send(`Maalesef bilemedin kelime bu: **${cevap}**`); } catch (err) { oyndurum.delete(message.channel.id); return message.reply(`Olamaz! Bir Hata Verdi: \`${err.message}\``); } } if(args[0] === 'hayvan') { let hayvankelime = random.hayvan if (oyndurum.has(message.channel.id)) return message.reply('Kanal başına sadece bir adam asmaca oyunu meydana gelebilir.'); try { const cevap = hayvankelime[Math.floor(Math.random() * hayvankelime.length)].toLowerCase(); let point = 0; let displayText = null; let tahmin = false; const confirmation = []; const yanlış = []; const display = new Array(cevap.length).fill('_'); while (cevap.length !== confirmation.length && point < 6) { await message.channel.send(stripIndents` ${displayText === null ? '**Gelişmiş Adam Asmaca**! \nKategori: Hayvan' : displayText ? '**Çok iyisin!**' : '**Yanlış Harf!**'} **Kelime:** \`${display.join(' ')}\` **Yanlış Harfler:** ${yanlış.join(', ') || 'Yok'} \`\`\` _________ | | | ${point > 0 ? '|' : ''} | ${point > 2 ? '┌' : ' '}${point > 1 ? '()' : ''}${point > 3 ? '┐' : ''} | ${point > 4 ? '/' : ''} ${point > 5 ? '\\' : ''} | \`\`\` `); const filter = res => { const choice = res.content.toLowerCase(); return res.author.id === message.author.id && !confirmation.includes(choice) && !yanlış.includes(choice); }; const guess = await message.channel.awaitMessages(filter, { max: 1, time: 300000 }); if (!guess.size) { await message.channel.send('Zamanın doldu!'); break; } const choice = guess.first().content.toLowerCase(); if (choice === 'end') break; if (choice.length > 1 && choice === cevap) { tahmin = true; break; } else if (cevap.includes(choice)) { displayText = true; for (let i = 0; i < cevap.length; i++) { if (cevap.charAt(i) !== choice) continue; confirmation.push(cevap.charAt(i)); display[i] = cevap.charAt(i); } } else { displayText = false; if (choice.length === 1) yanlış.push(choice); point++; } } oyndurum.delete(message.channel.id); if (cevap.length === confirmation.length || tahmin) return message.channel.send(`**Tebrikler kelimeyi buldun! **${cevap}!`); return message.channel.send(`Maalesef bilemedin kelime bu: **${cevap}**`); } catch (err) { oyndurum.delete(message.channel.id); return message.reply(`Olamaz! Bir Hata Verdi: \`${err.message}\``); } } if(args[0] === 'şehir') { let şehirkelime = random.şehir if (oyndurum.has(message.channel.id)) return message.reply('Kanal başına sadece bir adam asmaca oyunu meydana gelebilir.'); try { const cevap = şehirkelime[Math.floor(Math.random() * şehirkelime.length)].toLowerCase(); let point = 0; let displayText = null; let tahmin = false; const confirmation = []; const yanlış = []; const display = new Array(cevap.length).fill('_'); while (cevap.length !== confirmation.length && point < 6) { await message.channel.send(stripIndents` ${displayText === null ? '**Gelişmiş Adam Asmaca**! \nKategori: Şehir' : displayText ? '**Çok iyisin!**' : '**Yanlış Harf!**'} **Kelime:** \`${display.join(' ')}\` **Yanlış Harfler:** ${yanlış.join(', ') || 'Yok'} \`\`\` _________ | | | ${point > 0 ? '|' : ''} | ${point > 2 ? '┌' : ' '}${point > 1 ? '()' : ''}${point > 3 ? '┐' : ''} | ${point > 4 ? '/' : ''} ${point > 5 ? '\\' : ''} | \`\`\` `); const filter = res => { const choice = res.content.toLowerCase(); return res.author.id === message.author.id && !confirmation.includes(choice) && !yanlış.includes(choice); }; const guess = await message.channel.awaitMessages(filter, { max: 1, time: 300000 }); if (!guess.size) { await message.channel.send('Zamanın doldu!'); break; } const choice = guess.first().content.toLowerCase(); if (choice === 'end') break; if (choice.length > 1 && choice === cevap) { tahmin = true; break; } else if (cevap.includes(choice)) { displayText = true; for (let i = 0; i < cevap.length; i++) { if (cevap.charAt(i) !== choice) continue; confirmation.push(cevap.charAt(i)); display[i] = cevap.charAt(i); } } else { displayText = false; if (choice.length === 1) yanlış.push(choice); point++; } } oyndurum.delete(message.channel.id); if (cevap.length === confirmation.length || tahmin) return message.channel.send(`**Tebrikler kelimeyi buldun! **${cevap}!`); return message.channel.send(`Maalesef bilemedin kelime bu: **${cevap}**`); } catch (err) { oyndurum.delete(message.channel.id); return message.reply(`Olamaz! Bir Hata Verdi: \`${err.message}\``); } } }; exports.conf = { enabled: true, guildOnly: false, aliases: ['adamasmaca'], permlevel: 0 }; exports.help = { name: 'adamasmaca', description: 'Adam asmaca oynarsınız.', usage: 'adamasmaca ' };