Дневник сахара в Телеграме: замеры, еда и сводка к врачу
Эндокринолог просит дневник: сахар натощак, после еды, что ела, как себя чувствовала. В тетрадке это три колонки мелким почерком, половина замеров без времени, а «что ела» к вечеру уже не вспомнить. На приёме врач листает эту тетрадку, и ты видишь, что ему трудно.
Сделаем по-другому: свой бот в Телеграме. Помыла руки, проколола палец, глюкометр показал цифру, и ты тут же пишешь боту: 6,8 после обеда, гречка с котлетой. Время он поставит сам. А к приёму одной командой соберёт всё за месяц, по дням и аккуратно.
Если ты уже собрала бота по уроку ДАВЛЕНИЕ, этот делается так же, только просьба к нейросети другая. Можно сделать и одного бота на оба дневника, в конце урока написано, как.
Что получишь
- бота, которому пишешь цифру с глюкометра и пару слов: когда мерила и что ела
- таблицу всех замеров на своём компьютере, открывается в Excel
- напоминания в те часы, которые назначил врач
- сводку к приёму: по дням, натощак отдельно, после еды отдельно, с твоими пометками
Сначала правила
Бот только записывает. Он не говорит, высокий сахар или нормальный, не советует еду и не пересчитывает дозы. Это прописано в просьбе к нейросети специально. Что значат цифры и что менять в лечении, решает только врач.
Плохо прямо сейчас - звони. Если человеку резко стало плохо, он путается, теряет сознание, звони 112. По МЧС России это единый номер экстренных служб, звонок бесплатный, с мобильного дозвонишься и без сим-карты (МЧС России). Скорая с мобильного также 103. Что делать до приезда скорой при твоём диагнозе, спроси у своего врача заранее и запиши.
Данные остаются у тебя. Нейросеть только пишет код бота, один раз. Твои замеры она не видит, они лежат в файле на твоём компьютере. В просьбу к нейросети свои цифры, диагноз и названия лекарств не вставляй.
Что нужно до старта
- Телеграм на телефоне
- Компьютер на Windows или Mac. Бот работает, пока компьютер включён. Замеры, отправленные, пока он выключен, Телеграм отдаст боту позже, если пройдёт не больше суток: дольше 24 часов он их не хранит (документация Bot API)
- Python с python.org, бесплатно
- Claude или ChatGPT для кода, бесплатного тарифа хватит. Из России открываются через VPN. Без VPN подойдёт ГигаЧат на giga.chat
- Глюкометр, которым ты и так меряешь
- вечер, полтора-два часа в первый раз
Шаги
Шаг 1. Бот у BotFather
- В Телеграме найди @BotFather с синей галочкой, нажми «Запустить», отправь
/newbot - Имя по-русски: «Мой дневник сахара»
- Адрес латиницей с
botна конце:sahar_dnevnik_bot - Придёт ключ бота вида
1234567890:AAH...
Ключ никому не показываешь и нейросети не отправляешь. Утёк или сомневаешься: в @BotFather /mybots, твой бот, API Token, Revoke current token, и ключ сменится.
Шаг 2. Свой номер в Телеграме
Бот должен слушаться только тебя, для этого ему нужен твой номер в Телеграме. Это не номер телефона, у каждого аккаунта своё число. Отдельно его искать не надо: при первом запуске бот сам пришлёт тебе это число, так написано в просьбе к нейросети ниже. Сторонних ботов «узнать ID» не ищи. В поиске Телеграма их десятки с одинаковыми названиями, и часть из них присылает рекламу
Шаг 3. Python
python.org/downloads, последняя версия. На Windows в первом окне галочка Add python.exe to PATH, потом Install Now. Проверка в командной строке:
python --version
Шаг 4. Просьба к нейросети
Время напоминаний поставь те, что назначил врач. Слова «натощак», «до еды», «после еды» можешь заменить на свои.
Ты опытный разработчик. Я не программист, объясняй просто.
Напиши Телеграм-бота на Python: дневник сахара крови для одного человека.
Что делает бот:
1. Принимает сообщение: число (с запятой или точкой) и дальше любой текст.
Например «6,8 после обеда гречка с котлетой» или «5.4 натощак».
2. Из текста определяет метку: «натощак», «до еды», «после еды» (если есть слова «после», «через 2 часа»),
«перед сном», иначе «другое». Остальной текст сохраняет как комментарий.
3. Записывает в файл sahar.csv: дата, время, значение, метка, комментарий.
Отвечает: «Записала: 9 октября, 14:20 - 6,8, после еды». Метку можно поправить командой /metka.
4. Если число вне 1-35, не записывает и переспрашивает: «Проверь цифру, похоже на опечатку».
5. Отдельно можно записать еду или самочувствие без цифры: сообщение, которое начинается со слова «еда» или «самочувствие».
6. Команды:
/nedelya - все записи за 7 дней по дням, в каждом дне по времени;
/mesyac - то же за 30 дней;
/natoshchak - только замеры натощак за 30 дней списком;
/fayl - прислать файл sahar.csv;
/udalit - удалить последнюю запись.
Под сводкой одной строкой: сколько замеров всего, сколько натощак, сколько после еды. Больше ничего не считать.
7. Напоминания в [08:00, 14:00, 21:00] по времени компьютера: «Пора измерить сахар».
8. Отвечает только хозяину: Telegram ID из файла .env (OWNER_ID). Остальным «Это личный бот», ничего не показывать.
Если OWNER_ID пустой, на любое сообщение отвечать «Твой ID: ...».
Строго:
- бот НИКОГДА не оценивает цифры: не пишет «высокий», «низкий», «норма», не даёт советов по еде, лекарствам и дозам, не называет нормы
- никаких нейросетей и внешних сервисов внутри бота, данные только в файле на компьютере
- aiogram 3, напоминания встроенными средствами или APScheduler, проверь синтаксис по актуальным версиям
- ключ бота и OWNER_ID из .env через python-dotenv, в коде ключей нет
- весь код в одном файле bot.py, файл sahar.csv в кодировке, которую нормально открывает русский Excel
Дай по порядку:
1. requirements.txt
2. bot.py целиком
3. как выглядит .env с пустыми местами
4. команды установки и запуска на [Windows / Mac]
5. как сделать, чтобы бот запускался сам при включении компьютера
Шаг 5. Файлы
- На рабочем столе папка
sahar - В Блокноте три файла:
bot.py,requirements.txt,.env. При сохранении «Тип файла: Все файлы», иначе выйдетbot.py.txt - В
.envключ бота, строкуOWNER_IDпока оставь пустой:
TELEGRAM_TOKEN=1234567890:AAH...твой_ключ
OWNER_ID=
Шаг 6. Запуск и проба
cd Desktop\sahar
pip install -r requirements.txt
python bot.py
На Mac cd Desktop/sahar, pip3, python3. Окно не закрывай. В Телеграме открой бота, «Запустить».
Первое сообщение боту отправь любое, например «привет». Он ответит «Твой ID: 123456789». Впиши это число в .env сразу после OWNER_ID=, сохрани файл, в чёрном окне нажми Ctrl+C и снова запусти python bot.py. Теперь бот слушается только тебя.
Отправь 5,5 натощак проба. Ответил «Записала»? Отправь /udalit, чтобы проба не попала в дневник.
Ошибка в чёрном окне: скопируй её целиком и отправь нейросети с вопросом «запускаю бота, вот ошибка». Если в тексте ошибки виден ключ, сотри его перед отправкой.
Шаг 7. Как вести, чтобы врачу было удобно
- пиши сразу после замера, а не вечером по памяти. Время ставит бот, и оно должно быть настоящим
- метку пиши словами: «натощак», «после завтрака», «перед сном». По ним бот раскладывает сводку
- еду коротко: «еда: овсянка, яблоко». Без граммов, если врач не просил
- самочувствие, если было необычное: «самочувствие: дрожь в руках», «самочувствие: болела голова»
- пропустила замер, ничего страшного, не дописывай задним числом выдуманную цифру
Перед приёмом: /mesyac и /natoshchak, покажи с телефона или перешли в «Избранное» и распечатай. Если врач работает с таблицами, отправь ему файл через /fayl, если он это принимает.
Шаг 8. Один бот на два дневника
Если давление ты тоже ведёшь, не обязательно держать двух ботов. Скажи нейросети:
Вот код моего бота-дневника давления: [вставь bot.py, но без файла .env].
Добавь в него дневник сахара по таким правилам: [вставь правила из шага 4, пункты 1-7].
Сообщение из трёх чисел - давление, из одного числа - сахар. Сводки и файлы отдельные.
Перед заменой сохрани старый bot.py под именем bot-staryy.py, чтобы было куда вернуться.
Где обычно ломается
Бот пишет «сахар высокий, обратитесь к врачу». Нейросеть добавила оценку, хотя её просили не добавлять. Напиши ей: «Убери из бота все оценки цифр и советы, оставь только запись и сводки» и замени файл.
Неправильная метка. Написала «после обеда», а бот поставил «другое». Поправь /metka и попроси нейросеть добавить твоё слово в список: «Слова "после обеда", "после ужина" тоже считай как "после еды"».
Запятая не понимается. «6,8» записалось как 68 или не записалось. Скажи нейросети: «Принимай и запятую, и точку в числе».
Бот спит. Компьютер ушёл в сон. В настройках питания на время дневника поставь «Переводить в сон: никогда» или включи автозапуск по шагу 4.
Таблица кракозябрами. В Excel: «Данные», «Из текста/CSV», кодировка UTF-8.
Что дальше
Дневник сахара - бот, который снимает с тебя самое нудное: помнить время, переписывать, складывать к приёму. По такому же устройству собираются и другие домашние помощники. Если хочется уметь делать ботов посерьёзнее, которые сами принимают заявки и отправляют ссылку на оплату, есть курс «Свой бот в Телеграме за вечер»
Источники
- https://core.telegram.org/bots/api#getting-updates
- https://core.telegram.org/bots/tutorial
- https://www.python.org/downloads/
- https://mchs.gov.ru/deyatelnost/press-centr/novosti/1431843
Ещё уроки
Новые уроки каждую неделю
Новые уроки, разборы и что поменялось в нейросетях за неделю - в телеграм-канале.
Телеграм-канал