Лабораторная работа 1
"Создание первого Telegram-бота без программирования"
Описание
В этой лабораторной работе вы создадите своего первого Telegram-бота, используя только естественный язык и LLM. Никаких знаний программирования не требуется - только умение четко формулировать задачи!
Цель работы
Научиться создавать работающего бота для решения реальных бизнес-задач, используя AI-инструменты вместо написания кода вручную.
Правила по оформлению
Правила по оформлению отчета по лабораторной работе вы можете изучить по ссылке.
Ход работы
Шаг 1: Выбор задачи
Выберите один из вариантов (или предложите свой):
1. Бот-помощник для команды
- Отвечает на вопросы о компании/проекте/команде
- Хранит контакты коллег
- Напоминает о важных событиях
- Отправляет ежедневные дайджесты
2. Бот для сбора обратной связи
- Собирает мнения команды по вопросам
- Формирует сводные отчеты
- Отправляет уведомления руководителю
- Ведет статистику
3. Бот-ассистент для задач
- Принимает задачи в текстовом виде
- Организует их по приоритетам
- Отправляет напоминания
- Формирует списки дел
4. Бот-агрегатор информации
- Собирает новости по определенным темам
- Отправляет ежедневные дайджесты
- Фильтрует информацию по ключевым словам
- Сохраняет интересные материалы
Шаг 2: Создание бота в Telegram
- Откройте @BotFather в Telegram
- Отправьте команду
/newbot - Придумайте название бота (например: "HR Helper Bot")
- Придумайте username (формат:
itmoftmi_ИНИЦИАЛЫ_bot) - Сохраните полученный токен в безопасном месте
Шаг 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: Генерация кода
- Скопируйте промпт в LLM
- Получите сгенерированный код
- Сохраните все файлы в папку проекта
- Вставьте токен бота в переменную окружения
Шаг 5: Запуск и тестирование
- Установите зависимости:
pip install -r requirements.txt - Запустите бота:
python bot.py - Откройте бота в Telegram
- Протестируйте все функции
- Запишите видео-демо (2-3 минуты)
Шаг 6: Улучшения (опционально)
Если что-то работает не так:
- Уточните промпт для LLM
- Попросите исправить конкретную проблему
- Итеративно улучшайте бота
Результаты лабораторной работы
В результате данной работы у вас должно быть:
- ✅ Работающий Telegram-бот
- ✅ Код создан через LLM (промпт сохранен)
- ✅ Бот выполняет заявленный функционал
- ✅ Видео-демо работы бота (2-3 минуты)
- ✅ Отчет по лабораторной работе
Критерии оценивания
- Работоспособность (40%): Бот запускается и выполняет основные функции
- Функционал (30%): Реализованы все заявленные возможности
- Промпт-инжиниринг (20%): Качество промпта и итераций с LLM
- Отчет и демо (10%): Качество отчета и видео-презентации
Отчет по лабораторной работе
Отчет должен включать:
- Описание задачи
- Какую проблему решает бот
-
Почему выбрали именно эту задачу
-
Промпт для LLM
- Исходный промпт
- Итерации и улучшения (если были)
-
Финальный промпт
-
Стек технологий
- Какие библиотеки использовались
-
Почему выбрали именно их
-
Скриншоты и видео
- Скриншоты работы бота
-
Видео-демо (ссылка на YouTube/Google Drive)
-
Трудности и решения
- С какими проблемами столкнулись
-
Как их решили
-
Выводы
- Что получилось хорошо
- Что можно улучшить
- Чему научились
Полезные ссылки
- python-telegram-bot Documentation
- Telegram Bot API
- Cursor IDE
- Prompt Engineering Guide
- Python для начинающих
- BotFather - создание ботов
Часто задаваемые вопросы
Q: Нужно ли знать Python?
A: Не обязательно! LLM поможет сгенерировать код. Но базовое понимание поможет быстрее находить и исправлять ошибки.
Q: Что если бот не работает?
A: Это нормально! Скопируйте ошибку в LLM и попросите исправить. Это часть обучения.
Q: Можно ли использовать другой язык программирования?
A: Да, но Python - самый простой вариант для Telegram-ботов.
Q: Нужно ли размещать бота на сервере?
A: Для этой лабы достаточно запустить локально. Для постоянной работы - см. Lab3.
Q: Что делать, если токен попал в Git?
A: Немедленно отзовите токен в BotFather (/revoke) и создайте новый. Используйте .env файл и .gitignore.