Skip to content
Шевченко Диана edited this page Apr 2, 2025 · 3 revisions

Telegram-бот "Галочка-Напоминалочка"

Персональный помощник для управления задачами

Авторский коллектив

🎓 Об авторах

Мы — команда студентов первого курса Университета ИТМО, объединенных общим интересом к разработке программного обеспечения и созданию инновационных решений.

🔹 Авторы проекта:

  • Кретова Ксения Сергеевна (группа R3135, ИСУ: 466354)
  • Шевченко Диана Андреевна (группа R3136, ИСУ: 468078)
  • Шляхтичман Елизавета Дмитриевна (группа R3135, ИСУ: 468110)
  • Забурдаева Екатерина Дмитриевна (группа R3135, ИСУ: 465911)

🏛 Учебное заведение: ИТМО

📌 Факультет: Систем управления и робототехники (СУиР)

Содержание

  1. Общее описание
  2. Архитектура проекта
  3. Установка и настройка
  4. Функционал бота
  5. Файловая структура
  6. API и библиотеки
  7. Примеры использования

1. Общее описание

🎯 Назначение

Бот "Галочка" — интеллектуальный помощник для:

  • 📅 Управления задачами
  • 🔔 Напоминаний
  • 🚀 Планирования дня

🌟 Основные функции

Функция Описание
Заметки Создание с/без дедлайна
Напоминания Автоматические уведомления
NASA API Ежедневный список с задачами

💻 Технологии

Python 3.10+
Telegram Bot API
NASA APOD API
CSV-базы данных

2. Архитектура проекта

📐 Диаграмма классов

classDiagram
    class Registration{
        +get_name()
        +get_age()
        +save_to_file()
    }
    
    class Note{
        <<abstract>>
        +save_to_file()
    }
    
    class NoteWithDeadline{
        +deadline
    }
    
    class NoteWithoutDeadline
    
    Note <|-- NoteWithDeadline
    Note <|-- NoteWithoutDeadline
Loading

3. Установка и настройка

⚙️ Требования

pip install -r requirements.txt

🔑 Переменные окружения

TELEGRAM_BOT_TOKEN=ваш_токен
NASA_API_KEY=ваш_ключ

🚀 Запуск

python bot.py

4. Функционал бота

Регистрация:

  1. Пользователь запускает бота командой /start
  2. Вводит имя и возраст
  3. Подтверждает данные

📝 Работа с заметками

  • Создание:
    • С дедлайном (дата + текст)
    • Без дедлайна (только текст)
  • Просмотр: список всех заметок
  • Удаление: выбор из списка
# Пример создания заметки
note = NoteWithDeadline(chat_id, "Купить молоко", "2023-12-31 18:00")
note.save_to_file()

⏰ Напоминания

  • Ежедневные в 10:00
  • За день до дедлайна в 19:00

5. Файловая структура

/project
│── project.py
│── project_final.py 
│── users.csv         # chat_id,name,age
│── notes_dd.csv      # chat_id,text,deadline,note_id
└── notes_wo_dd.csv   # chat_id,text,note_id

6. API и библиотеки

🔗 Внешние API

Сервис Назначение
Telegram Bot API Взаимодействие с ботом
NASA APOD Ежедневный список с задачами

📚 Библиотеки

  • telebot - работа с Telegram API
  • schedule - планировщик задач
  • requests - HTTP-запросы к NASA API
  • csv - работа с CSV-файлами
  • datetime - обработка дат и времени

7. Примеры использования

Типовые сценарии:

  1. Регистрация:

    /start -> Ввод имени -> Ввод возраста -> Подтверждение
    
  2. Создание заметки:

    "Создать заметку" -> Выбор типа -> Ввод текста -> (для дедлайна) Ввод даты
    
  3. Просмотр задач:

    "Показать заметки" -> Вывод списка
    
  4. Удаление:

    "Удалить заметку" -> Выбор из списка -> Подтверждение
    
Галочка-Напоминалочка — ваш надежный помощник в планировании! ✨

Clone this wiki locally