Telegram Mini App бот для анализа красных флагов через Claude AI.
red_flag_bot/
├── bot/
│ ├── main.py # Точка входа
│ ├── handlers.py # Обработчики команд
│ ├── keyboards.py # Клавиатуры и WebApp кнопки
│ └── config.py # Конфиг из .env
├── webapp/
│ └── index.html # Mini App (весь фронтенд)
├── .env.example
├── requirements.txt
└── README.md
- Открой @BotFather в Telegram
/newbot→ придумай имя и username- Скопируй токен
Вариант A: GitHub Pages
- Создай репозиторий на GitHub
- Закинь
webapp/index.htmlтуда - Settings → Pages → Source: main branch
- Твой URL:
https://username.github.io/repo-name/
Вариант B: Vercel
- Зайди на vercel.com
- Import Git Repository → выбери свой репо
- Получишь URL типа
https://red-flag.vercel.app
⚠️ WebApp ОБЯЗАТЕЛЬНО должен быть на HTTPS
- В @BotFather:
/setmenubutton - Выбери своего бота
- Вставь URL своего WebApp
- Введи текст кнопки:
🚩 Открыть анализ
# Клонируй / скачай проект
cd red_flag_bot
# Создай .env из примера
cp .env.example .env
# Заполни BOT_TOKEN, ANTHROPIC_API_KEY, WEBAPP_URL
# Установи зависимости
pip install -r requirements.txt
# Запуск
python -m bot.main| Переменная | Описание |
|---|---|
BOT_TOKEN |
Токен от @BotFather |
ANTHROPIC_API_KEY |
Ключ от console.anthropic.com |
WEBAPP_URL |
HTTPS URL твоего index.html |
В текущей версии webapp/index.html вызывает Claude API напрямую из браузера.
Для продакшена сделай простой прокси:
# Простой FastAPI прокси (добавь в проект)
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import httpx, os
app = FastAPI()
app.add_middleware(CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"])
@app.post("/api/analyze")
async def analyze(body: dict):
async with httpx.AsyncClient() as client:
r = await client.post(
"https://api.anthropic.com/v1/messages",
headers={"x-api-key": os.getenv("ANTHROPIC_API_KEY"), "anthropic-version": "2023-06-01"},
json=body,
timeout=30
)
return r.json()Затем в index.html замени URL на /api/analyze и убери заголовок с ключом.
- Freemium: 3 флага бесплатно → полный анализ за Stars
- Пара: сравнить два профиля за Stars
- Подписка: флаг недели через Stars
Для подключения Stars: @BotFather → /setpayments
Формат ролика:
- Открываешь бот на камеру
- Вводишь что-то честное о себе
- Ждёшь результат в кадре
- Показываешь флаги + реакция
Хук: «Думал что я нормальный — бот нашёл X красных флагов 💀»