Создаем Telegram-бота на Python: руководство

Подключаем библиотеку telebot и создаём бота, обрабатывающего команды.

Подключение библиотеки Telebot и создание бота

Установите библиотеку telebot с помощью pip install pyTelegramBotAPI. Затем подключите её и создайте объект бота, передав ему токен:

import telebot

bot = telebot.TeleBot("YOUR_BOT_TOKEN") # Замените YOUR_BOT_TOKEN на ваш токен

Токен можно получить в BotFather.

Обработка команд и текста

Используем декоратор @bot.message_handler для обработки команд и текстовых сообщений.

Обработка команды /start

@bot.message_handler(commands=['start'])
def handle_start(message):
    bot.send_message(message.chat.id, "Привет")

Функция handle_start обрабатывает команду /start.

Обработка нескольких команд

Можно обрабатывать несколько команд одновременно:

@bot.message_handler(commands=['start', 'main', 'hello'])
def handle_commands(message):
    bot.send_message(message.chat.id, "Привет")

Обработка обычного текста

Для обработки обычного текста:

@bot.message_handler(func=lambda message: True)
def handle_text(message):
    text = message.text.lower()
    if text == "привет":
        bot.send_message(message.chat.id, f"Привет, {message.from_user.first_name} {message.from_user.last_name}")
    elif text == "id":
        bot.reply_to(message, f"Ваш ID: {message.from_user.id}")

Обратите внимание на использование message.text.lower() и bot.reply_to. Расположение этого обработчика важно для предотвращения перехвата команд.

Форматирование и дополнительные функции

Форматирование текста с помощью HTML

Используйте параметр parse_mode="HTML" в send_message:

bot.send_message(message.chat.id, "<b>Help</b> <i>Information</i><u>!</u>", parse_mode="HTML")

Получение информации о пользователе

Объект message содержит информацию о пользователе: message.from_user.first_name, message.from_user.last_name, message.from_user.id.

Добавление кнопок

Метод set_my_commands добавляет кнопки:

bot.set_my_commands([
    telebot.types.BotCommand("/сайт", "Открыть веб-сайт")
])

Запуск бота в бесконечном цикле

Для постоянной работы бота используйте:

bot.polling(non_stop=True)

(Альтернатива: infinity_polling). Прервите выполнение (например, Ctrl+C) для остановки.

Этот урок охватывает основы создания Telegram-бота на Python: подключение библиотеки, обработку команд и текста, форматирование сообщений, получение информации о пользователе и добавление кнопок.

Что будем искать? Например,программа