Телеграм-бот telegraf.js не работает на другом пк и на мобильном
Всем привет, делаю бота на JavaScript, задача получить у пользователя аудиофайл и описание к нему, конвертировать полученный аудиофайл в голосовое сообщение и вернуть пользователю это сообщение вместе с описанием.
В текущий момент при использовании бота с моего пк все работает как надо, но при добавлении файла с другого пк или с телефона, ничего не происходит, бот не выдает оповещений и не конвертирует полученный файл. Не могу понять в чем причина. Документация у библиотеки не очень и в сети информации не нашел. Буду благодарен за ответ.
В текущий момент код бота выглядит так:
bot.on("message", async (ctx) => {
if (ctx.message.document !== undefined) {
const audio = ctx.message.document;
const { file_name } = audio;
const fileId = audio.file_id;
const filePath = await bot.telegram.getFileLink(fileId);
const fileStream = createWriteStream(
`./audio/${file_name.split('.')[0]}.${audio.mime_type.split("/")[1]}`
);
await new Promise((resolve, reject) => {
https
.get(filePath.href, (response) => {
response.pipe(fileStream);
fileStream.on("finish", resolve);
})
.on("error", (err) => {
// console.error(err);
fileStream.unlink();
reject(err);
});
});
console.log(fileStream);
if (ctx.message.caption) {
userDescription = ctx.message.caption;
}
const voiceMessage = await ctx.telegram.sendVoice(ctx.chat.id, {
source: `./audio/${file_name.split(".")[0]}.${
audio.mime_type.split("/")[1]
}`,
reply: ctx.reply(
`Вы прислали аудиофайл "${file_name}" и добавили к нему следующее описание: ${userDescription}.
Ожидайте, файл конвертируется...`,
Extra.Markup.forceReply(ctx.message.message_id)
),
});
} else {
userDescription = ctx.message.text;
}
});
bot.launch();
process.once("SIGINT", () => bot.stop("SIGINT"));
process.once("SIGTERM", () => bot.stop("SIGTERM"));