Discord bot kod paylaşımlarında bu yazımda discord botunuz için güzel ve kullanışlı bir kod ile beraberiz. Discord botunuza ekleyeceğiniz bu kod sunucunuz da bulunan kullanıcıların seviye durumlarını öğrenebilirsiniz gelişmiş seviye sistemidir.
Kurulum için adımları izleyin:
- Kod projenizde komutlar klasörüne ve botun ana dosyasına 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 "node-superfetch" , "quick.db" , "common-tags" , "snekfetch" eklemeniz gerekmekte.
//---Bu Kod komutlar klasörüne atılacaktır.
//###CodeMareFi tarafından hazırlanmıştır - - - Ekleyen //###Sadista
const Discord = require('discord.js');
const request = require('node-superfetch');
const db = require('quick.db');
const { stripIndents } = require('common-tags');
const snekfetch = require("snekfetch");
exports.run = async (client, msg, args) => {
let u = msg.mentions.users.first() || msg.author;
if(u.bot === true) {
const embed = new Discord.RichEmbed()
.setDescription("Botların seviyesi bulunmamaktadır!")
.setColor("RANDOM")
msg.channel.send(embed)
return
}
var g = "50"
var Canvas = require('canvas')
var canvas = Canvas.createCanvas(750, 240)
var ctx = canvas.getContext('2d');
const avatarURL = u.displayAvatarURL
const { body } = await request.get(avatarURL);
const avatar = await Canvas.loadImage(body);
ctx.fillStyle = "rgba(0, 0, 0, 0."+g+")";
ctx.fill()
ctx.fillRect(25, 20, 700, 200)
ctx.fillStyle = "rgba(0, 0, 0, 0.30)";
ctx.fill()
ctx.fillRect(0, 0, 750, 240)
var re = "db3b3b"
var xp = db.fetch(`puan_${u.id + msg.guild.id}`);
var lvl = db.fetch(`seviye_${u.id + msg.guild.id}`);
let sira = ''
const sorted = msg.guild.members.filter(u => !u.user.bot).array().sort((a, b) => { return db.fetch(`seviye_${b.user.id + msg.guild.id}`) - db.fetch(`seviye_${a.user.id + msg.guild.id}`) });
const top10 = sorted.splice(0, msg.guild.members.size)
const mappedID = top10.map(s => s.user.id);
for(var i = 0; i < msg.guild.members.size; i++) {
if(mappedID[i] === u.id) {
sira += `${i + 1}`
}
}
var de = 1.6
ctx.beginPath()
ctx.fillStyle = "#999999";
ctx.arc(257 + 18.5, 125.5 + 18.5 + 36.25, 18.5, 1.5 * Math.PI, 0.5 * Math.PI, true);
ctx.fill();
ctx.fillRect(257 + 18.5, 125.5 + 36.15, 250 * de, 37.5);
ctx.arc(257 + 18.5 + 250 * de, 125.5 + 18.5 + 36.25, 18.75, 1.5 * Math.PI, 0.5 * Math.PI, false);
ctx.fill();
ctx.beginPath();
ctx.fillStyle = `#${re}`;
ctx.arc(257 + 18.5, 125.5 + 18.5 + 36.25, 18.5, 1.5 * Math.PI, 0.5 * Math.PI, true);
ctx.fill();
ctx.fillRect(257 + 18.5, 125.5 + 36.25, xp * de, 37.5);
ctx.arc(257 + 18.5 + xp * de, 125.5 + 18.5 + 36.25, 18.75, 1.5 * Math.PI, 0.5 * Math.PI, false);
ctx.fill();
ctx.fillStyle = `#${re}`;
ctx.font = '28px Impact';
ctx.textAlign = "right";
ctx.fillText(`Sıralama #${sira} | Seviye ${lvl || 0}`, 670, 70);
ctx.font = '20px Impact';
ctx.textAlign = "right";
ctx.fillText(`${xp || 0} / 150 XP`, 670, 100);
ctx.fillStyle = `#fcfdff`;
ctx.font = 'bold 28px Impact';
ctx.textAlign = "left";
ctx.fillText(`${u.tag}`, 195, 150)
ctx.beginPath();
ctx.lineWidth = 8;
ctx.fill()
ctx.lineWidth = 8;
ctx.arc(43 + 67, 67 + 67, 67, 0, 2 * Math.PI, false);
ctx.clip();
ctx.drawImage(avatar, 43, 67, 135, 130);
msg.channel.send({files:[{attachment:canvas.toBuffer(),name:"seviye.png"}]})
};
exports.conf = {
enabled: true,
guildOnly: false,
aliases: [],
permLevel: 0,
};
exports.help = {
name: 'seviye',
description: '',
usage: ''
};
//---Bu Kod botun ana dosyasına atılacaktır.
//###CodeMareFi tarafından hazırlanmıştır - - - Ekleyen //###Sadista
client.on("message", async msg => {
if (msg.channel.type === "dm") return;
if(msg.author.bot) return;
if (msg.content.length > 7) {
db.add(`puan_${msg.author.id + msg.guild.id}`, 3)
};
if (db.fetch(`puan_${msg.author.id + msg.guild.id}`) > 150) {
db.add(`seviye_${msg.author.id + msg.guild.id}`, 1)
db.delete(`puan_${msg.author.id + msg.guild.id}`)
};
});
Yapamadığınız veya takıldığınız yerleri yorum ile bizlere bildirin yardımcı oluruz.
ya hocam bu site falan diyor hazir altyapidan alıpmı paylaştınız ne bu
YanıtlaSilNe sitesi dostum kod içinde site adres filan yok. Hazır altyapı ne alaka
Sil