Телеграм-бот для ведения дневника настроения и анализа снов при биполярном расстройстве.
- Быстрый чек‑ин. Бот задаёт несколько простых вопросов о настроении, уровне энергии и самочувствии, чтобы быстро сохранить ваше состояние за день.
- Дневник снов. Тексты сновидений сохраняются и анализируются: бот делает краткий юнгианский разбор и вычисляет показатель CIM‑score (Central Image Method). Метрики сохраняются в JSON и доступны в разделе «CIM‑анализ».
- Графики и спектральный анализ. По сохранённым данным строятся наглядные графики. Спектральный анализ помогает выявить повторяющиеся циклы настроения.
- Экспорт и пропуски. Все записи можно выгрузить в архив, а также добавить записи в те дни, когда вы забыли сделать отметку.
- Гибкие напоминания. Бот присылает напоминания утром и вечером в указанное время, используя внутренний планировщик задач.
Бот поддерживает работу с несколькими пользователями через список
AUTHORIZED_USER_IDS
, но защиты паролем нет. Codex от OpenAI не смог реализовать двухкомпонентные ключи, а автор проекта не планировал включать мозги в процессе разработки.
- Создайте виртуальное окружение и установите зависимости:
pip install -r requirements.txt
- Создайте файл
Token.py
рядом сbot.py
и укажите в нём:API_TOKEN = "<токен от BotFather>" AUTHORIZED_USER_IDS = [123456789] # Ваш ID без кавычек OPENAI_API_KEY = "<ключ OpenAI для анализа снов>"
- Запустите бота командой:
python bot.py
Данные пользователей сохраняются в каталоге data/
внутри проекта.
Чтобы бот работал только с вами, необходимо указать свой Telegram ID и токен бота.
- Откройте диалог с ботом @getmyid_bot.
- Нажмите «Start». Бот пришлёт два значения:
UserID
иChatID
. - Скопируйте число из строки UserID — его и нужно внести в
Token.py
без кавычек.
- Перейдите к официальному боту BotFather и нажмите
Start
. - Отправьте команду
/newbot
. - В ответ введите произвольное название бота, например
Bipolar Dream Bot
. - Далее введите уникальный username, который должен оканчиваться на
bot
, напримерbipolar_dream_bot
. - После этого BotFather пришлёт сообщение с API токеном вида
123456:ABC-DEF...
— скопируйте его и сохраните. - При необходимости вернуться к токену можно через
/mybots
→ ваш бот →API Token
.
Полученный ID и токен впишите в файл Token.py
из раздела «Установка».
- Войдите с помощью Google аккаунта на platform.openai.com (Инструкция для создания Google аккаунта без смс "в другой стране" здесь. У меня сработало).
- Оплатите OpenAI API, например, через этих ребят в ТГ: @payholder_bayer (Сам пользуюсь. Быстро и дёшево. За рекламу мне не доплачивают, по крайней мере пока)
- Перейдите на страницу API Keys.
- Нажмите
Create new secret key
и скопируйте полученную строку. - Вставьте ключ в
Token.py
в кавычках.
Стоимость модели gpt-4o составляет $0.005 за 1000 входных токенов и $0.015 за 1000 выходных. Пример запроса с 3500 выходными токенами и примерно 500 входными обойдётся около $0.055 (≈5 руб. при курсе 90 руб/долл).
Проект проверен только на Python 3.9 под Windows. Если Python у вас не установлен:
- Скачайте дистрибутив x64 по ссылке: python.org.
- Запустите установку и обязательно отметьте пункт «Add Python to PATH».
- После установки откройте новую командную строку и убедитесь, что команда
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.
Чтобы бот стартовал автоматически при входе в систему, воспользуйтесь подготовленным скриптом.
- Завершите настройку из раздела «Установка» — убедитесь, что файл
Token.py
создан и зависимости установлены. - Откройте папку
scripts
внутри проекта и дважды щёлкнитеsetup_autorun.vbs
.- Если появится запрос выбора приложения, укажите
WScript
(обычно запускается по умолчанию).
- Если появится запрос выбора приложения, укажите
- Скрипт создаст два файла рядом с собой:
run_bot.bat
иrun_bot.vbs
, а затем скопируетrun_bot.vbs
в папку автозагрузки%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
. После завершения появится сообщение об успешной настройке. - Перезагрузите компьютер или выйдите из системы — бот запустится автоматически в фоновом режиме.
- Если нужно убрать автозапуск, удалите
run_bot.vbs
из папки автозагрузки (пункт 3) и при необходимости удалите созданные файлы в каталогеscripts
.
Файл run_bot.bat
использует команду python bot.py
. Если она не работает, отредактируйте созданный батник и укажите полный путь к python.exe
.