Как получить файлы в один запрос (node-telegram-bot-api)?

Для получения нескольких файлов в один запрос с использованием node-telegram-bot-api вам необходимо использовать метод getFile() для каждого файла, который вы хотите получить, а затем выполнить эти запросы асинхронно с помощью Promise.all().

Ниже приведен пример кода, который демонстрирует, как выполнить эту задачу:

const TelegramBot = require('node-telegram-bot-api');

const bot = new TelegramBot('YOUR_TOKEN', { polling: true });

async function getFiles() {
  const fileIds = ['fileId1', 'fileId2', 'fileId3']; // замените fileIdX на фактические идентификаторы файлов

  const getFilePromises = fileIds.map(fileId => {
    return new Promise((resolve, reject) => {
      bot.getFile(fileId)
        .then(file => {
          const filePath = file.file_path;
          resolve(filePath);
        })
        .catch(error => {
          reject(error);
        });
    });
  });

  try {
    const filePaths = await Promise.all(getFilePromises);
    console.log(filePaths); // массив путей к файлам
  } catch (error) {
    console.error(error);
  }
}

getFiles();

В этом примере мы создаем массив идентификаторов файлов, которые хотим получить. Затем мы создаем массив промисов, где каждый промис вызывает метод getFile() для соответствующего идентификатора файла. После того, как все промисы разрешены, мы получаем массив путей к файлам.

Примечание: Не забудьте заменить 'YOUR_TOKEN' на свой собственный токен бота Telegram. Также замените fileIdX в массиве fileIds на реальные идентификаторы файлов, которые вы хотите получить.

Этот пример является базовым и может быть адаптирован для ваших потребностей. Если у вас возникнут проблемы с загрузкой файлов или обработкой ошибок, убедитесь, что проверили официальную документацию для node-telegram-bot-api и выполните необходимые шаги для настройки и авторизации бота.