Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 4fd6d9d9de7b34638f63f16582928bb5
Дизайн, Python, IT , Арт

Исправить ошибки в модуле на node.js

Добавлено 30 янв 2024 в 21:59
Имеется код, который загружает файл картинку.
Нужно дописать код чтобы на фото наносился текст кириллицей и дальше отправлялся с помощью fetch
+30 минут объяснить что было с кодом не так.

const fs = require('fs');


//const fileName = '/Users/apple/WebstormProjects/botferma20/backend_modules/text_on_image/saved.png';
const { Buffer } = require("node:buffer");
const { createCanvas, loadImage,Image } = require('canvas')
const fetch = require('node-fetch');
const token ='';
main();
async function main(){
fetch(fileName).then(
response => {
response.buffer().then(
buffer => {
let image = new Image;
image.src = 'data:image/png;base64, '+buffer.toString('base64');
let canvas = createCanvas(image.clientWidth, image.clientHeight);
let context = canvas.getContext('2d');
context.drawImage(image, 0, 0);

let imageBlob = new Promise(resolve => canvas.toBlob(resolve, 'image/png'));
let formData = new FormData();
formData.append('chat_id', 112133500);//file.bitmap.data
formData.append('photo', imageBlob, 'image.png');
//https://api.telegram.org/bot/sendPhoto
fetch(`https://api.telegram.org/bot${token}/sendPhoto`,
{
method: 'POST',
body: formData
}
).then(response => {
response.json().then(response => {
console.log(response)
}
)
})

}
);
}
)
}

5812d847a1