pybot/README.md
2026-09-03 23:15:10 +03:00

85 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RP Farm Bots (Pyrogram)
Два процесса:
- **`controller.py`** — обычный бот через Bot API. Через него вы **регистрируете
аккаунты, вводите данные и управляете фармом** — никакого ручного
редактирования JSON с аккаунтами.
- **`farmer.py`** — фоновый процесс, который читает базу и от лица
зарегистрированных аккаунтов шлёт фарм-команду по расписанию. Раз в минуту
сам подхватывает новые аккаунты, добавленные через контроллер — рестарт не нужен.
Всё динамическое состояние — в `farm_state.db` (SQLite), создаётся автоматически.
## Установка
```bash
pip install -r requirements.txt
cp config.example.json config.json
```
В `config.json` нужны только секреты самого бота-контроллера (не аккаунтов
фарма!):
1. **bot_token** — создайте бота через [@BotFather](https://t.me/BotFather).
2. **controller_api_id / controller_api_hash** — любая пара с
https://my.telegram.org → "API development tools" (можно использовать
свою личную, она не связана с фарм-аккаунтами).
3. **admin_ids** — ваш Telegram user_id. Запустите контроллер и напишите ему
`/myid`, чтобы узнать свой ID, затем впишите его в конфиг и перезапустите бота.
## Запуск
```bash
python controller.py
```
Напишите боту `/start` — увидите меню:
- **➕ Добавить аккаунт** (`/addaccount`) — пошаговый мастер:
1. Имя аккаунта (произвольное, например `acc1`)
2. `api_id` и `api_hash` — для этого аккаунта, с my.telegram.org
(у каждого своего аккаунта должна быть отдельная пара)
3. Номер телефона аккаунта
4. Код из Telegram/SMS
5. Пароль 2FA (если включён)
6. Юзернейм/ID целевого РП-бота (`@some_rp_bot`)
7. Текст фарм-команды (`/farm`, `/work`, `/daily`...)
8. Интервал фарма в часах (например `4`)
После этого аккаунт сразу активен.
- **📋 Мои аккаунты** (`/accounts`) — список
- **📊 Статус** (`/status`) — пауза/интервал/сколько ждать/последний ответ бота
Остальные команды:
```
/pause <name|all>
/resume <name|all>
/setinterval <name> <часы>
/settarget <name> <@бот>
/setcommand <name> <текст>
/farmnow <name>
/removeaccount <name>
/cancel — прервать мастер добавления
```
Отдельным процессом (другой терминал / systemd-сервис):
```bash
python farmer.py
```
## Важно
- Код/пароль 2FA вводятся текстом прямо в чат с вашим ботом — это летит
через серверы Telegram (MTProto), обычная практика для ботов-помощников
входа, но `config.json` и файлы `*_session.session` всё равно держите
строго при себе, не выкладывайте в публичные репозитории.
- Юзерботы (автоматизация обычных аккаунтов через Pyrogram) формально не
разрешены правилами Telegram — интервалы и джиттер уже встроены, не
убирайте их и не гоняйте десятки аккаунтов с одинаковым паттерном.
- Проверьте правила самого РП-бота на предмет автофарма — бан там за
накрутку это отдельный от Telegram риск.