简体   繁体   English

Discord.js V14不发送图像

[英]Discord.js V14 not sending image

I made a profile command on canvas, but the image is not sending in Discord.js v14 and there is no error in the console, does anyone know what happened?我在 canvas 上创建了配置文件命令,但图像没有在 Discord.js v14 中发送,并且控制台中没有错误,有人知道发生了什么吗?

Profile.js配置文件.js

const discord = require('discord.js')
const Canvas = require('canvas')
const { fillTextWithTwemoji } = require('node-canvas-with-twemoji-and-discord-emoji');
const { registerFont } = require('canvas')
registerFont('././helsinki.ttf', { family: 'helsinki' })
registerFont('././bold.ttf', { family: 'bold' })
const config = require('../../config.json');
const db = require("quick.db")
module.exports = {

    name: "perfil",
    description : "Veja o perfil de alguém!",
    type: discord.ApplicationCommandType.ChatInput,
options: [
        {
            name: "user",
            description: "O usuário que quer ver o perfil",
            type: discord.ApplicationCommandOptionType.User,
            required: true
        
    },
    ],
        run : async (client, interaction, args) => {
          const canvas = Canvas.createCanvas(850, 550)
    const ctx = canvas.getContext("2d")


let user = interaction.options.getUser('user')
//pega o sobremim do comando de sobremim, que eu tambem deixei junto com esse codigo la no servidor
  let carteira = db.get(`carteira_${user.id}`);
                  if (carteira === null) carteira = 0;

//pega o avatar
// let avatar = user.avatarURL({ dynamic: true, format: "png", size: 1024 });
          
let avatar = await Canvas.loadImage("https://cdn.discordapp.com/avatars/" + user.id + "/" > + user.avatar + ".png");
    // a imagem de fundo, (wallpaper)
          let imagem = db.get(`imagem_${user.id}`)
  if(!imagem) imagem = `https://media.discordapp.net/attachments/980553631310942210/983425184172224654/1654537185896.png`
   const fundo = await 

    Canvas.loadImage(`${imagem}`)
    ctx.drawImage(fundo, 0, 0, canvas.width, canvas.height)


// o layout, a imagem onde fica as demarcaçoes dos lugares dos textos (é só abrir esse link ae embaixo que tu vai entender)
const layout = await 
    Canvas.loadImage("https://media.discordapp.net/attachments/980553632116269080/1002647753748398110/1659120241875.png")
    ctx.drawImage(layout, 0, 0, canvas.width, canvas.height)
const member = client.guilds.cache.get('980553630480474232').members.cache.get(interaction.user.id); 
             ctx.font = '20px helsinki';
ctx.fillStyle = '#F8F8F8';

              await  fillTextWithTwemoji(ctx, `${carteira}`, 500, 107)
       
// escreve o nome da pessoa
ctx.font = '30px helsinki';
ctx.fillStyle = '#F8F8F8';
//ctx.fillText(`${user.username}`, 340, 73)
              await  fillTextWithTwemoji(ctx, `${user.username}`, 340, 73); 
//Jaypcoins
  
// cria uma mascara redonda pra imagem de avatar
ctx.beginPath();
      ctx.arc(723, 108, 94, 0, Math.PI * 2, true);
      ctx.closePath();
      ctx.clip();
 
     // coloca o avatar do user na imagem
    const TargetAvatar = await Canvas.loadImage(`${avatar}`)
    ctx.drawImage(TargetAvatar, 628, 12, 193, 193)
    const attachment = new Discord.AttachmentBuilder(canvas.toBuffer(), {name: 'perfil.png'}) 
        return interaction.reply({content: `${interaction.user}`, files: [attachment]})
      
    }
}

I don't know why this goes, but I've seen it in the discord.js guide and I didn't see the error, I don't know if the canvas is not compatible but this discord.js is harder for me to understand我不知道为什么会这样,但我在 discord.js 指南中看到它并且我没有看到错误,我不知道 canvas 是否不兼容但是这个 discord.js 对我来说更难理解

Edit Reply to this编辑回复此

const attachment = new Discord.AttachmentBuilder(canvas.toBuffer(),'profile.png');

return interaction.reply({
    files: [{
        attachment: attachment
    }],
    content:`${interaction.user}`,
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM