Якщо ви щодня записуєте десятки голосових нотаток, а потім витрачаєте час на їх переслуховування — ви втрачаєте величезну можливість автоматизувати цей процес. Раніше на прослуховування та структурування голосових записів йшло багато часу. Тепер це можна повністю автоматизувати.
У цій статті розповім, як створити Telegram-бота в n8n, який миттєво перетворює голосові повідомлення у текст. Більше сотні автоматизованих процесів навчили: проста ідея на практиці перетворюється на складну систему з багатьма нюансами.
Базова логіка: чотири кроки, які стають складнішими
На перший погляд завдання виглядає простою:
- Отримати голосове повідомлення
- Зберегти його на сервері
- Транскрибувати
- Надіслати текст назад у чат
Але коли починаєш тестувати, на кожному кроці виникають складнощі. Проста чотирьохнодова послідовність перетворюється на розгалужену систему з перевірками, резервними варіантами та обробкою помилок.
Що відбувається насправді: повна схема бота
Авторизація користувача
Перше — перевірка, чи може людина надсилати повідомлення боту. Якщо немає доступу — бот відправляє повідомлення про відмову. Це зберігає нерви та гроші, обмежуючи доступ тільки для потрібних користувачів.
Розпізнавання типу файлу
Telegram по-різному передає аудіо:
- Голосове повідомлення, записане в додатку — має мітку
voice - Файл з диктофона — передається як
audio
Бот має розпізнати тип і уніфікувати обробку. Якщо файл не розпізнано — користувач отримує повідомлення про помилку.
Перевірка формату
Наступний крок — перевірка, чи відповідає файл підтримуваним форматам (OGG, MPEG, MP4). Якщо формат невідомий — знову повідомлення про помилку.
Завантаження та початок транскрибації
Після успішної перевірки бот завантажує файл і відправляє повідомлення: “Починаємо транскрибацію”. Зворотний зв’язок на кожному етапі критично важливий — користувач завжди розуміє, що відбувається.
Резервний варіант (Fallback)
Для транскрибації використовується найдешевша модель GPT від OpenAI. Але вона може не впоратися через перенавантаження або інші проблеми. Тому налаштовано резервний варіант — якщо OpenAI не спрацювала, файл автоматично передається на транскрибацію до іншого сервісу.
Обробка довгих текстів
Telegram має обмеження: максимум 4000 символів на повідомлення. Якщо транскрибований текст довший — бот розбиває його на частини (чанки) по 4000 символів і відправляє послідовно кілька повідомлень.
Покрокове створення бота
Крок 1: Створення Telegram-бота
Відкрийте @BotFather в Telegram:
- Натисніть
/newbot - Придумайте назву
- Скопіюйте API token
У n8n додайте Telegram Trigger ноду (On Chat Message), створіть новий credential, вставте token. Перевірте з’єднання, надіславши /start боту.
Крок 2: Авторизація користувачів
Додайте ноду IF після тригера. Налаштуйте перевірку username:
- Якщо username дорівнює дозволеному (наприклад, “user_1”) — продовжуємо
- Якщо ні — відправляємо повідомлення “Заборонено”
Крок 3: Визначення типу аудіофайлу
Додайте ноду Switch для перевірки типу:
- Перший варіант:
voice - Другий варіант:
audio - Fallback: повідомлення про нерозпізнаний файл
Після кожної гілки додайте Set ноду, яка створює уніфіковане поле file_id. Це дозволить обробляти обидва типи файлів однаково.
Крок 4: Перевірка формату
Додайте IF ноду, яка перевіряє MIME type аудіо:
- OGG (audio/ogg)
- MPEG (audio/mpeg)
- MP4 (audio/mp4)
Якщо формат не підходить — відправляємо повідомлення про помилку.
Крок 5: Завантаження файлу
Додайте Telegram Get File ноду. У параметрі File ID вкажіть шлях до уніфікованого поля з попереднього кроку.
Крок 6: Повідомлення про початок
Додайте Telegram Send Message ноду з текстом “Починаємо транскрибацію”. Це дає користувачу зворотний зв’язок.
Крок 7: Транскрибація через OpenAI
Додайте OpenAI Transcribe ноду:
- Підключіть OpenAI credential
- Виберіть модель (найдешевша — Whisper)
- У налаштуваннях (
Settings → On Error) виберіть “Continue Using Error Output”
Це створить дві гілки: успіх та помилка.
Крок 8: Резервна транскрибація
Якщо OpenAI не спрацювала, додайте альтернативний шлях. Використайте Set ноду для отримання бінарного файлу з попередніх кроків, потім додайте іншу модель транскрибації.
Для уніфікації результату додайте Edit Fields ноду, яка перейменує вихідне поле в text для обох варіантів.
Крок 9: Обробка довгих текстів
Додайте IF ноду, яка перевіряє довжину тексту:
- Якщо менше 4000 символів — відправляємо одразу
- Якщо більше — передаємо в Code ноду
У Code ноді використайте простий JavaScript для розбиття тексту на частини по 4000 символів. Після розбиття кожна частина передається в Telegram Send Message.
Крок 10: Відправка результату
Фінальна Telegram Send Message нода отримує:
- Chat ID з початкового повідомлення
- Текст транскрибації
У налаштуваннях вимкніть “Append n8n Attribution”, щоб прибрати підпис від n8n.
Важливі технічні деталі
Обмеження OpenAI: максимальний розмір файлу — 25 МБ. Для більших файлів потрібні альтернативні рішення.
Формат даних: коли посилаєтесь на дані з попередніх нод, використовуйте Expression mode. Наприклад: {{ $json.message.chat.id }} для Chat ID.
Бінарні дані: у версії 2.0 n8n можна працювати з бінарними файлами через Set ноду. Використовуйте {{ $binary.data }} для доступу до файлу.
Пінування даних: під час розробки пінуйте (pin) дані в нодах зі штучним інтелектом, щоб не витрачати токени на кожне тестування.
Як тестувати
- Збережіть workflow
- Активуйте його
- Надішліть голосове повідомлення боту
- Перевірте всі гілки: успішну транскрибацію, fallback, довгі тексти
90% автоматизацій працюють саме так: спочатку проста ідея, потім через тестування виявляються нюанси, які треба закрити додатковою логікою.
Можливості для покращення
Базовий бот готовий, але його можна значно розширити:
- Додати форматування виводу через GPT (підсумки, тези, структуровані списки)
- Налаштувати різні формати відповіді для різних контекстів
- Інтегрувати з системами зберігання нотаток
- Додати категоризацію записів
Особисто використовую окремі ноди для подальшої обробки тексту. Спочатку отримую сирий текст, а потім трансформую його під конкретні задачі.
Висновки
Створення бота для транскрибації — це практичний приклад того, як проста ідея перетворюється на надійну систему. Ключові елементи успіху:
- Авторизація — захист від небажаних користувачів
- Зворотний зв’язок — повідомлення на кожному етапі
- Fallback — резервні варіанти для критичних операцій
- Обробка помилок — що робити, коли щось йде не так
- Тестування — багато тестувань виявляють приховані проблеми
n8n відкриває величезні можливості для автоматизації. Те, що раніше здавалося неможливим поєднати, тепер працює в єдиній системі.
Blueprint цього бота доступний безкоштовно. Якщо хочете подякувати за розробку — зможете залишити донат під час завантаження.
Ваш бізнес настільки сильний, наскільки сильні його системи. Автоматизуйте!


