【问题标题】:guildMemberAdd dont work with Jimp | JavaScriptguildMemberAdd 不与 Jimp 一起工作 | JavaScript
【发布时间】:2021-10-01 23:33:54
【问题描述】:

此功能不起作用。我尝试了很多东西都没有,我认为它是“guildMemberAdd”。

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 部分不工作

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

【问题讨论】:

  • 您是否启用了所需的意图?
  • 是的,已经启用
  • 你有<UnhandledPromiseRejectionWarning>抛出吗?
  • 我现在什么都没做,但是给了我错误“错误头像”,这意味着图像已创建,但他无法发送,我检查了配置文件,并且不和谐聊天及其两个都可以
  • @Viriato 什么都没有;/

标签: javascript discord.js jimp


【解决方案1】:

我认为问题在于您拥有 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')
  })
});

【讨论】:

  • 我使用了不和谐 "discord.js": "^12.0.0",这意味着不和谐 v12 :/
  • anf 如果我把“client.channels.cache.get”给我 jimp Error: No matching constructor overloading was found. 的错误
  • 您可以尝试升级到 Discord.js v12.5.3 吗?
  • 同样的错误No matching constructor overloading was found
  • 我意识到我的错误,displayAvatarUrl 后面应该有括号。代码应该已经修复,现在应该可以工作了。
猜你喜欢
  • 2022-12-14
  • 2012-07-17
  • 2022-01-09
  • 2015-03-16
  • 2021-09-04
  • 2022-06-25
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多