Рубріки: Back-endОснови

Як створити Телеграм-бот на Python за 30 хвилин

Дмитро Сімагін

Не секрет, що багатьох молодих розробників цікавить тема створення свого власного бота в Telegram. Але більшість з них у підсумку відмовляються від реалізації цієї ідеї, вважаючи, що створити бот на Python або на іншій мові програмування — це занадто довго і складно. До того ж, не всі мають необхідні для цього навички. Сьогодні ми розберем, як створити Telegram-бот на Python з використанням бібліотеки python-telegram-bot.

Розробка телеграм-бота не потребує великого досвіду в програмуванні. Все можна зробити буквально за 30 хвилин. Якщо у вас встановлений Python, то крім бібліотеки та Telegram API більше нічого й не треба. Достатньо дотримуватися рекомендацій, викладених у цьому посібнику. Тож поїхали!

Частина 1. Встановлюємо бібліотеки

Щоб зробити бот для Телеграм на мові Python, нам знадобиться бібліотека python-telegram-bot. Вона дуже прискорює роботу з Telegram API. Але у вас можуть бути інші сумісні бібліотеки.

pip install python-telegram-bot

 

Частина 2. Отримуємо токен для бота

Наступним етапом створення бота буде отримання токена від @BotFather. Це бот компанії Telegram, який підтримує запити програмістів. Процедура дій з генерування токена проста:

Заходимо в Telegram і вбиваємо у пошуковому рядку @BotFather.

У вікні пишемо /start. Потім отримуємо відповідь на повідомлення та дотримуємося подальших інструкцій.

Після цього вам видадуть токен. Його ви будете використовувати у роботі з API Telegram.

Частина 3. Створюємо бот на Python

Тепер настав час розпочати написання коду. Зараз ми створимо простого бота, який генеруватиме відповіді на команду /start та інші повідомлення.

from telegram import Update
з telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters, ContextTypes

# Обробляємо команду /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
 user_first_name = update.effective_user.first_name
 await update.message.reply_text(f"Привіт, {user_first_name}! Я твій бот.\n"
 "Використовуй команду /help, щоб побачити мої можливості.")

# Обробляємо команду /help
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
 await update.message.reply_text("Ось що я можу зробити:\n"
 "/start - Почати спілкування зі мною\n"
 "/help - Дізнатися, що я вмію\n"
 "Також я відповім на твої запити!")

# Обробляємо всі повідомлення
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
 user_message = update.message.text
 await update.message.reply_text(f"Ти сказав: {user_message}")

# Основна функція запуску
async def main():
 # Вставте сюди свій токен
 application = ApplicationBuilder().token("YOUR_BOT_TOKEN_HERE").build()

 # Реєстрація обробників команд та повідомлень
 application.add_handler(CommandHandler("start", start))
 application.add_handler(CommandHandler("help", help_command))
 application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))

 # Запуск бота
 await application.run_polling()

if __name__ == '__main__':
 import asyncio
 asyncio.run(main())

 

Частина 4. Тестуємо Telegram-бот

Зберігаємо код у файл. Назва бота може бути будь-яким словом, що сподобалося, наприклад, bot.py. Потім можемо запустити файл:

python bot.py

 

Після запуску Telegram-бота ви напевно побачите, що він вміє читати надіслані йому команди. Наприклад, після відправки йому текстової команди /start бот створить вітання у відповідь. На інші повідомлення він поки що не реагує. Це недолік, який нам потім доведеться виправити. Адже нашому боту потрібно виконувати кілька завдань одночасно.

Частина 6. Розгортання нового робота

При написанні коду ми використовували метод start_polling(), який підходить для локального тестування. Але для продакшена ефективніше використовувати вебхуки.

Щоб налаштувати вебхуки, потрібно розгорнути сервер. Для цього, крім домену, також знадобиться встановлення SSL-сертифіката. На домен надсилатимуться запити, які обробляє наш бот, взаємодіючи з базами даних на віртуальному сервері.

Що таке вебхуки

Вебхуки (webhooks) — це метод передачі повідомлення або даних з боку веб-програми. Завдяки вебхукам надсилаються HTTP-запити на веб-адресу. Вебхуки — це свого роду зв’язуюча ланка між програмою та сервером. Принцип їх роботи полягає в тому, що розробник вказує в налаштуваннях вебхуків адресу сайту (це може бути URL або IP-адреса сервера). Далі на цю адресу Телеграм відправлятиме дані, які отримує бот: повідомлення та команди користувачів.

Після того, як дані у форматі JSON відправилися на сервер, відбувається їхня обробка. У результаті сервер посилає користувачеві повідомлення або пропонує виконати якусь дію, щоб бот у месенджері продовжив роботу.

Які команди можна додати у Телеграм-бот

Розширення функціоналу вашого бота повністю залежить від того, які потреби він має виконувати. Якщо ви вагаєтесь з цим питанням, то ось лише кілька найбільш поширених завдань, які можна доручити віртуальному помічнику:

  • Автоматична обробка запитів з генерацією осмислених відповідей.
  • Надсилання нагадувань або сповіщень про важливі новини.
  • Обробка та видача даних із зовнішніх платформ (відображення поточної температури та прогнозу погоди, курс валют, рядок новин тощо).
  • Прийом, конвертація та надсилання файлів.
  • Обробка платіжних даних, прийом оплати чи пожертвувань.
  • Автоматична модерація повідомлень.
  • Створення опитувань та вікторин з питаннями та відповідями.
  • Запит та відправка геолокації. Пошук найближчих локацій, які цікавлять користувача (заправки, кафе, банківські відділення).
  • Міні-ігри.
  • Генерація тексту (анекдоти, цитати).

Як бачите, функціонал Telegram-бота обмежується лише фантазією його господаря та технічними можливостями сервісу.

Висновок

Завдяки цьому посібнику ви дізналися, як створити Telegram-бот з використанням мови Python. Як ви вже переконалися, щоб бот почав працювати, достатньо мінімальних навичок програмування.

Після тестування та запуску бота можна розпочати розширення його функціоналу, додавши нові команди, інтерактивні кнопки, інтеграцію із зовнішніми API та інші функції.

За бажання бот для взаємодії з користувачами можна написати не лише за допомогою Telegram bot api, але й іншими мовами програмування: наприклад, у середовищі Visual Studio Code або навіть у Java.

 

Останні статті

Україна обирає представника для глобального фіналу Startup World Cup 2026 у Кремнієвій долині

Українські технологічні проєкти мають шанс заявити про себе на світовій арені. Відкрито прийом заявок на…

24.04.2026

Microsoft шукає «добровольців» на звільнення: пропонують річну зарплату, але не всім

Корпорація Microsoft пропонує частині своїх досвідчених співробітників у США залишити посаду добровільно, запроваджуючи програму викупу…

24.04.2026

DeepSeek випускає нову модель V4 Pro. Вона має 1,6 трильйона параметрів і дуже дешева

Китайська компанія DeepSeek представила свій новий флагман — LLM-модель DeepSeek-V4. Рівно через рік після свого…

24.04.2026

Audi та Volkswagen переходять на китайський штучний інтелект: Alibaba Qwen лідирує

Китайський технологічний гігант Alibaba оголосив про масштабне розширення своєї присутності на ринку електроавтомобілів. Велика мовна…

24.04.2026

Вайб-воркінг: Microsoft дозволить агентам працювати за вас у Word та Excel

Компанія Microsoft розширює застосування концепції під назвою Vibe Working (вайб-воркінг) та спеціального режиму роботи Agent…

24.04.2026

OpenAI повертає лідерство: GPT-5.5 випередила Claude Opus 4.7 у ключовому бенчмарку Terminal-Bench 2.0

Компанія OpenAI представила GPT-5.5 — нову LLM-модель, орієнтовану на виконання складних багатоетапних завдань з мінімальним…

24.04.2026