Полнофункциональный телеграм-бот для отслеживания менструального цикла - аналог приложения Flo.
- 📅 Календарь цикла - отслеживание менструального цикла с предсказанием следующих месячных и овуляции
- 📊 Статистика - анализ данных о циклах, симптомах и настроении
- ➕ Отслеживание менструации - отметка начала и окончания месячных
- ❤️ Сексуальная активность - отслеживание дней секса с указанием защиты
- 😊 Отслеживание настроения - запись ежедневного настроения
- 🤒 Отслеживание симптомов - запись различных симптомов (боль, головная боль, усталость и др.)
- 👥 Партнеры - возможность делиться календарем цикла с партнером
- ⚖️ Вес - отслеживание веса
- 🌡️ Базальная температура - отслеживание базальной температуры тела
- 💧 Выделения - отслеживание типа выделений
- 🏃 Физическая активность - запись спорта и физических упражнений
- 😴 Сон - отслеживание количества и качества сна
- 📝 Заметки - личные заметки
- ⚙️ Настройки - настройка длины цикла и менструации
- 🔔 Напоминания - уведомления о приближающихся месячных и овуляции
-
Клонируйте репозиторий или скачайте файлы
-
Установите зависимости:
pip install -r requirements.txt-
Создайте бота в Telegram:
- Откройте @BotFather в Telegram
- Отправьте команду
/newbot - Следуйте инструкциям для создания бота
- Сохраните полученный токен
-
Настройте переменные окружения:
- Скопируйте
.env.exampleв.env - Вставьте токен бота в файл
.env:
TELEGRAM_BOT_TOKEN=ваш_токен_ботаИли экспортируйте переменную окружения:
export TELEGRAM_BOT_TOKEN=ваш_токен_бота - Скопируйте
python bot.py- Запустите бота командой
/start - При первом запуске настройте длину цикла и менструации
- Используйте кнопки меню для навигации:
- 📅 Календарь - просмотр календаря цикла с предсказанием следующих месячных и овуляции
- 📊 Статистика - просмотр статистики по циклам, симптомам и настроению
- ➕ Отметить месячные - отметить начало/конец менструации
- ❤️ Секс - отметить сексуальную активность
- 😊 Настроение - записать ежедневное настроение
- 🤒 Симптомы - записать симптомы (боль, головная боль, усталость и др.)
- 👥 Партнеры - добавить партнера для просмотра календаря
- 📝 Дополнительно - вес, температура, выделения, активность, сон, заметки
- ⚙️ Настройки - изменить длину цикла и менструации
Если вас добавили как партнера, просто запустите бота командой /start - вы увидите календарь цикла партнера.
Бот автоматически отправляет напоминания:
- За 3 дня до ожидаемой менструации
- За 1 день до ожидаемой менструации
- За 2 дня до овуляции
- В день овуляции
flo telegram bot/
├── bot.py # Основной файл бота
├── database.py # Работа с базой данных
├── models.py # Модели данных
├── reminders.py # Сервис напоминаний
├── requirements.txt # Зависимости
├── README.md # Документация
├── .gitignore # Игнорируемые файлы
└── flo_bot.db # База данных SQLite (создается автоматически)
Бот использует SQLite для хранения данных. База данных создается автоматически при первом запуске.
Таблицы:
users- информация о пользователяхcycles- записи о менструальных циклахsymptoms- записи о симптомахmoods- записи о настроении
- Токен бота хранится в переменных окружения, не коммитьте его в репозиторий
- База данных хранится локально
- Все данные пользователей приватны
MIT License
Создано как аналог приложения Flo для Telegram