ИТ
December 1, 2024

Создание простого интерактивного Телеграм бота на Python: полное руководство

Как настроить простого телеграм бота с python 3+ за 5 минут

Mike Soft Labs

Создание Telegram-бота может быть увлекательным проектом, независимо от того, хотите ли вы автоматизировать задачи, взаимодействовать с пользователями в режиме реального времени или просто экспериментировать с программированием. Сегодня я проведу вас через процесс создания простого, но интерактивного Telegram-бота с использованием библиотеки Python. К концу этого руководства у вас будет бот, который реагирует кнопками и плавно обрабатывает взаимодействие с пользователем.python-telegram-bot

Интересует создание миниапсов или ботов в телеграмме?

Хотите заказать или научиться делать сами?

Обращайтесь в наш канал Вокруг Крипты

Необходимые условия

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

  1. Python 3.6+ установлен на вашем компьютере.
  2. Аккаунт в Telegram для взаимодействия с BotFather и тестирования вашего бота.
  3. Библиотека python-telegram-bot, которую вы можете установить через pip:
pip install python-telegram-bot --upgrade

Шаг 1: Получите токен Telegram Bot

Для начала нужно создать бота в Telegram:

  1. Найдите BotFather в своем приложении Telegram.
  2. Запустите чат и используйте команду для создания нового бота./newbot
  3. Следуйте инструкциям, чтобы задать имя и имя пользователя для бота.
  4. BotFather подарит вам токен. Храните этот токен в безопасности, так как он будет использоваться для доступа к Telegram API.

Шаг 2: Настройка скрипта Python

Создайте новый файл Python с именем и начните с импорта необходимых модулей из пакета:telegram_bot.pytelegram.ext

from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkupfrom telegram.ext import CommandHandler, CallbackQueryHandler, Application, ContextTypespip install python-telegram-bot

Шаг 3: Написание асинхронных обработчиков ботов

Вы определите несколько асинхронных функций для обработки различных команд и взаимодействий:

Команда «Старт»

Когда пользователь запустит вашего бота, он отправит приветственное сообщение и покажет кнопки опций:

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:    await update.message.reply_text("Welcome to the Simple Telegram Bot!")    await show_option_buttons(update, context)

Отображение кнопок опций

Эта функция отправляет сообщение со встроенными кнопками для взаимодействия с пользователем:

async def show_option_buttons(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:    keyboard = [        [InlineKeyboardButton("Option 1", callback_data='button_1')],        [InlineKeyboardButton("Option 2", callback_data='button_2')],        [InlineKeyboardButton("Option 3", callback_data='button_3')],    ]    reply_markup = InlineKeyboardMarkup(keyboard)    await update.message.reply_text('Please choose an option:', reply_markup=reply_markup)

Управление выбором кнопок

При нажатии кнопки бот отредактирует сообщение, чтобы показать, какой вариант был выбран:

async def button_selection_handler(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:    query = update.callback_query    await query.answer()    await query.edit_message_text(f'You selected option: {query.data.split("_")[1]}')

Шаг 4: Добавление дополнительных команд

Теперь, когда у вас есть базовый бот, вы можете легко добавить больше команд. Например, добавим команду:/help

async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:    await update.message.reply_text(        'I can respond to the following commands:\n/start - Start the bot\n/help - Get help information'    )

Шаг 4: Запуск бота

Настройте приложение с помощью токена бота, зарегистрируйте обработчики для команд и начните опрос:

def main():    application = Application.builder().token(API_TOKEN).build()    application.add_handler(CommandHandler('start', start))    application.add_handler(CommandHandler('help', help_command))    application.add_handler(CallbackQueryHandler(button_selection_handler, pattern='^button_'))    application.run_polling()if __name__ == '__main__':    main()

Заключительные мысли

Вы успешно создали и запустили своего первого Telegram-бота с Python всего за 5 минут! Конечно, это простой бот, но возможности для того, что вы можете создать, безграничны. Вы можете расширить бота для выполнения более сложных задач, таких как получение данных, отправка оповещений или даже взаимодействие с API.

Вы можете найти полный код, описанный в этой статье, в моем репозитории GitHub: simple_telegram_bot.