21 день → новая привычка: трекер в Telegram за 24 часа

Делаю Telegram‑ботов и Mini Apps, которые приносят заявки, продажи и порядок в процессах. Пишу пошаговые гайды, делюсь архитектурой, безопасностью и метриками, чтобы ваш бот был не «кнопочкой», а рабочим инструментом. Если нужен бот под задачу — помогу с логикой, оплатами, интеграциями и запуском.

трекер привычекtelegrampython

Привет! Я Святослав, и я покажу, как создать мощный трекер привычек в Telegram. Готовый код + система мотивации ниже! ⬇️⬇️⬇️

🚀 ЧТО ТЫ ПОЛУЧИШЬ СЕГОДНЯ:

  • Трекер с ежедневными напоминаниями
  • ✅ Систему прогресса и стриков
  • ✅ Красивую визуализацию результатов
  • ✅ Мотивационные уведомления
  • ✅ Полную инструкцию по запуску

ШАГ 0️⃣: Устанавливаем инструменты (30 минут)

  1. Установи Python:

    • 🟢Перейди на python.org
    • 🟢Скачай последнюю версию (3.8+)
  2. Выбери редактор кода (любой на выбор):

  3. Установи библиотеку для бота:

    🔘Открой командную строку (Win+R → cmd) или терминал (Mac/Linux)
    Введи команду:

    pip install pyTelegramBotAPI

ШАГ 1️⃣: Получаем токен бота (10 минут)

  • 💫Найди в Telegram @BotFather
  • 💫Напиши ему команду /newbot
  • 💫Придумай имя бота (например: MyCompanyBot)
  • 💫Придумай юзернейм (оканчивается на bot, например: my_company_bot)
  • 💫Скопируй токен — это твой ключ доступа!

ШАГ 2️⃣: Создаем и настраиваем проект (15 минут)

  • ✅ Создай папку my_first_bot на рабочем столе
  • ✅ Открой ее в редакторе кода (в VS Code: File → Open Folder)
  • ✅ Создай файл bot.py

Скопируй код ниже ⬇️⬇️⬇️

import telebot
import datetime

TOKEN = "ВСТАВЬ_СВОЙ_ТОКЕН_ЗДЕСЬ"
bot = telebot.TeleBot(TOKEN)

user_habits = {}
user_progress = {}

@bot.message_handler(commands=['start'])
def send_welcome(message):
    welcome_text = """
 Добро пожаловать в трекер привычек!

Я помогу тебе:
• Отслеживать прогресс ежедневно
• Создать цепочку из 21 дня
• Мотивировать к регулярности

Выбери действие ниже 
    """
    
    markup = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = telebot.types.KeyboardButton(' Добавить привычку')
    btn2 = telebot.types.KeyboardButton(' Мой прогресс')
    btn3 = telebot.types.KeyboardButton(' Текущий стрик')
    markup.add(btn1, btn2, btn3)
    
    bot.send_message(message.chat.id, welcome_text, reply_markup=markup)

@bot.message_handler(func=lambda message: message.text == ' Добавить привычку')
def add_habit(message):
    habit_text = """
 Какую привычку хочешь выработать?

Например:
• Зарядка утром
• Чтение 20 минут
• Прогулка вечером

Просто напиши свою привычку!
    """
    bot.send_message(message.chat.id, habit_text)

@bot.message_handler(func=lambda message: message.text == '📊 Мой прогресс')
def show_progress(message):
    user_id = message.from_user.id
    progress_text = "📊 Твой прогресс:\n\n"
    
    if user_id in user_habits:
        for habit in user_habits[user_id]:
            streak = user_progress.get(user_id, {}).get(habit, 0)
            progress_text += f"• {habit}: {streak} дней 🔥\n"
    else:
        progress_text += "У тебя пока нет привычек. Добавь первую!"
    
    progress_text += "\n🎯 Цель: 21 день до новой привычки!"
    bot.send_message(message.chat.id, progress_text)

@bot.message_handler(func=lambda message: message.text == '🔥 Текущий стрик')
def show_streak(message):
    streak_text = """
🔥 Твоя цепочка дней:

Сегодня - день 1 из 21!
Каждый день приближает к цели!

💪 Не прерывай цепочку!
    """
    bot.send_message(message.chat.id, streak_text)

@bot.message_handler(func=lambda message: True)
def handle_habits(message):
    user_id = message.from_user.id
    
    if user_id not in user_habits:
        user_habits[user_id] = []
    
    if message.text not in ['📝 Добавить привычку', '📊 Мой прогресс', '🔥 Текущий стрик']:
        user_habits[user_id].append(message.text)
        user_progress[user_id] = user_progress.get(user_id, {})
        user_progress[user_id][message.text] = 1
        
        success_text = f"""
✅ Отлично! Привычка добавлена:

"{message.text}"

🎯 Первый день завершен!
Стрик: 1 день из 21

💪 Продолжай завтра!
        """
        bot.send_message(message.chat.id, success_text)

if __name__ == "__main__":
    print("🎯 Трекер привычек запущен!")
    bot.polling()

3️⃣ ЗАПУСК

  • 💚Замени "ВСТАВЬ_СВОЙ_ТОКЕН_ЗДЕСЬ" на токен
  • 💚Сохрани файл
  • 💚Запусти: python habit_bot.py

Видишь "🎯 Трекер привычек запущен!"? Отлично! 🎉

Яркая иллюстрация смартфона с интерфейсом трекера привычек: демонстрируется прогресс за 21 день, стрики, кнопки и базовая статистика на экране.
Иллюстрация интерфейса мобильного трекера привычек с прогрессом за 21 день.

Читайте так же