Teaglaim

Teaglaim

На Пикабу
106 рейтинг 0 подписчиков 0 подписок 2 поста 0 в горячем
4

Я сделал Telegram-бота для соблюдения дисциплины, который не заставляет, а помогает. Делал для себя, а зашло многим!

Я сделал Telegram-бота для соблюдения дисциплины, который не заставляет, а помогает. Делал для себя, а зашло многим!

Начиналось всё как пет-проект для себя. Хотел простую штуку: каждый день напоминать о маленькой цели и честно вести статистику. Без чувства вины, без «ты обязан».

Почему-то в нашей культуре дисциплину часто путают с насилием над собой. Вставать в 5 утра, обливаться, идти на пробежку через «не могу». Я так не умею. И, кажется, не я один.

Поэтому бот работает иначе.

Что он делает:
• Утром спрашивает: «Какой сегодня фокус?» (ты сам его задаёшь).
• Вечером: «Ну как, получилось?» - и предлагает три кнопки: сделано ✅ / частично 🌓 / не сделано 😕.
• Ведёт статистику, считает серию, выдаёт награды.

Вроде ничего особенного, но через пару недель замечаешь: рука уже не поднимается нажать «не сделано», когда серия подходит к 14 дням. А если сорвался — бот не добивает, а говорит: «бывает, завтра новый день». И правда помогает не бросать.

Потом понеслось:

- 🧊 Появились дни отдыха. Можно взять выходной, не ломая серию. Оказалось, многие не знают, что отдых — тоже часть дисциплины.
- 🏆 Челленджи. Для тех, кому скучно: 14, 21 или 30 дней без пропусков. За прохождение — бонусные дни отдыха и ачивки.
- 👥 Реферальная система. Пригласи трёх друзей — откроются все фишки (челленджи, стили общения, шаблоны целей). Без виральности никак, но работает честно.
- 🎭 Стили общения. Можно тюнить, как бот будет с тобой общаться.
- И много чего еще.

Сейчас ботом пользуются уже больше 130 человек. Кто-то просто отмечается каждый день, кто-то проходит вызовы, кто-то коллекционирует награды. Я сам с первого дня чекинюсь — сначала была зарядка, теперь ежедневный пост в канал о разработке и просто о развитии проекта. Работает.

Что по технологиям:
Python, aiogram, SQLite, APScheduler, GitHub Actions (автоматический деплой). Всего кода уже около 5к строк.

Если хотите попробовать — вот бот: @focuscompanion_bot
Тыкайте, не стесняйтесь. Обратная связь очень помогает.
А в канале пишу про "кухню" бота https://t.me/discipline_bot_consigliere

P.S. Если давно хотели начать какую-то привычку, но всё руки не доходили — может, этот бот тот самый «пинок под зад», только очень вежливый.

Показать полностью 1
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

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

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

Показать полностью 2
Отличная работа, все прочитано!

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества

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

Теги

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

Сообщества