const { MessageEmbed } = require('discord.js'); const Discord = require("discord.js"); const mongoose = require("mongoose"); const Canvas = require("canvas"); const colors = require("../colors.json"); const { registerFont } = require('canvas'); registerFont('fonts/Roboto-Bold.ttf', { family: 'Roboto' }); //CONNECT TO DATABASE // MODELS const Data = require("../models/data.js"); module.exports.run = async (bot, message, args) => { let embed = new Discord.MessageEmbed(); if(!args[0]) { var user = message.author; } else { var user = message.mentions.users.first() || bot.users.get(args[0]); } Data.findOne({ userID: user.id }, (err, data) => { if(err) console.log(err); if(!data) { const newData = new Data({ name: bot.users.cache.get(user.id).username, userID: user.id, lb: "all", money: 0, daily: 0, }) newData.save().catch(err => console.log(err)); let mentioned = message.mentions.members.first() || message.member; embed.setTitle(`Balance | ${mentioned.user.username}`) embed.setThumbnail(mentioned.user.displayAvatarURL()) embed.setDescription(`💵 | Ryo: **0**`) embed.setFooter("Requested By: " + message.member.displayName, message.author.displayAvatarURL()); return message.channel.send(embed); } else { if(!args[0]) { var user = message.author; } else { var user = message.mentions.users.first() || bot.users.cache.get(args[0]); } var member = message.guild.member(user); const canvas = Canvas.createCanvas(500, 200); const ctx = canvas.getContext("2d"); const background = await Canvas.loadImage("https://static.wikia.nocookie.net/naruto/images/5/50/Team_Kakashi.png/revision/latest?cb=20161219035928"); ctx.drawImage(background, 0, 0, canvas.width, canvas.height); ctx.strokeStyle = colors.black; ctx.strokeRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = colors.white; var size1 = 40; var size2 = 30; var size3 = 30; var name = user.tag do { ctx.font = `20px Roboto-Bold`; } while (ctx.measureText(name).width > canvas.width - 225); ctx.fillText(name, 200, 65); ctx.strokeText(name, 200, 65) ctx.fill(); ctx.stroke(); var created = "Balance | " + mentioned.user.username; do { ctx.font = `15px Roboto-Bold`; } while (ctx.measureText(created).width > canvas.width - 225); ctx.fillText(created, 200, 110); ctx.strokeText(created, 200, 110) ctx.fill(); ctx.stroke(); var joined = "💵 | Ryo: " + data.money; do { ctx.font = `15px Roboto-Bold`; } while (ctx.measureText(joined).width > canvas.width - 225); ctx.fillText(joined, 200, 145); ctx.strokeText(joined, 200, 145) ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.arc(100, 100, 75, 0, Math.PI * 2, true); ctx.closePath(); ctx.clip(); const final = new Discord.MessageAttachment(canvas.toBuffer(), "userinfo.png"); return message.channel.send(final); } }) } module.exports.help = { name: "balance", aliances: ["bal"] }