Подключаем библиотеку 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: подключение библиотеки, обработку команд и текста, форматирование сообщений, получение информации о пользователе и добавление кнопок.