Discord JS Вложения холста не отправляются полностью? - PullRequest
4 голосов
/ 12 июля 2020

В настоящее время я использую Discord. js и Node для моего бота, который отправляет вложения с заданным интервалом. Я столкнулся с проблемой, из-за которой иногда вложения загружаются не полностью (они загружаются бесконечно, и только когда я нажимаю «открыть оригинал», я могу увидеть несколько верхних пикселей изображения). Почему это? Причина в том, что при отправке вложения файл вложения не готов?

Добавление изображения в файл

async function makeCanvas(img, code, channel) {
  const canvas = createCanvas(900, 1375);
  const ctx = canvas.getContext("2d");
  ctx.fillStyle = "#000000";
  ctx.fillRect(0, 1255, 900, 120);
  let image = await loadImage(img);
  ctx.drawImage(image, 0, -40);
  ctx.font = "bold 100px sans-serif'";
  ctx.textAlign = "center";
  ctx.fillStyle = "#FFFFFF";
  ctx.fillText(`${code}`, 435, 1350);
  const writeable = fs.createWriteStream(`./temp/${channel.id}.png`);
  const readable = canvas.createPNGStream();
  const connection = readable.pipe(writeable);
  return connection.path;
}

Отправка вложения

const imgCode = await applyCodeToImg(url, code, message.channel);
await message.channel.send("A new attachment has appeared!", new Discord.MessageAttachment(imgCode));

Я все еще новичок в JavaScript и Node, пожалуйста, терпите меня!

1 Ответ

0 голосов
/ 21 августа 2020
message.channel.send(`message`, { files: [attachement], name: 'name' });
...