Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

53 Commits

Folders and files

Repository files navigation

🚩 Red Flag Bot

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

🚀 Деплой за 15 минут

Шаг 1 — Создать бота

  1. Открой @BotFather в Telegram
  2. /newbot → придумай имя и username
  3. Скопируй токен

Шаг 2 — Захостить WebApp (бесплатно)

Вариант A: GitHub Pages

  1. Создай репозиторий на GitHub
  2. Закинь webapp/index.html туда
  3. Settings → Pages → Source: main branch
  4. Твой URL: https://username.github.io/repo-name/

Вариант B: Vercel

  1. Зайди на vercel.com
  2. Import Git Repository → выбери свой репо
  3. Получишь URL типа https://red-flag.vercel.app

⚠️ WebApp ОБЯЗАТЕЛЬНО должен быть на HTTPS

Шаг 3 — Настроить WebApp в боте

  1. В @BotFather: /setmenubutton
  2. Выбери своего бота
  3. Вставь URL своего WebApp
  4. Введи текст кнопки: 🚩 Открыть анализ

Шаг 4 — Запустить бота

# Клонируй / скачай проект
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

🔐 Продакшен: безопасность API ключа

В текущей версии 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


📱 TikTok продвижение

Формат ролика:

  1. Открываешь бот на камеру
  2. Вводишь что-то честное о себе
  3. Ждёшь результат в кадре
  4. Показываешь флаги + реакция

Хук: «Думал что я нормальный — бот нашёл X красных флагов 💀»

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages