问题描述
此功能不起作用。我尝试了很多东西,但一无所获,我认为是“公会会员添加”。
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')
})
});