JavaRush /Курси /Модуль 4: FastAPI /Встановлення бібліотеки python-telegram-bot для роботи з ...

Встановлення бібліотеки python-telegram-bot для роботи з API

Модуль 4: FastAPI
Рівень 18 , Лекція 1
Відкрита

Перш ніж почати встановлення, нагадаю, що керування залежностями — це як керування проєктом: якщо не виділити спеціального простору для експериментів, можна випадково знести щось важливе. Щоб уникнути руйнувань у нашому Python-світі, використовуйте віртуальні оточення (virtual environments). Це як пісочниця, тільки для коду!

Створення віртуального оточення

Якщо ви вже освоїли віртуальні оточення в Python, цей крок здасться тривіальним. Використаємо стандартний інструмент venv, який входить у Python з коробки:


# Створюємо віртуальне оточення
python -m venv telegram_bot_env

# Активуємо його
# Windows:
telegram_bot_env\Scripts\activate
# macOS/Linux:
source telegram_bot_env/bin/activate

Після активації віртуального оточення ваш командний рядок має змінити вигляд, додавши префікс (telegram_bot_env). Це означає, що ви всередині свого безпечного ізольованого простору.

Оновлення pip

Перш ніж встановлювати бібліотеку, давайте переконаємося, що pip (наш універсальний інсталятор Python-пакетів) оновлений до останньої версії. Стара версія навряд чи скаже вам «дякую» за новий код.


pip install --upgrade pip

Встановлення бібліотеки python-telegram-bot

Ймовірно, головна зірка сьогоднішньої лекції — бібліотека python-telegram-bot. Ця бібліотека буде нашим універсальним інструментом для взаємодії з Telegram Bot API. Її розробники проделали приголомшливу роботу, зробивши процес спілкування з ботом людино-подібним (майже Turing-тест спрацює!).

Встановлення через pip

Все просто, як "Hello, World!":


pip install python-telegram-bot[ext]

Опція [ext] встановлює додаткові залежності, які розширюють функціональність бібліотеки. Це стане в пригоді, якщо ви плануєте використовувати webhooks у майбутньому.

Без опції [ext], мінімальна установка виглядає так:


pip install python-telegram-bot

Перевірка встановлення

Після встановлення перевірте, що бібліотека встановлена коректно, запустивши наступний скрипт:


import telegram
print(telegram.__version__)  # Має виводитися версія встановленої бібліотеки

Якщо ви бачите версію бібліотеки (наприклад, 20.0), вітаю — усе готово для створення вашого бота! Якщо натомість бачите помилку, швидше за все віртуальне оточення неактивне або бібліотека встановилася не туди. Перевірте середовище або перевстановіть бібліотеку.


Основи використання бібліотеки

Тепер, коли бібліотека встановлена, давайте розберемося з її базовими можливостями.

Найпростіший бот за 5 хвилин

Не відкладатимемо: створимо файл simple_bot.py і напишемо базовий код, який просто відповідає "Привіт!" на будь-яке повідомлення. Це перша сходинка в світ Telegram-ботів.


from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters

# Обробник команди /start
async def start(update: Update, context):
    await update.message.reply_text("Привіт! Я твій перший Telegram-бот!")

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

# Головна функція
async def main():
    # Ініціалізація Application
    application = Application.builder().token("ВАШ_ТЕЛЕГРАМ_ТОКЕН").build()

    # Підключаємо обробники
    application.add_handler(CommandHandler("start", start))
    application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))

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

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

Як це працює?

  1. Імпорти: ми імпортуємо Application, CommandHandler, MessageHandler та інші частини бібліотеки, які дозволять нам працювати з ботом як із набором обробників подій.
  2. Функція start: при виклику команди /start бот відповідає вітальним повідомленням.
  3. Функція echo: будь-яке текстове повідомлення, що не є командою, бот просто повертає з додаванням «Ти сказав:».
  4. Головна функція main: тут відбувається магія. Через метод Application.builder() ми ініціалізуємо бота, передаючи токен (про отримання токена поговоримо в наступній лекції). Потім ми додаємо обробники команд і повідомлень.
  5. Запуск застосунку: метод application.run_polling() вмикає вашого бота в режим «живого прослуховування» повідомлень.

Типові помилки та їх вирішення

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

  • Помилка "ModuleNotFoundError: No module named 'telegram'": Ймовірно, ви забули активувати віртуальне оточення перед встановленням або написали import telegram до встановлення бібліотеки.
  • Помилка "Invalid token": зачекайте трохи, у наступній лекції ми обговоримо, як правильно отримати токен і керувати ним.
  • Помилка "AttributeError: module 'telegram' has no attribute 'Bot'": ви, ймовірно, раніше встановили стару версію бібліотеки. Переконайтеся, що у вас актуальна версія (20.x або вище).

Чому це важливо?

Вибір правильної бібліотеки може як прискорити, так і загальмувати розробку. python-telegram-bot — один із найзручніших і найпотужніших інструментів для роботи з Telegram Bot API. Його синтаксис інтуїтивно зрозумілий, а документація на офіційному сайті повноцінно покриває більшість практичних випадків.

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


На цьому наша установка завершена. У наступній лекції ми займемося налаштуванням вашого бота в Telegram і отриманням API токена через BotFather. Готуйтеся стати батьками свого першого бота!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ