Javascript 我的欢迎信令人困惑。(Discord.js)

Javascript 我的欢迎信令人困惑。(Discord.js),javascript,discord,bots,discord.js,jimp,Javascript,Discord,Bots,Discord.js,Jimp,我有一个向欢迎频道发送消息的代码: import Discord from "discord.js" const client = new Discord.Client() client.on("guildMemberAdd", async member => { let bg = await jimp.read("img/img_bg.png") // Bg da imagem. if(guildId === &q

我有一个向欢迎频道发送消息的代码:

import Discord from "discord.js"
const client = new Discord.Client()

client.on("guildMemberAdd", async member => {
   let bg = await jimp.read("img/img_bg.png") // Bg da imagem.
   if(guildId === "729008562747080836") {
       bg = await jimp.read("img/img_bg-thunder.png") // Bg da imagem da Thunder.
   }
   let font = await jimp.loadFont(jimp.FONT_SANS_32_WHITE) // Fonte usada na imagem.
   let mask = await jimp.read("img/img_mask.png") // Máscara da imagem.
   let welcomeImg = await jimp.read("img/img_txt-welcome.png") // Imagem dando boas-vindas.
   let name = member.user.username // Nome do novo membro.
   let lenName = name.length * 16 // "Calculando o tamanho" do nome.

   // Método usado para fazer a mensagem ao entrar no servidor. 
   await jimp.read(member.user.defaultAvatarURL).then(avatar => {
       avatar = member.user.displayAvatarURL() // Pega a URL da imagem.
       let avtUrl
       if(avatar.includes(".webp")) {
           avtUrl = avatar.substr(0, avatar.lastIndexOf(".")) + ".png" // Converte a extensão de .webp para .png.
       } else avtUrl = avatar
       jimp.read(avtUrl).then(avt => {
           avt.resize(250, 250) // Redimensiona o avatar.
           mask.resize(250, 250) // Redimensiona a máscara.
           welcomeImg.resize(280, 280) // Redimensiona a imagem de boas-vindas.
           avt.mask(mask) // Junta o avatar com a máscara.
           bg.composite(welcomeImg, 370, 210) // Adiciona a imagem de boas-vindas no background.
           bg.print(font, 512 - lenName / 2, 380, name) // Centraliza e escreve o nome da pessoa.
           bg.composite(avt, 387, 40) // Adiciona o avatar no background.

           // Guarda a imagem no arquivo "img_final.png".
           bg.write("img/img_final.png")
       }).catch(err => {
           console.log("Erro ao montar a imagem.")
           console.log(err)
       })
   }).catch(err => {
       console.log("Erro ao carregar a imagem.")
       console.log(err)
   })


   let channelWel = client.channels.cache.get(welcomeId)
   if(guildId === "729008562747080836") {
       await channelWel.send(`Olha só quem entou para a melhor e-team! The issue seems to be in this section of code:

jimp.read(avtUrl).then(avt => {
    avt.resize(250, 250) // Redimensiona o avatar.
    mask.resize(250, 250) // Redimensiona a máscara.
    welcomeImg.resize(280, 280) // Redimensiona a imagem de boas-vindas.
    avt.mask(mask) // Junta o avatar com a máscara.
    bg.composite(welcomeImg, 370, 210) // Adiciona a imagem de boas-vindas no background.
    bg.print(font, 512 - lenName / 2, 380, name) // Centraliza e escreve o nome da pessoa.
    bg.composite(avt, 387, 40) // Adiciona o avatar no background.

    // Guarda a imagem no arquivo "img_final.png".
    bg.write("img/img_final.png")
}).catch(err => {
    console.log("Erro ao montar a imagem.")
    console.log(err)
})
从“Discord.js”导入Discord
const client=new Discord.client()
on(“guildMemberAdd”,异步成员=>{
让bg=wait jimp.read(“img/img_bg.png”)//bg da imagem。
如果(Guidid==“729008562747080836”){
bg=wait jimp.read(“img/img_bg-thunder.png”)///bg da imagem da thunder。
}
让font=wait jimp.loadFont(jimp.font\u SANS\u 32\u WHITE)//Fonte usada na imagem。
让mask=wait jimp.read(“img/img_mask.png”)//Máscara da imagem。
let welcomeImg=wait jimp.read(“img/img_txt-welcome.png”)///Imagem dando boas vindas。
让name=member.user.username//Nome do novo membro。
让lenName=name.length*16//“Calculando o tamanho”做名词。
//梅托多·乌萨多·帕拉·法泽是一个不速之客。
等待jimp.read(member.user.defaultAvatarURL)。然后(avatar=>{
avatar=member.user.displayAvatarURL()///Pega a URL da imagem。
让阿夫图尔
if(化身包括(“.webp”)){
avtUrl=avatar.substr(0,avatar.lastIndexOf(“.”)+“.png”//Converte a extensão de.webp para.png。
}else avtUrl=化身
jimp.read(avtUrl)然后(avt=>{
avt.resize(250250)//Redimensiona o avatar。
mask.resize(250250)//Redimensiona a a máscara。
welcomeImg.resize(280280)//Redimensiona a a imagem de boas vindas。
avt.mask(mask)//军政府o阿凡达com a máscara。
bg.composite(welcomeImg,370210)//Adiciona a imagem de boas vindas无背景。
bg.print(字体512-lenName/2380,name)//集中化escreve o nome da pessoa。
bg.composite(avt,387,40)//Adiciona o avatar无背景。
//Guarda a imagem no arquivo“img_final.png”。
bg.write(“img/img_final.png”)
}).catch(错误=>{
log(“Erro ao montar a imagem.”)
console.log(错误)
})
}).catch(错误=>{
log(“Erro ao carregar a imagem.”)
console.log(错误)
})
让channelWel=client.channels.cache.get(welcomeId)
如果(Guidid==“729008562747080836”){

等待channelWel.send(`Olha sóquem entou para a melhor e-team!问题似乎出现在代码的这一部分:

jimp.read(avtUrl).then(avt=>{
avt.resize(250250)//Redimensiona o avatar。
mask.resize(250250)//Redimensiona a a máscara。
welcomeImg.resize(280280)//Redimensiona a a imagem de boas vindas。
avt.mask(mask)//军政府o阿凡达com a máscara。
bg.composite(welcomeImg,370210)//Adiciona a imagem de boas vindas无背景。
bg.print(字体512-lenName/2380,name)//集中化escreve o nome da pessoa。
bg.composite(avt,387,40)//Adiciona o avatar无背景。
//Guarda a imagem no arquivo“img_final.png”。
bg.write(“img/img_final.png”)
}).catch(错误=>{
log(“Erro ao montar a imagem.”)
console.log(错误)
})
您没有使用
await
,因此代码的其余部分不会等待此部分代码的执行。要解决此问题,您需要添加
await
并使外部函数异步:

//Método usado para fazer是一个服务商。
等待jimp.read(member.user.defaultAvatarURL)。然后(异步avatar=>{
avatar=member.user.displayAvatarURL()///Pega a URL da imagem。
让阿夫图尔
if(化身包括(“.webp”)){
avtUrl=avatar.substr(0,avatar.lastIndexOf(“.”)+“.png”//Converte a extensão de.webp para.png。
}else avtUrl=化身
等待jimp.read(avtUrl)。然后(avt=>{
avt.resize(250250)//Redimensiona o avatar。
mask.resize(250250)//Redimensiona a a máscara。
welcomeImg.resize(280280)//Redimensiona a a imagem de boas vindas。
avt.mask(mask)//军政府o阿凡达com a máscara。
bg.composite(welcomeImg,370210)//Adiciona a imagem de boas vindas无背景。
bg.print(字体512-lenName/2380,name)//集中化escreve o nome da pessoa。
bg.composite(avt,387,40)//Adiciona o avatar无背景。
//Guarda a imagem no arquivo“img_final.png”。
bg.write(“img/img_final.png”)
}).catch(错误=>{
log(“Erro ao montar a imagem.”)
console.log(错误)
})
}).catch(错误=>{
log(“Erro ao carregar a imagem.”)
console.log(错误)
})

oooh伙计。非常感谢。它只漏掉了一个字!我必须进一步学习异步/等待函数。我感谢你。谢谢!