Discord Bot Kodları Özel Çekiliş Komutu |
Komutu kullandığınızda prefixle başlayan kısımlardan sonra bot kanal, ödül ve süre belirtmenizi isteyecektir. Bu bilgileri bota verirken botunuzun prefixsini kullanmadan normal bir şekilde yazın yoksa çalışmayacaktır.
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üller için "moment" ve "ms" modüllerini eklemeniz gerekmektedir.
const Discord = require('discord.js'); const moment = require('moment'); const ms = require('ms') exports.run = async (client, message) => { var time = moment().format('Do MMMM YYYY , hh:mm'); var room; var title; var duration; var currentTime = new Date(), hours = currentTime.getHours() + 3 , minutes = currentTime.getMinutes(), done = currentTime.getMinutes() + duration, seconds = currentTime.getSeconds(); if (minutes < 10) { minutes = "0" + minutes; } var suffix = "AM"; if (hours >= 12) { suffix = "PM"; hours = hours - 12; } if (hours == 0) { hours = 12; } var filter = m => m.author.id === message.author.id; message.channel.send(`:eight_pointed_black_star:| **Çekilişin yapılacağı kanalın adını yaz**`).then(msg => { message.channel.awaitMessages(filter, { max: 1, time: 20000, errors: ['time'] }).then(collected => { let room = message.guild.channels.find('name' , collected.first().content); if(!room) return message.channel.send(':heavy_multiplication_x:| **Böyle bir kanal bulamadım**'); room = collected.first().content; collected.first().delete(); msg.edit(':eight_pointed_black_star:| **Çekilişin süresini belirle (1s, 1m, 1h, 1d, 1w)**').then(msg => { message.channel.awaitMessages(filter, { max: 1, time: 20000, errors: ['time'] }).then(collected => { if(!collected.first().content.match(/[1-60][s,m,h,d,w]/g)) return message.channel.send(':heavy_multiplication_x:| **Böyle bir süre bilmiyorum :(**'); duration = collected.first().content collected.first().delete(); msg.edit(':eight_pointed_black_star:| **Şimdi de ödülü yaz bakalım**').then(msg => { message.channel.awaitMessages(filter, { max: 1, time: 20000, errors: ['time'] }).then(collected => { title = collected.first().content; collected.first().delete(); msg.delete(); message.delete(); try { let giveEmbed = new Discord.RichEmbed() .setColor("#f558c9") .setDescription(`**Ödül: ${title}** \n🎉'a Basarak Katıl \nKalan Süre : ${duration} \n **Başlama Zamanı :** ${hours}:${minutes}:${seconds} ${suffix}`) .setFooter(message.author.username + " (TrexBot çekiliş sistemi)", message.author.avatarURL); message.guild.channels.find("name" , room).send(' :heavy_check_mark: **ÇEKİLİŞ BAŞLADI** :heavy_check_mark:' , {embed: giveEmbed}).then(m => { let re = m.react('🎉'); setTimeout(() => { let users = m.reactions.get("🎉").users let list = users.array().filter(u => u.id !== m.author.id !== client.user.id); let gFilter = list[Math.floor(Math.random() * list.length) + 0] let endEmbed = new Discord.RichEmbed() .setAuthor(message.author.username, message.author.avatarURL) .setTitle(title) .setColor("#f558c9") .setFooter("(TrexBot çekiliş sistemi)") .addField('Çekiliş Bitti !🎉',`Kazanan : ${gFilter} \nBitiş zamanı :`) .setTimestamp() m.edit('** 🎉 ÇEKİLİŞ BİTTİ 🎉**' , {embed: endEmbed}); var embedLel = new Discord.RichEmbed() .setColor("#f558c9") .setDescription("Ödülünü Moderatörleri Etiketleyerek Alabilirsin!").setFooter("(TrexBot çekiliş sistemi)") message.guild.channels.find("name" , room).send(`**Tebrikler ${gFilter}! \`${title}\` kazandın!**` , embedLel) }, ms(duration)); }); } catch(e) { message.channel.send(`:heavy_multiplication_x:| **Maalesef gerekli yetkilerim bulunmamakta**`); console.log(e); } }); }); }); }); }); }); }; exports.conf = { enabled: true, guildOnly: false, aliases: [], permLevel: 2 }; exports.help = { name: 'çekiliş', description: 'Sunucuda çekiliş yapmanızı sağlar', usage: 'çekiliş' };
Bu yorum bir blog yöneticisi tarafından silindi.
YanıtlaSilhata veriyor
YanıtlaSilAldığın hatayı detaylıca açıklarsan yardımcı olurum.
Sil@MareFi hocam çekiliş kanalını etiketlediğim zaman böyle bir kanal bulunamadı diyor.
Silpaneldeki yazı:
(Node:2060) DeprecationWarrning: Collection#find: pass a function instead
Kanal isminde emojiler veya farklı simgeler olmadan normal bir kanalda dene eğer hala aynı hatayı alırsan yorum olarak belirt. O zaman ben kodları bir test ederim.
Silhttps://prnt.sc/v61gnj
SilHala aynı hatayı alıyorum. sadece harf var hocam başka bir şey yok
Tamam dostum kodu kontrol ederim güncellenecek bir kısım var ise güncellendi ibaresi ile bir yorum atarım.
Sil❌ Function `$addReactions` returned an error: expected valid value in position 1, got empty value Böyle bir hata veriyor çözümü nedir acaba
Sildüzenlenmedi sanırım bndede hata veriyor
YanıtlaSilDostum sanırım discord versiyon iptali yaptı v11 versiyonu ile kodlandı bu kodlar.
SilAyrıca arşivde 900 küsür kod var hangi birini v12 yapıyım discordun bu yaptığı resmen saçmalık hiç bir şirket görmedim ben bu şekilde son versiyon altını etkisiz kılan geleceği olmadığından pek kayda almayacağım artık bununla ilgili aldığım bir karar olduğunda duyuru olarak paylaşırım.
çalışıyor teşekkür ederim :) abi bide kaçcm kodu eklersen çok güzel olur
YanıtlaSilEklerim o basit bir kod random mesaj kodlarından da edit ile yapabilirsin.
Silreis bot 1 saat ve uzunlarda çalışmıyor
YanıtlaSilNasıl yani bot mu komut mu çalışmıyor? Eğer bu çekiliş kodları ile alakasız bir hatan varsa buraya yazman kafa karıştırıyor dostum.
SilTam olarak bota ne yazamamızı söylermisniz "| Çekilişin yapılacağı kanalın adını yaz" bot böyle yazdıktan sonra ne yazıcağım.Şimdiden teşekkür ederim :)
YanıtlaSilkanka çekiliş kanalının adını yazıcan
Sil