Skip to content

Лабораторная работа 1

"Создание первого Telegram-бота без программирования"

Описание

В этой лабораторной работе вы создадите своего первого Telegram-бота, используя только естественный язык и LLM. Никаких знаний программирования не требуется - только умение четко формулировать задачи!

Цель работы

Научиться создавать работающего бота для решения реальных бизнес-задач, используя AI-инструменты вместо написания кода вручную.

Правила по оформлению

Правила по оформлению отчета по лабораторной работе вы можете изучить по ссылке.

Ход работы

Шаг 1: Выбор задачи

Выберите один из вариантов (или предложите свой):

1. Бот-помощник для команды

  • Отвечает на вопросы о компании/проекте/команде
  • Хранит контакты коллег
  • Напоминает о важных событиях
  • Отправляет ежедневные дайджесты

2. Бот для сбора обратной связи

  • Собирает мнения команды по вопросам
  • Формирует сводные отчеты
  • Отправляет уведомления руководителю
  • Ведет статистику

3. Бот-ассистент для задач

  • Принимает задачи в текстовом виде
  • Организует их по приоритетам
  • Отправляет напоминания
  • Формирует списки дел

4. Бот-агрегатор информации

  • Собирает новости по определенным темам
  • Отправляет ежедневные дайджесты
  • Фильтрует информацию по ключевым словам
  • Сохраняет интересные материалы

Шаг 2: Создание бота в Telegram

  1. Откройте @BotFather в Telegram
  2. Отправьте команду /newbot
  3. Придумайте название бота (например: "HR Helper Bot")
  4. Придумайте username (формат: itmoftmi_ИНИЦИАЛЫ_bot)
  5. Сохраните полученный токен в безопасном месте

Шаг 3: Составление промпта для LLM

Откройте Cursor или выберите LLM (Claude, ChatGPT, Gigachat) и составьте промпт по следующему шаблону:

Создай Telegram-бота на Python с использованием библиотеки python-telegram-bot.

Функционал бота:
- [Опишите что должен делать бот]
- [Какие команды должны быть]
- [Как бот должен отвечать]
- [Какие данные хранить]

Требования:
- Бот должен быть простым и понятным
- Код должен быть хорошо прокомментирован
- Использовать файл для хранения данных (JSON или SQLite)
- Добавить обработку ошибок

Создай:

1. Файл bot.py с кодом бота
2. Файл requirements.txt с зависимостями
3. Файл README.md с инструкцией по запуску
4. Файл .env.example для примера конфигурации

Шаг 4: Генерация кода

  1. Скопируйте промпт в LLM
  2. Получите сгенерированный код
  3. Сохраните все файлы в папку проекта
  4. Вставьте токен бота в переменную окружения

Шаг 5: Запуск и тестирование

  1. Установите зависимости: pip install -r requirements.txt
  2. Запустите бота: python bot.py
  3. Откройте бота в Telegram
  4. Протестируйте все функции
  5. Запишите видео-демо (2-3 минуты)

Шаг 6: Улучшения (опционально)

Если что-то работает не так:

  • Уточните промпт для LLM
  • Попросите исправить конкретную проблему
  • Итеративно улучшайте бота

Результаты лабораторной работы

В результате данной работы у вас должно быть:

  • ✅ Работающий Telegram-бот
  • ✅ Код создан через LLM (промпт сохранен)
  • ✅ Бот выполняет заявленный функционал
  • ✅ Видео-демо работы бота (2-3 минуты)
  • ✅ Отчет по лабораторной работе

Критерии оценивания

  • Работоспособность (40%): Бот запускается и выполняет основные функции
  • Функционал (30%): Реализованы все заявленные возможности
  • Промпт-инжиниринг (20%): Качество промпта и итераций с LLM
  • Отчет и демо (10%): Качество отчета и видео-презентации

Отчет по лабораторной работе

Отчет должен включать:

  1. Описание задачи
  2. Какую проблему решает бот
  3. Почему выбрали именно эту задачу

  4. Промпт для LLM

  5. Исходный промпт
  6. Итерации и улучшения (если были)
  7. Финальный промпт

  8. Стек технологий

  9. Какие библиотеки использовались
  10. Почему выбрали именно их

  11. Скриншоты и видео

  12. Скриншоты работы бота
  13. Видео-демо (ссылка на YouTube/Google Drive)

  14. Трудности и решения

  15. С какими проблемами столкнулись
  16. Как их решили

  17. Выводы

  18. Что получилось хорошо
  19. Что можно улучшить
  20. Чему научились

Полезные ссылки

Часто задаваемые вопросы

Q: Нужно ли знать Python?
A: Не обязательно! LLM поможет сгенерировать код. Но базовое понимание поможет быстрее находить и исправлять ошибки.

Q: Что если бот не работает?
A: Это нормально! Скопируйте ошибку в LLM и попросите исправить. Это часть обучения.

Q: Можно ли использовать другой язык программирования?
A: Да, но Python - самый простой вариант для Telegram-ботов.

Q: Нужно ли размещать бота на сервере?
A: Для этой лабы достаточно запустить локально. Для постоянной работы - см. Lab3.

Q: Что делать, если токен попал в Git?
A: Немедленно отзовите токен в BotFather (/revoke) и создайте новый. Используйте .env файл и .gitignore.