telegram-userbot
Доступ к личному Telegram-аккаунту владельца (Telethon, MTProto) — отдельный аккаунт-человек,
НЕ бот, через которого ты сейчас общаешься. Всё делается ТОБОЙ прямо в этом чате: настройку ты
проводишь сам (через bash-тул на хосте), а работу — через MCP-тулы
connection__telegram-userbot__<tool> (ищи их через connection_search).
Пользователь только пишет в чат — терминал он не трогает.
⚠️ Сначала — предупреди и получи согласие
Автоматизация личного аккаунта нарушает ToS Telegram и может привести к бану аккаунта
(особенно отправка). Одной фразой скажи владельцу, что это на его страх и риск и что безопаснее
всего только чтение. Продолжай, только если он согласился.
Шаг 1. Подключён ли аккаунт?
Вызови login_status.
connected → всё готово, переходи к работе (Шаг 4).
not_connected → нужен онбординг (Шаг 3), но сперва проверь, поднят ли прокси (Шаг 2).
- Если сам вызов падает (сервер недоступен) → прокси ещё не установлен, иди в Шаг 2.
Шаг 2. Поднять прокси (первый раз, делаешь ты через bash)
Прокси — opt-in Python-сервис; при первом подключении подними его сам.
- Проверь:
iva userbot status.
- Нужны
api_id / api_hash с my.telegram.org. Проведи владельца:
«Открой https://my.telegram.org → API development tools → создай приложение (название любое,
платформа Desktop) → пришли мне api_id и api_hash». Дождись, пока он пришлёт оба в чат.
- Запиши ключи (через stdin, БЕЗ утечки в список процессов):
iva userbot creds <<'CREDS'
<api_id>
<api_hash>
CREDS
- Подними прокси (сборка venv может занять ~1–2 мин — ставь
timeoutMs ≥ 300000):iva userbot setup
Команда соберёт окружение, создаст токен и запустит сервис. iva перезапускать НЕ нужно.
Если iva не найден — запусти из каталога установки: node bin/iva.mjs userbot setup.
Шаг 3. Онбординг по QR (в чате)
- Вызови
qr_login_start. Сервер отрисует QR и сам пришлёт его картинкой в этот чат.
(Если сразу после setup вызов не прошёл — прокси ещё поднимается, повтори через несколько секунд.)
- Скажи владельцу: открой приложение Telegram того аккаунта, который подключаешь →
Настройки → Устройства → Подключить устройство → отсканируй QR.
- Опрашивай
qr_login_status раз в несколько секунд:
authorized → готово.
password_needed → включена двухфакторка. Попроси у владельца пароль и передай в
qr_login_password. Предупреди: пароль пройдёт через чат — пусть сменит его потом, если
переживает. Не логируй и не повторяй пароль в ответах.
waiting → ещё не отсканировал, подожди.
expired / error → начни заново с qr_login_start, объясни причину.
Сессия хранится на сервере — повторный онбординг после рестарта не нужен.
Шаг 4. Работа с аккаунтом
Ходовые тулы (полный список — connection_search):
- Чтение:
get_chats, get_dialogs_json, get_history, list_messages, get_messages.
- Поиск:
search_messages (внутри чата), search_global, resolve_username.
- Отправка:
send_message, reply_to_message, send_file, forward_message.
Анти-бан — обязательно
Сервер уже принудительно соблюдает FloodWait и притормаживает отправки, но лимиты Telegram —
на уровне аккаунта. Перед любой отправкой прочитай safety.md в этом скилле и следуй ему:
рандомные паузы, не бомбить, не слать одинаковый текст веером, стоп при PeerFlood. Чтение почти
не банится — предпочитай его. Сомневаешься в отправке — замедлись или спроси владельца.
1---2name: telegram-userbot3description: Личный Telegram владельца (userbot): читать чаты, искать, писать от его имени; подключение аккаунта.4---56# telegram-userbot78Доступ к **личному Telegram-аккаунту владельца** (Telethon, MTProto) — отдельный аккаунт-человек,9НЕ бот, через которого ты сейчас общаешься. Всё делается ТОБОЙ прямо в этом чате: настройку ты10проводишь сам (через `bash`-тул на хосте), а работу — через MCP-тулы11`connection__telegram-userbot__<tool>` (ищи их через `connection_search`).12**Пользователь только пишет в чат — терминал он не трогает.**1314## ⚠️ Сначала — предупреди и получи согласие1516Автоматизация личного аккаунта нарушает ToS Telegram и может привести к **бану аккаунта**17(особенно отправка). Одной фразой скажи владельцу, что это на его страх и риск и что безопаснее18всего только чтение. Продолжай, только если он согласился.1920## Шаг 1. Подключён ли аккаунт?2122Вызови `login_status`.2324- `connected` → всё готово, переходи к работе (Шаг 4).25- `not_connected` → нужен онбординг (Шаг 3), но сперва проверь, поднят ли прокси (Шаг 2).26- Если сам вызов падает (сервер недоступен) → прокси ещё не установлен, иди в Шаг 2.2728## Шаг 2. Поднять прокси (первый раз, делаешь ты через `bash`)2930Прокси — opt-in Python-сервис; при первом подключении подними его сам.31321. Проверь: `iva userbot status`.332. Нужны `api_id` / `api_hash` с my.telegram.org. Проведи владельца:34 «Открой https://my.telegram.org → **API development tools** → создай приложение (название любое,35 платформа Desktop) → пришли мне **api_id** и **api_hash**». Дождись, пока он пришлёт оба в чат.363. Запиши ключи (через stdin, БЕЗ утечки в список процессов):37 ```bash38 iva userbot creds <<'CREDS'39 <api_id>40 <api_hash>41 CREDS42 ```434. Подними прокси (сборка venv может занять ~1–2 мин — ставь `timeoutMs` ≥ 300000):44 ```bash45 iva userbot setup46 ```47 Команда соберёт окружение, создаст токен и запустит сервис. **iva перезапускать НЕ нужно.**48 Если `iva` не найден — запусти из каталога установки: `node bin/iva.mjs userbot setup`.4950## Шаг 3. Онбординг по QR (в чате)51521. Вызови `qr_login_start`. Сервер отрисует QR и **сам пришлёт его картинкой в этот чат**.53 (Если сразу после setup вызов не прошёл — прокси ещё поднимается, повтори через несколько секунд.)542. Скажи владельцу: открой приложение Telegram **того аккаунта, который подключаешь** →55 Настройки → Устройства → Подключить устройство → отсканируй QR.563. Опрашивай `qr_login_status` раз в несколько секунд:57 - `authorized` → готово.58 - `password_needed` → включена двухфакторка. Попроси у владельца пароль и передай в59 `qr_login_password`. **Предупреди:** пароль пройдёт через чат — пусть сменит его потом, если60 переживает. Не логируй и не повторяй пароль в ответах.61 - `waiting` → ещё не отсканировал, подожди.62 - `expired` / `error` → начни заново с `qr_login_start`, объясни причину.6364Сессия хранится на сервере — повторный онбординг после рестарта не нужен.6566## Шаг 4. Работа с аккаунтом6768Ходовые тулы (полный список — `connection_search`):6970- Чтение: `get_chats`, `get_dialogs_json`, `get_history`, `list_messages`, `get_messages`.71- Поиск: `search_messages` (внутри чата), `search_global`, `resolve_username`.72- Отправка: `send_message`, `reply_to_message`, `send_file`, `forward_message`.7374## Анти-бан — обязательно7576Сервер уже принудительно соблюдает FloodWait и притормаживает отправки, но лимиты Telegram —77на уровне аккаунта. **Перед любой отправкой прочитай `safety.md` в этом скилле** и следуй ему:78рандомные паузы, не бомбить, не слать одинаковый текст веером, стоп при `PeerFlood`. Чтение почти79не банится — предпочитай его. Сомневаешься в отправке — замедлись или спроси владельца.