Как я, не написав ни строчки кода до этого, сделал Telegram-бота WinOfTheDay, который каждый вечер спрашивает меня про мои маленькие победы
Ноль. Именно столько у меня было опыта в программировании месяц назад. Ни одного курса, ни одной строчки кода, ничего. Зато было желание научиться — и, кажется, я нашёл способ, который реально сработал: делать не учебные примеры, а сразу что-то настоящее, с помощью ИИ как ментора на каждом шаге.
С чего всё началось
Недавно читал книгу «Бог всегда путешествует инкогнито» — и наткнулся там на технику ежедневных побед. Простая идея: каждый день фиксировать одну маленькую вещь, которой можешь быть доволен. Не грандиозное достижение, а что угодно — доделал то, что откладывал, сходил на тренировку, поддержал кого-то, просто хорошо поработал. Примерил на себя — и понял, что сам никогда не буду вести это в блокноте или отдельном приложении. Слишком легко забыть, слишком легко забросить через неделю. А вот если бы что-то само каждый вечер напоминало и тут же записывало — другое дело. Посмотрел, есть ли готовые решения. Нашёл похожие приложения на английском (там сама практика gratitude journaling довольно популярна), а вот на русском языке — по сути, ничего. Разрыв показался хорошей возможностью — раз мне самому это нужно, наверняка не только мне.
Почему Telegram-бот, а не приложение
Приложение — это отдельная установка, отдельная иконка на экране, отдельный повод забыть, что оно вообще есть. Telegram и так открыт постоянно. Бот, который сам пишет тебе вечером с одним простым вопросом — это на порядок меньше трения. Ты либо отвечаешь текстом, либо голосовым — и всё, никаких меню, настроек, лишних экранов.
Как я это построил, не умея программировать
Честно — весь путь занял несколько недель, а не месяцы, именно потому что я не пытался сначала «выучить Python», а сразу начал собирать конкретную вещь, разбираясь по ходу дела с помощью ИИ. Сделано все на Python-скрипте на библиотеке aiogram, базы данных SQLite, и планировщик задач для рассылок по расписанию. Каждую непонятную вещь — что такое виртуальное окружение, зачем нужна асинхронность, как работает база данных — разбирал по ходу, когда она реально понадобилась в проекте, а не абстрактно из учебника. Спотыкался о вещи, которые сейчас звучат забавно (потратил час на ошибку, потому что перепутал буквы в слове source), но именно через такие ошибки то, что раньше казалось непонятной магией, стало осмысленным инструментом.
Что получилось в итоге
Бот называется Win of the Day. Логика простая:
• Каждый вечер (в удобное лично тебе время) он спрашивает: «Что было хорошего сегодня?»
• Отвечаешь текстом или голосовым — он сохраняет
• Растёт streak — счётчик дней подряд, когда ты замечал в своём дне что-то хорошее
• Раз в неделю — ненавязчивое предложение посмотреть на всю неделю целиком, а не разрозненные дни
• Можно сгенерировать красивую картинку со своей победой и стриком — и поделиться, если хочется
• Бот работает с людьми из разных часовых поясов, есть команда, чтобы посмотреть последние 7 записей
Сейчас бот крутится на своём собственном сервере, работает круглосуточно и автоматически перезапускается, если что-то пойдёт не так.
Что говорят те, кто уже попробовал Пока бот тестируют несколько близких людей — друзья и девушка. Отзывы обнадёживающие: говорят, что действительно приятно вечером остановиться на минуту и подумать, а что хорошего сегодня было — вместо того чтобы просто листать ленту перед сном.
Но одно дело — мнение близких людей, и совсем другое — реальный, незаинтересованный отклик со стороны. Поэтому и пишу этот пост: хочется понять, откликается ли эта идея кому-то ещё, что стоит поменять, что добавить, а что убрать, чтобы бот реально помогал людям чувствовать себя увереннее — а не превратился в ещё одно приложение, которое удаляют через неделю.
Попробовать можно здесь
Буду благодарен за любую обратную связь — что понравилось, что не зашло, чего не хватает.
И если у кого-то тоже нулевой опыт в разработке, но есть желание попробовать сделать что-то своё — велком в комментарии, расскажу подробнее, как именно я это делал.