docs: add README with setup and usage instructions

This commit is contained in:
2026-06-17 15:16:57 +07:00
parent 57871a81d7
commit da64550426

97
README.md Normal file
View File

@@ -0,0 +1,97 @@
# Instagram → Telegram Bot
Telegram-бот для мониторинга Instagram: отслеживает новые посты и сториз у выбранных подписок и присылает их в Telegram.
## Как это работает
1. Авторизуется в Instagram через cookies.txt (без пароля)
2. Получает список всех подписок
3. Проверяет новые посты (за последние N часов) и активные сториз
4. Скачивает медиа и отправляет в Telegram
5. Цикл повторяется каждые N минут
## Требования
- Python 3.12+
- Telegram Bot Token (через [@BotFather](https://t.me/BotFather))
- Cookies Instagram (сессионная кука `sessionid`)
## Установка
### Локально
```bash
pip install -r requirements.txt
```
Скопируй `.env.example` в `.env` и заполни настройки. Положи `cookies.txt` (Netscape format) в `data/`.
```bash
python bot.py
```
### Docker
```bash
docker compose up -d
```
## Настройка
### Telegram
Создай бота через [@BotFather](https://t.me/BotFather), получи токен. Узнай свой `chat_id` (можно у [@userinfobot](https://t.me/userinfobot)).
### Instagram cookies
Бот использует cookies вместо логина по паролю. Экспортируй sessionid из браузера в формате Netscape:
```
.instagram.com TRUE / TRUE 0 sessionid <значение>
.instagram.com TRUE / TRUE 0 ds_user_id <id>
.instagram.com TRUE / TRUE 0 csrftoken <токен>
```
Положи файл в `data/cookies.txt`.
### Переменные окружения (`.env`)
| Переменная | По умолчанию | Описание |
|---|---|---|
| `TELEGRAM_BOT_TOKEN` | — | Токен бота Telegram |
| `TELEGRAM_CHAT_ID` | — | ID чата для отправки |
| `INSTAGRAM_USERNAME` | — | Instagram username |
| `CHECK_INTERVAL_MINUTES` | `15` | Интервал проверки |
| `MAX_MEDIA_SIZE_MB` | `50` | Макс. размер медиа |
| `MAX_POST_AGE_HOURS` | `24` | Возраст постов для проверки |
| `CONCURRENT_CHECKS` | `5` | Параллельных запросов |
| `DOWNLOAD_DIR` | `/data/downloads` | Папка для загрузки |
## Команды
| Команда | Описание |
|---|---|
| `/start` | Информация о боте |
| `/check` | Проверить обновления сейчас |
| `/status` | Статистика базы |
| `/stop` | Остановить мониторинг |
## API
Бот использует неофициальный Instagram Private API:
- **Посты**: `i.instagram.com/api/v1/feed/user/{pk}/` — мобильное API
- **Сториз**: `www.instagram.com/api/v1/feed/user/{pk}/story/` — веб-API (Chrome UA)
## Проект
```
├── bot.py # Telegram bot (aiogram)
├── instagram_monitor.py # Instagram API клиент
├── config.py # Конфиг из .env
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
└── data/
├── cookies.txt # Сессия Instagram
└── downloads/ # Скачанные медиа
```