Skip to content

Телеграмм-бот для отслеживания фаз у людей с биполярным расстройством. Есть возможность анализировать сны, доставать из них метрики. Полностью за авторством ChatGPT.

License

Notifications You must be signed in to change notification settings

Amanhandele/BipolarBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BipolarBot

Телеграм-бот для ведения дневника настроения и анализа снов при биполярном расстройстве.

Возможности

  • Быстрый чек‑ин. Бот задаёт несколько простых вопросов о настроении, уровне энергии и самочувствии, чтобы быстро сохранить ваше состояние за день.
  • Дневник снов. Тексты сновидений сохраняются и анализируются: бот делает краткий юнгианский разбор и вычисляет показатель CIM‑score (Central Image Method). Метрики сохраняются в JSON и доступны в разделе «CIM‑анализ».
  • Графики и спектральный анализ. По сохранённым данным строятся наглядные графики. Спектральный анализ помогает выявить повторяющиеся циклы настроения.
  • Экспорт и пропуски. Все записи можно выгрузить в архив, а также добавить записи в те дни, когда вы забыли сделать отметку.
  • Гибкие напоминания. Бот присылает напоминания утром и вечером в указанное время, используя внутренний планировщик задач.

Бот поддерживает работу с несколькими пользователями через список AUTHORIZED_USER_IDS, но защиты паролем нет. Codex от OpenAI не смог реализовать двухкомпонентные ключи, а автор проекта не планировал включать мозги в процессе разработки.

Установка

  1. Создайте виртуальное окружение и установите зависимости:
    pip install -r requirements.txt
  2. Создайте файл Token.py рядом с bot.py и укажите в нём:
    API_TOKEN = "<токен от BotFather>"
    AUTHORIZED_USER_IDS = [123456789]  # Ваш ID без кавычек
    OPENAI_API_KEY = "<ключ OpenAI для анализа снов>"
  3. Запустите бота командой:
    python bot.py

Данные пользователей сохраняются в каталоге data/ внутри проекта.

Получение идентификатора и токена

Чтобы бот работал только с вами, необходимо указать свой Telegram ID и токен бота.

Как узнать ID

  1. Откройте диалог с ботом @getmyid_bot.
  2. Нажмите «Start». Бот пришлёт два значения: UserID и ChatID.
  3. Скопируйте число из строки UserID — его и нужно внести в Token.py без кавычек.

Как получить токен

  1. Перейдите к официальному боту BotFather и нажмите Start.
  2. Отправьте команду /newbot.
  3. В ответ введите произвольное название бота, например Bipolar Dream Bot.
  4. Далее введите уникальный username, который должен оканчиваться на bot, например bipolar_dream_bot.
  5. После этого BotFather пришлёт сообщение с API токеном вида 123456:ABC-DEF... — скопируйте его и сохраните.
  6. При необходимости вернуться к токену можно через /mybotsваш ботAPI Token.

Полученный ID и токен впишите в файл Token.py из раздела «Установка».

Получение ключа OpenAI

  1. Войдите с помощью Google аккаунта на platform.openai.com (Инструкция для создания Google аккаунта без смс "в другой стране" здесь. У меня сработало).
  2. Оплатите OpenAI API, например, через этих ребят в ТГ: @payholder_bayer (Сам пользуюсь. Быстро и дёшево. За рекламу мне не доплачивают, по крайней мере пока)
  3. Перейдите на страницу API Keys.
  4. Нажмите Create new secret key и скопируйте полученную строку.
  5. Вставьте ключ в Token.py в кавычках.

Стоимость модели gpt-4o составляет $0.005 за 1000 входных токенов и $0.015 за 1000 выходных. Пример запроса с 3500 выходными токенами и примерно 500 входными обойдётся около $0.055 (≈5 руб. при курсе 90 руб/долл).

Подготовка Python

Проект проверен только на Python 3.9 под Windows. Если Python у вас не установлен:

  1. Скачайте дистрибутив x64 по ссылке: python.org.
  2. Запустите установку и обязательно отметьте пункт «Add Python to PATH».
  3. После установки откройте новую командную строку и убедитесь, что команда python --version выводит версию 3.9.

Теперь можно переходить к установке зависимостей и запуску бота.

Зачем анализировать сны?

Анализ сновидений часто используется в психотерапии и может поддержать людей с биполярным аффективным расстройством. Свободный доступ к исследованиям подтверждает эффективность такого подхода. Например, работа «Dreaming in Bipolar Disorders — Feasibility of the Central Image Method: A Prospective Controlled Trial» описывает применение метода CIM и доступна на ResearchGate: https://www.researchgate.net/publication/384061302_Dreaming_in_Bipolar_Disorders_-_Feasibility_of_the_Central_Image_Method_A_Prospective_Controlled_Trial.

Автозапуск под Windows

Чтобы бот стартовал автоматически при входе в систему, воспользуйтесь подготовленным скриптом.

  1. Завершите настройку из раздела «Установка» — убедитесь, что файл Token.py создан и зависимости установлены.
  2. Откройте папку scripts внутри проекта и дважды щёлкните setup_autorun.vbs.
    • Если появится запрос выбора приложения, укажите WScript (обычно запускается по умолчанию).
  3. Скрипт создаст два файла рядом с собой: run_bot.bat и run_bot.vbs, а затем скопирует run_bot.vbs в папку автозагрузки %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup. После завершения появится сообщение об успешной настройке.
  4. Перезагрузите компьютер или выйдите из системы — бот запустится автоматически в фоновом режиме.
  5. Если нужно убрать автозапуск, удалите run_bot.vbs из папки автозагрузки (пункт 3) и при необходимости удалите созданные файлы в каталоге scripts.

Файл run_bot.bat использует команду python bot.py. Если она не работает, отредактируйте созданный батник и укажите полный путь к python.exe.

About

Телеграмм-бот для отслеживания фаз у людей с биполярным расстройством. Есть возможность анализировать сны, доставать из них метрики. Полностью за авторством ChatGPT.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published