6

ТГ помощник на Python, который нельзя обмануть

На самом деле можно) Но обо всем по порядку.

В новогодние праздники подумалось, что пора начать пилить пет проект. Сам работаю продактом и уже пора бы.
Ну, а т.к. сейчас все про ИИ на каждом шагу – решил сделать с его помощью, поскольку разбираюсь в разработке, но кодить не умею.
Пишу ему, а давай ка запилим петпроект мне. И он как выдал идеи на основе моих к нему прежних обращений. Это уже было перебор. Подкрутив запрос, я получил оптимальный вариант – тг бот.
Ну и главный вопрос – чтобы что? этот бот будет. А у меня сразу появилась проблема личная, которую нужно решать – дисциплина. Не жесткое выполнение задач, а хотя бы не сливать какие-то рутинные задачи. Вот и началась формулировка идеи.
Бот, который помогает не сливать некоторые задачи. Любые. И всего один фокус для пользователя. Без фанатизма. И с игровой и мотивирующей составляющей для легкого ведения прогресса.
Пилил по несколько часов в день. Общий итог – месяц. Это включая выбор площадки хостинга, переезд на другую площадку и параллельно обвешивание фичами.

В итоге сам сейчас пользуюсь – помогает, ну и забавная штука в итоге вышла. В целом доволен.
Вот собственно сам бот: https://t.me/focuscompanion_bot.

По функционалу, что умеет:

  • Утром напоминает о главном фокусе на день.

  • Вечером просит отметить результат: сделано, частично, не сделано.

  • Ведёт недельную статистику и показывает, сколько дней подряд держишься по текущей цели.

  • Даёт ачивки за серии выполненных дней и прогресс по уровням.

  • Позволяет сменить фокус и время уведомлений командами меню.


    В итоге вышел хороший локальный помощник.

Структура проекта локально:

  • bot.py — основная логика бота и хендлеры.

  • db.py + models.sql — работа с SQLite и схема БД.

  • config.py — чтение .env и конфиг.

  • discipline.db — база.

  • requirements.txt — зависимости.

  • Папка images — в том числе приветственный экран бота.

Рабочий цикл разработки:

Пишу/меняю код локально.

Тестирую бота у себя: онбординг, /time, /week, /streak, /achievements, /feedback, работу утренних и вечерних уведомлений.

Коммичу и пушу: за всё время набралось 39 коммитов — от мелких правок текста до переделки логики ачивок и расписания.

Стек и архитектура

  • Python 3.12

  • aiogram 3 (асинхронный Telegram‑фреймворк)

  • SQLite в качестве хранилища

  • APScheduler для периодических задач (утренние и вечерние уведомления по часовым поясам)

  • systemd‑service для запуска на сервере

  • Код полностью на async/await, онбординг и настройки сделаны через FSM aiogram.

  • Часовые пояса сейчас заточены под РФ: пользователь выбирает зону, дальше уведомления приходят по его локальному времени.
    APScheduler раз в минуту проверяет, кому пора прислать утренний фокус, а кому — вечерний чек‑ин.

  • Деплой на Timeweb (до этого был другой хостинг именно для ботов, но его потестировал и в итоге перешел на более профессиональный)

  • Когда локальная версия устаканилась, развернул бота на VDS в Timeweb Cloud.

Процесс деплоя (долго привыкал, но в итоге настроил под себя):

  • Код лежит в приватном репозитории на GitHub.

  • Локально делаю изменения → git commit → git push.

  • На сервере в каталоге проекта — git pull, обновление pip install -r requirements.txt при необходимости и миграция схемы через models.sql.

  • Бот крутится как discipline-bot.service под systemd, так что достаточно перезапустить сервис или запустить скрипт деплоя.

    Что дальше

Сейчас сам бот уже помогает не срывать свои мини‑цели пользователям. В планах с десяток фичей, которые отприоретизировал пока по своим ощущениям.

Дальше хочу:

  • переехать с SQLite на PostgreSQL;

  • добавить более подробную статистику по неделям и месяцам;

  • доработать систему ачивок и уровней сложности;

  • возможно, сделать экспорт данных или веб‑панель.

В итоге получился более-менее рабочий продукт, который уже и не стыдно показать) Буду и дальше его развивать, т.к. почти бесплатно, да и, как оказалось, интересно.

И да, напомню, весь код я писал вместе с ии, как и, собственно, проектировал архитектуру, логику и выбирал решение.
Самое сложно было это завезти бота онлайн, чтобы он работал не с локальной машины, а с сервера. А самая сложная фича – это выбор пользователем его часового пояса.

Если вы пользуетесь Telegram и хотите более‑менее регулярно делать то, что сами себе обещаете (или просто протестировать прикольный бот со сложной механикой)— буду рад, если попробуете бота и напишете фидбек через /feedback

Бот: https://t.me/focuscompanion_bot

ПС Кстати, пользуясь им можно понять, как все-таки его обмануть.

Всем спасибо - всем добра!

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

0
Автор поста оценил этот комментарий

Запилил тг канал, для тех. кому интересно следить за развитием продукта. Один пост в день, без воды.
https://t.me/discipline_bot_consigliere
Welcome!

1
DELETED
Автор поста оценил этот комментарий

«Вот пилишь месяц своего телеграм-бота для дисциплины — утренние напоминания, вечерние отчеты, ачивки за стрики… Думаешь: «Теперь-то я неуязвим, система, железная воля, меня не сломать!».


А потом встречаешь не хакера, а хорошего психолога.

Он даже код не смотрит. Он смотрит на тебя.


Через 20 минут диалога он так мягко и уверенно переупаковывает твою цель, что ты уже не просто «не срываешь задачи», а «осознанно выбираешь гармонию с собой».

Твоя «дисциплина» вдруг становится «ритуалом заботы».

Твой «фокус на деле» — «экзистенциальным диалогом с реальностью».
А вечерний отчет «сделано/не сделано» превращается в «прожитый опыт без оценок».


И ты такой:
«Стоп, но я же просто хотел не забывать зарядку делать…»
А он тебе:
«А почему именно зарядка? Это потребность тела или бег от себя? Давай исследуем».

Через месяц ты уже не ставишь задачи в бота.
Ты ведёшь с ним дневник чувств.
А через два — покупаешь фиалки, слушаешь арфу и спрашиваешь бота: «как ты сегодня, дружок?».

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Агонь! Если кто-то перешагнет бота и сразу к ментору/психологу - и он прям поможет, это ли не мечта? Я только за. Если бот прям лишний - тоже хорошо. Если он немного корректирует - почему нет? Я логику заложил именно чтобы мягко вести и немного мотивировать. Если понял, что цель не ок, - поменяй, в чем вопрос? Ну или параллельно можно найти специалиста.

А так, да, спасибо за ос.

0
Автор поста оценил этот комментарий

Да. Утро в 12 12, вечер в 13 13. Устаешь наверное.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

в режиме бета теста))))

0
Автор поста оценил этот комментарий

Все нормально, тут нет противоречия, тк работаю продактом (управление продуктом и командой разработки). А это предполагает понимание предметной части. Но практического применения до этого момента не было.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества