discord.bot.kelime.oyunu, discord bot oyun kodları, discord bot oyun kod paylaşım, discord bot kod paylaşım, discord bot kodları, codemarefi
Discord bot kod paylaşımlarında bu yazımda discord botunuz için güzel ve kullanışlı bir kod ile beraberiz. Bu paylaşımımda discord botunuz için kelime oyunu kodlarını veriyorum. 

Kod yapısı ve işlevini anlatmak gerekirse oyunu oynayacağınız bir arkadaşınızı etiketleyerek onunla birlikte oynuyorsunuz, oyundaki amaç kelimeleri hızlı bir şekilde yazmak bu yüzden kod içerisinde bulunan var kelimeler = ['codemarefi', 'kooperatif', 'spekülasyon']; gibi zor ve karışık kelimeler ekleyerek cevapları zorlaştırabilirsiniz. Bir zor bir kısa kelimede ekleyebilirsiniz size kalmış ama verdiğim bu satırda kod sistemini bozmamaya ve yazım hataları yapmamaya dikkat edin.

Ayrıca aşağıda 2.ci olan kod ise bot bu sistemin kullanıcılar ile etkileşim de bulunması ve bazı harici paketler ile kod yapısını desteklemek için gerekli olan "util/Util.js" sistemini de veriyorum bu kod altyapınızda yoksa eğer bunu ekleyin ve büyük küçük harflere dikkat etmeyi unutmayın.

Kod istek üzerine eklenmiştir ve yakında kelime tahmin oyunu da eklenecektir.

Kurulum için adımları izleyin:

  • Kod projenizde komutlar klasörüne atılacaktır. Komut eklemeyi bilmiyorsan buradaki yazımızı okuyarak öğrenebilirsin.
  • Komut içerisindeki gerekli yerleri kendinize göre düzenleyin.
  • Modül olarak "common-tags" , "discord.js" ve ek kod olarak "util/Util.js" eklemeniz gerekir.
//---Bu Kod komutlar klasörüne atılacaktır. 
//###CodeMareFi tarafından hazırlanmıştır - - - Ekleyen //###MareFi

const Discord = require('discord.js');
const { stripIndents } = require('common-tags');
const { randomRange, verify } = require('../util/Util.js');
let codemarefi = new Set();

exports.run = async (client, message, args) => {
  
	let codemarefi = message.mentions.users.first()
	if (!codemarefi) return message.reply("Oynamak istediğin kişiyi etiketlemelisin!")
  
  if (codemarefi.bot) return message.reply('Botlar ile kelime oyunu oynayamazsın!');
  if (codemarefi.id === message.author.id) return message.reply('Kendin ile kelime oyunu oynayamazsın!');
		if (codemarefi.has(message.channel.id)) return message.reply('Kanal başına sadece bir kelime oyunu meydana gelebilir.');
		try {
			if (!codemarefi.bot) {
        await message.channel.send(`${codemarefi}, kelime oyunu isteği geldi. İsteği kabul ediyor musun? (\`evet\` veya \`hayır\` olarak cevap veriniz.)`);
				const verification = await verify(message.channel, codemarefi);
				if (!verification) {
					this.fighting.delete(message.channel.id);
					return message.channel.send(`Düello kabul edilmedi...`);
				}
			}
      
   message.channel.send('Kelime, yükleniyor!').then(message => {
     codemarefi.add(message.channel.id)
      var kelimeler = ['codemarefi', 'kooperatif', 'spekülasyon'];
      var kelime = kelimeler[Math.floor(Math.random() * kelimeler.length)];
      message.edit(`Hey hemen \`${kelime}\` yazman lazım!`);
     
     const filter = res => {
			const value = res.content.toLowerCase();
			return res.author.id === message.author.id | codemarefi.id && (kelime.includes(value));
		};
     
     
     message.channel.awaitMessages(filter, {
          max: 1,
          time: 100000
        })
       .then((collected) => {
            const embed = new Discord.RichEmbed()
            .setDescription(`:tada: Tebrikler, Kazanannn: ${collected.first().author}`)
            .setColor("green")
            message.channel.send(embed)
            codemarefi.delete(message.channel.id)
          })
          .catch(function(){
            message.channel.send('Size verilen süre doldu');
            codemarefi.delete(message.channel.id)
          });
   })
		} catch (err) {
			codemarefi.delete(message.channel.id);
			console.log(err)
		}
  }

exports.conf = {
  enabled: true,
  guildOnly: false,
  aliases: ['kelimeoyunu'],
  permLevel: `Yetki gerekmiyor.`
};

exports.help = {
  name: 'kelime-oyunu',
  description: 'İstediğiniz bir kişi ile kelime düellosu atarsınız!',
  usage: 'kelime-oyunu <@kullanıcı>'
};
//---Bu Kod komutlar klasörüne atılacaktır. 
//###CodeMareFi tarafından hazırlanmıştır - - - Ekleyen //###MareFi

const request = require('node-superfetch');
const crypto = require('crypto');
const { IMGUR_KEY } = process.env;
const yes = ['evet'];
const no = ['hayır']

const deleteCommandMessages = function (msg, client) { // eslint-disable-line consistent-return
	if (msg.deletable && client.provider.get('global', 'deletecommandmessages', false)) {
	  return msg.delete();
	}
  };

class Util {
	static wait(ms) {
		return new Promise(resolve => setTimeout(resolve, ms));
	}

	static shuffle(array) {
		const arr = array.slice(0);
		for (let i = arr.length - 1; i >= 0; i--) {
			const j = Math.floor(Math.random() * (i + 1));
			const temp = arr[i];
			arr[i] = arr[j];
			arr[j] = temp;
		}
		return arr;
	}

	static list(arr, conj = 'and') {
		const len = arr.length;
		return `${arr.slice(0, -1).join(', ')}${len > 1 ? `${len > 2 ? ',' : ''} ${conj} ` : ''}${arr.slice(-1)}`;
	}

	static shorten(text, maxLen = 2000) {
		return text.length > maxLen ? `${text.substr(0, maxLen - 3)}...` : text;
	}

	static duration(ms) {
		const sec = Math.floor((ms / 1000) % 60).toString();
		const min = Math.floor((ms / (1000 * 60)) % 60).toString();
		const hrs = Math.floor(ms / (1000 * 60 * 60)).toString();
		return `${hrs.padStart(2, '0')}:${min.padStart(2, '0')}:${sec.padStart(2, '0')}`;
	}

	static randomRange(min, max) {
		return Math.floor(Math.random() * (max - min + 1)) + min;
	}

	static trimArray(arr, maxLen = 10) {
		if (arr.length > maxLen) {
			const len = arr.length - maxLen;
			arr = arr.slice(0, maxLen);
			arr.push(`${len} more...`);
		}
		return arr;
	}

	static base64(text, mode = 'encode') {
		if (mode === 'encode') return Buffer.from(text).toString('base64');
		if (mode === 'decode') return Buffer.from(text, 'base64').toString('utf8') || null;
		throw new TypeError(`${mode} is not a supported base64 mode.`);
	}

	static hash(text, algorithm) {
		return crypto.createHash(algorithm).update(text).digest('hex');
	}

	static async randomFromImgurAlbum(album) {
		const { body } = await request
			.get(`https://api.imgur.com/3/album/${album}`)
			.set({ Authorization: `Client-ID ${IMGUR_KEY}` });
		if (!body.data.images.length) return null;
		return body.data.images[Math.floor(Math.random() * body.data.images.length)].link;
	}

	static today(timeZone) {
		const now = new Date();
		if (timeZone) now.setUTCHours(now.getUTCHours() + timeZone);
		now.setHours(0);
		now.setMinutes(0);
		now.setSeconds(0);
		now.setMilliseconds(0);
		return now;
	}

	static tomorrow(timeZone) {
		const today = Util.today(timeZone);
		today.setDate(today.getDate() + 1);
		return today;
	}

	static async awaitPlayers(msg, max, min, { text = 'join game', time = 30000 } = {}) {
		const joined = [];
		joined.push(msg.author.id);
		const filter = res => {
			if (msg.author.bot) return false;
			if (joined.includes(res.author.id)) return false;
			if (res.content.toLowerCase() !== text.toLowerCase()) return false;
			joined.push(res.author.id);
			return true;
		};
		const verify = await msg.channel.awaitMessages(filter, { max, time });
		verify.set(msg.id, msg);
		if (verify.size < min) return false;
		return verify.map(message => message.author);
	}

	static async verify(channel, user, time = 30000) {
		const filter = res => {
			const value = res.content.toLowerCase();
			return res.author.id === user.id && (yes.includes(value) || no.includes(value));
		};
		const verify = await channel.awaitMessages(filter, {
			max: 1,
			time
		});
		if (!verify.size) return 0;
		const choice = verify.first().content.toLowerCase();
		if (yes.includes(choice)) return true;
		if (no.includes(choice)) return false;
		return false;
	}
}

module.exports = Util;
Yapamadığınız veya takıldığınız yerleri yorum ile bizlere bildirin yardımcı oluruz.
CodeMareFi

Admin MareFi

CodeMareFi CodeMareFi CodeMareFi CodeMareFi CodeMareFi CodeMareFi CodeMareFi CodeMareFi CodeMareFi

CodeMareFi Bir çok konuda fikir sahibi olduğu kategorilere yönelip kullanıcıya en iyi ve en özgün bilgiyi sunmayı amaç edinmiştir. CMF Teknoloji, İnternet, Program, Blogger Konuları , Blogger Temaları, Blogger Eklentileri, Discord Konuları, Discord Bot konuları, Discord Bot Komut Paylaşımları ve bir çok konuda Genel Güncel Paylaşım Sitesidir...

Yorum Yap:

19 Yorum Yapılmış:

  1. paylaşım için teşekkürlerö 32

    YanıtlaSil
  2. Yanıtlar
    1. RichEmbed() kısımlarını MessageEmbed() yap

      Sil
  3. 2 tane var hangisi nereye

    YanıtlaSil
    Yanıtlar
    1. Kurulum açıklamalarında belirtiğim gibi 2.kod util/Util.js atılacak.

      Diğeri ise komutlar klasörüne atılacak. Kurulum adımlarını okuyun

      Sil
  4. nasıl v12 de çalıştırabilirim?

    YanıtlaSil
    Yanıtlar
    1. RichEmbed() yazan yerleri MessageEmbed() yap

      Sil
  5. yardım edermisiniz komutları ve util/ıtil.js bulamadım yeni başladım bu işlere :d

    YanıtlaSil
    Yanıtlar
    1. Dostum sitede paylaştığım hazır sorunsuz bot altyapıları var onları al kullan, o projeler üzerinden ilerle.

      Sil
  6. bot ingilizce sözlük ile ingilizce kelime türetmece yapmak istiyorum acaba tdk gibi ingilizce sözlük kaynağını nasıl bulabilirim bilginiz varsa paylaşırsanız sevinirim valla

    YanıtlaSil
    Yanıtlar
    1. Netten araştırarak eng & tr sözlük pdf dokümanları bulabilirsin.

      Sil
  7. kelime türetmece oyununun ingilizce sözlük ile olanını yapmak istiyorum fakt tdk sözlük gibi nasıl kaynak alıcağımız bilmiyorum bunun hakkında bilginiz varsa yardımcı olursanız sevinirim

    YanıtlaSil
    Yanıtlar
    1. Netten araştırarak eng & tr sözlük pdf dokümanları bulabilirsin.

      Sil
  8. Acaba sıfırlama kodu nasıl ekliyebilirim? çünkü örnek var sayıyorum adam ağ diyor sıfırlamak gerekiyor sıfırlayamıyorum

    YanıtlaSil
    Yanıtlar
    1. Sıfırlama gibi bir durum söz konusu olamaz zira bu kod veri tutmuyor ve veritabanı kullanmıyor. Tam olarak neyi sıfırlama gerektiğini daha net açıkla.

      Sil
  9. hangi uygulma üzerinden yazıyoruz

    YanıtlaSil
  10. hangi uygulama üzeinden yazıyoruz

    YanıtlaSil

Yorum Yaparken:
* Yorumlarınızda Din , Dil , Irk , Cinsiyet , Küfür(Hakaret) ve Siyaset içerikli yorumlar onaylanmadığını hatırlatmak isterim.
* Yorumlarınızı anlaşılır bir dilde yazınız ve mümkünse detaylı bir şekilde açıklama yapınız.
* Yorum yaparken tavsiyemiz olarak yorum profilinizi google @gmail profilinizi seçerek yorum yapınız, ayrıca (anonim) veya Ad/Url gibi seçeneklerle de yorum yapabilirsiniz.
Konu ile ilgili olmayan sorularınız için ise Chat veya İletişim sayfalarını kullanın

Kullanmak istediğiniz emojileri kopyalayıp yorumda kullanabilirsiniz. CTRL + C

☝☺✊✋✌❤👀👄👎👍👌💓💔💕💖💗💘💝💞💟💢💣💤💥😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷👐👤👥👦👦👧👨👩👳👴👵👿👾👽👻👅