微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

guildMemberAdd 不适用于 Jimp | JavaScript

如何解决guildMemberAdd 不适用于 Jimp | JavaScript

功能不起作用。我尝试了很多东西,但一无所获,我认为是“公会会员添加”。

client.on("guildMemberAdd",async member => {

  let canal = client.channels.get(config.welcome)
  let fonte = await jimp.loadFont(jimp.FONT_SANS_32_BLACK)
  let mask = await jimp.read('mascara.png')
  let fundo = await jimp.read('fundo.png')
  
  jimp.read(member.user.displayAvatarURL).then(avatar => {
  avatar.resize(130,130)
  mask.resize(130,130)
  avatar.mask(mask)

  fundo.print(fonte,170,175,member.user.username)
  fundo.composite(avatar,40,90).write('bemvindo.png')
  canal.send(`Welcome !`,{ files: ["bemvindo.png"] })
  
  console.log('Imagem enviada para o discord')
  })
  .catch(err => {
  console.log('error avatar')
  })
});

细节,机器人工作,只是jimp部分不起作用

如果有人知道为什么不起作用,请告诉我。

解决方法

我认为问题是因为您有 Discord.js v11 代码,但您正在使用 Discord.js v12 运行机器人。

client.channels.get(config.welcome) 现在应该是 client.channels.cache.get(config.welcome)

以下固定代码:

client.on("guildMemberAdd",async member => {

  let canal = await client.channels.fetch(config.welcome)
  let fonte = await jimp.loadFont(jimp.FONT_SANS_32_BLACK)
  let mask = await jimp.read('mascara.png')
  let fundo = await jimp.read('fundo.png')
  
  jimp.read(member.user.displayAvatarURL({format: 'png'})).then(avatar => {
  avatar.resize(130,130)
  mask.resize(130,130)
  avatar.mask(mask)

  fundo.print(fonte,170,175,member.user.username)
  fundo.composite(avatar,40,90).write('bemvindo.png')
  await canal.send(`Welcome !`,{ files: ["bemvindo.png"] })
  
  console.log('Imagem enviada para o Discord')
  })
  .catch(err => {
  console.log('error avatar')
  })
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。