节点项目退出时在Canvas.createCanvas()上没有错误

时间:2018-12-24 20:48:48

标签: node.js node-canvas

我正在制造Discord机器人,我希望它在特定事件下发送图片(无关紧要)。我面临一个奇怪的问题:每当我尝试使用Canvas.createCanvas(x,y)时,我的Node项目都会退出,而日志中没有任何错误(因为im通过批处理使用它,它只是重新启动并打印出“ ready”行)。我认为代码与此处无关,因为它只是无法执行createCanvas。

我尝试在每行带有文本的行上添加console.log('N行'),根据我的测试,它仅出现在第2行。因此,不处理第3行(createCanvas)。

client.on('guildMemberAdd', async member => { //canvas IS defined earlier 
const channel = 'channel id';
if (!channel) return;

const canvas = createCanvas(600, 600); 
const ctx = canvas.getContext('2d');

const background = await loadImage('./images/welcome.png');
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);

ctx.strokeStyle = '#676767';
ctx.strokeRect(0, 0, canvas.width, canvas.height);

ctx.beginPath();
ctx.arc(125, 125, 100, 0, Math.PI * 2, true);
ctx.closePath();
ctx.clip();

const { body: buffer } = await snekfetch.get(member.user.displayAvatarURL);
const avatar = await loadImage(buffer);
ctx.drawImage(avatar, 25, 25, 200, 200);

const attachment = new Discord.Attachment(canvas.toBuffer(), 'welcome-image.png');

channel.send(attachment);
});

我希望它实际创建画布并执行操作,但是相反,它只是重新启动了bot。这里有帮助吗?

0 个答案:

没有答案