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

Добавляем новые команды для Telegram бота

Приведем текст программы, разобранной на предыдущем шаге целиком. 
 
from telegram import Update
from telegram.ext import (
    Application,
    CommandHandler,
    MessageHandler,
    filters,
    CallbackContext,
)

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

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

    # Регистрируем обработчики команд
    app.add_handler(CommandHandler("start", start))

    # Запускаем бота
    print("Бот запущен! Для остановки нажмите Ctrl+C")
    app.run_polling()

if __name__ == "__main__":
    main()

Не забудьте в программе заменить "ВАШ_ТОКЕН", на токен , полученный от BotFather. Обратите внимание, что токен необходимо записывать в кавычках (апострофах).
 

Алгоритм добавления новой команды в Telegram-бота

Чтобы добавить новую команду, нужно выполнить 4 шага:

1. Создать функцию-обработчик

📌 Формат:

async def имя_функции(update: Update, context: CallbackContext):
    ...

📌 Пример для команды /film:

async def film(update: Update, context: CallbackContext):
    await update.message.reply_text("Рекомендую фильм: 'Крепкий орешек' (1988)")
 

2. Зарегистрировать обработчик в main()

📌 Формат:

app.add_handler(CommandHandler("команда", функция_обработчик))

📌 Пример для /film:

app.add_handler(CommandHandler("film", film))
 

3. Проверить, что команда добавлена в main()

📌 Правильно:

def main():
    app = Application.builder().token("ВАШ_ТОКЕН").build()
    
    # Регистрируем ВСЕ команды
    app.add_handler(CommandHandler("start", start))
    app.add_handler(CommandHandler("film", film))  # <- Новая команда
    
    app.run_polling()
 

4. Перезапустить бота

🔄 После изменения кода:

  1. Останови бота (Ctrl + C в консоли).

  2. Запусти заново

  3. Проверь в Telegram

    /film

Добавьте вашему боту несколько других команд

  1. Команда /help:

    • Добавьте команду /help, которая будет показывать список всех доступных команд и их описание

    • Пример ответа: "Доступные команды: /start - начало работы, /film - случайный фильм, /help - помощь"

  2. Команда /film:

    • Создай обработчик для команды /film, который будет отправлять случайную рекомендацию фильма из предопределенного списка

    • Создайте список с фильмами и используйте random.choice для выбора случайного фильма (импортируй модуль random)

    • Пример: "Сегодня рекомендую посмотреть: 'Форрест Гамп' (1994)"

  3. Команда /time:

    • Реализуй команду /time, которая будет показывать текущее время

    • Используй модуль datetime для получения времени

    • Пример ответа: "Сейчас 15:30"

  4. Команда /joke (дополнительная):

    • Создай команду /joke, которая будет отправлять случайную шутку из списка. 

    • Пример: "Почему программисты путают Хэллоуин и Рождество? Потому что Oct 31 == Dec 25!"

 

Поделитесь кодом в комментариях (если решили поделиться кодом, не забудьте УДАЛИТЬ ВАШ ТОКЕН).

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