Статья Автор: Деникина Н.В., Деникин А.В.

Базовые методы разработки телеграмм-бота

Разберем код, который был на предыдущем шаге.

python-telegram-bot (PTB) - современная, поддерживаемая библиотека для работы с Telegram Bot API на Python.  

1. telegram (основной модуль)
Содержит классы объектов Telegram:
  • Update — входящее обновление (сообщение, callback от кнопки и т.д.).
  • Message, User, Chat — данные о сообщении, отправителе и чате.
  • ReplyKeyboardMarkup, InlineKeyboardButton — инструменты для создания кнопок.
2. telegram.ext (расширения для бота)
Здесь всё для обработки событий и управления ботом.


В нашем примере шагом ранее первыми строчками импортируются нужные классы (по мере усложнения бота необходимо импортировать другие классы)

from telegram import Update
from telegram.ext import Application, CommandHandler, CallbackContext
  • Импорт классов:

    • Update – содержит информацию о входящем сообщении (текст, пользователь, чат и т.д.).

    • Application – основной класс для управления ботом (заменяет Updater в старых версиях).

    • CommandHandler – обрабатывает команды (начинающиеся с /).

    • CallbackContext – предоставляет доступ к дополнительным данным (например, аргументам команд).


 
async def start(update: Update, context: CallbackContext):
    await update.message.reply_text("Привет! Я бот-кинотеатр. Используй /film.")
  • Асинхронная функция start:

    • async/await – означает, что функция работает асинхронно (бот может обрабатывать несколько запросов одновременно).

    • update.message.reply_text() – отправляет ответ пользователю в тот же чат.

    • Вызывается при команде /start.


 
def main():
    application = Application.builder().token("ВАШ_ТОКЕН").build()
  • Создание приложения бота:

    • Application.builder() – конфигурирует бота.

    • .token("ВАШ_ТОКЕН") – устанавливает токен, полученный от @BotFather. Вместо ВАШ_ТОКЕН скопируйте токен, который был получен от @BotFather

    • .build() – завершает настройку.


 
    application.add_handler(CommandHandler("start", start))
  • Регистрация обработчика команд:

    • CommandHandler("start", start) – привязывает команду /start к функции start().

    • add_handler() – добавляет обработчик в диспетчер бота.


 
    application.run_polling()
  • Запуск бота:

    • run_polling() – запускает бесконечный цикл опроса серверов Telegram на новые сообщения.


 
if __name__ == "__main__":
    main()
  • Точка входа:

    • Скрипт выполняется только при прямом запуске (а не при импорте).

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать