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, если актуально

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


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

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

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

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

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

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества

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

Теги

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

Сообщества