DEV Community

Castanderness
Castanderness

Posted on

I Built 9 Production-Ready Telegram Bots in Python — Full Open Source

I Built 9 Production-Ready Telegram Bots in Python

TL;DR: I just open-sourced 9 different Telegram bots — AI assistant, booking bot, crypto alerts, job vacancy channel, price monitor, restaurant bot, tutor bot, survey bot, and auto-content channel. All free to use.

Why I Built These

After dozens of freelance Telegram bot projects, I noticed I was rebuilding the same patterns over and over. Instead of starting from scratch each time, I created a library of production-ready templates.

The Bots

1. AI Assistant Pro (Claude/ChatGPT)

Full subscription model — free tier (20 msg/day) + paid unlimited. Includes admin dashboard.

@dp.message(F.text)
async def handle_message(message: Message):
    if not db.is_premium(user_id) and db.get_msg_count_today(user_id) >= FREE_DAILY_LIMIT:
        await message.answer("Limit reached. Upgrade to Premium!")
        return
    response = client.messages.create(model="claude-haiku-4-5-20251001", ...)
Enter fullscreen mode Exit fullscreen mode

2. Appointment Booking Bot

For barbershops, doctors, tutors. Clients pick slots directly in Telegram. No double-booking.

3. Crypto Price Alert Bot

Set a price target → get notified when BTC/ETH/SOL hits it. Uses free CoinGecko API.

4. Job Vacancy Channel

Auto-pulls from HH.ru API every 2 hours, posts new jobs to your Telegram channel.

5. Avito Price Monitor

Alerts when new listings appear or prices drop. No Avito account needed.

6. Restaurant Bot

Menu + table reservations + specials. Admin gets Telegram alert for each booking.

7. English Tutor Bot

Word of the day, quizzes, grammar tips. Zero AI API cost needed.

8. Survey Bot → Excel

Multi-step surveys with ratings, choices, text. Auto-exports to .xlsx.

9. Auto-Content Channel

Posts crypto prices + educational tips on schedule with APScheduler.

Tech Stack

  • Python 3.12 + aiogram 3.7 (FSM, inline keyboards)
  • SQLite for persistence (survives restarts, zero cost)
  • Anthropic Claude API — Haiku model (~$0.001/1000 messages)
  • CoinGecko API (free, no key needed)
  • HH.ru API (free, Russian job board)
  • openpyxl for Excel export

Key Patterns Used

Watchdog for 24/7 uptime

while True:
    if proc.poll() is not None:
        proc = subprocess.Popen(BOT_CMD, cwd=BOT_DIR)
        restarts += 1
    time.sleep(10)
Enter fullscreen mode Exit fullscreen mode

FSM for multi-step flows

class BookingState(StatesGroup):
    choosing_service = State()
    choosing_date = State()
    choosing_time = State()
    entering_phone = State()
Enter fullscreen mode Exit fullscreen mode

Get the Code

GitHub: https://github.com/Castanderness/telegram-bots-portfolio

All 9 bots with .env.example, requirements.txt, and setup docs.

Available for Custom Development

Need a custom bot for your business? I'm open for freelance projects.

Portfolio: https://castanderness.github.io/telegram-bots-portfolio/portfolio/

Starting from $49 | Delivery 2-5 days | 7-day support included

Top comments (0)