Skip to content

Telegram bot for menstrual cycle tracking - an open-source alternative to Flo app with cycle calendar, symptoms tracking, partner sharing, reminders, and health analytics.

Notifications You must be signed in to change notification settings

l1v0n1/flo-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flo Telegram Bot

Полнофункциональный телеграм-бот для отслеживания менструального цикла - аналог приложения Flo.

Возможности

  • 📅 Календарь цикла - отслеживание менструального цикла с предсказанием следующих месячных и овуляции
  • 📊 Статистика - анализ данных о циклах, симптомах и настроении
  • Отслеживание менструации - отметка начала и окончания месячных
  • ❤️ Сексуальная активность - отслеживание дней секса с указанием защиты
  • 😊 Отслеживание настроения - запись ежедневного настроения
  • 🤒 Отслеживание симптомов - запись различных симптомов (боль, головная боль, усталость и др.)
  • 👥 Партнеры - возможность делиться календарем цикла с партнером
  • ⚖️ Вес - отслеживание веса
  • 🌡️ Базальная температура - отслеживание базальной температуры тела
  • 💧 Выделения - отслеживание типа выделений
  • 🏃 Физическая активность - запись спорта и физических упражнений
  • 😴 Сон - отслеживание количества и качества сна
  • 📝 Заметки - личные заметки
  • ⚙️ Настройки - настройка длины цикла и менструации
  • 🔔 Напоминания - уведомления о приближающихся месячных и овуляции

Установка

  1. Клонируйте репозиторий или скачайте файлы

  2. Установите зависимости:

pip install -r requirements.txt
  1. Создайте бота в Telegram:

    • Откройте @BotFather в Telegram
    • Отправьте команду /newbot
    • Следуйте инструкциям для создания бота
    • Сохраните полученный токен
  2. Настройте переменные окружения:

    • Скопируйте .env.example в .env
    • Вставьте токен бота в файл .env:
    TELEGRAM_BOT_TOKEN=ваш_токен_бота
    

    Или экспортируйте переменную окружения:

    export TELEGRAM_BOT_TOKEN=ваш_токен_бота

Запуск

python bot.py

Использование

  1. Запустите бота командой /start
  2. При первом запуске настройте длину цикла и менструации
  3. Используйте кнопки меню для навигации:
    • 📅 Календарь - просмотр календаря цикла с предсказанием следующих месячных и овуляции
    • 📊 Статистика - просмотр статистики по циклам, симптомам и настроению
    • ➕ Отметить месячные - отметить начало/конец менструации
    • ❤️ Секс - отметить сексуальную активность
    • 😊 Настроение - записать ежедневное настроение
    • 🤒 Симптомы - записать симптомы (боль, головная боль, усталость и др.)
    • 👥 Партнеры - добавить партнера для просмотра календаря
    • 📝 Дополнительно - вес, температура, выделения, активность, сон, заметки
    • ⚙️ Настройки - изменить длину цикла и менструации

Для партнеров

Если вас добавили как партнера, просто запустите бота командой /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

About

Telegram bot for menstrual cycle tracking - an open-source alternative to Flo app with cycle calendar, symptoms tracking, partner sharing, reminders, and health analytics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages