본문으로 건너뛰기
cccskills
무료GitHub에 공개

tg-connect

ПОДКЛЮЧИТЬ Telegram на ЭТОЙ машине — оба стека сразу: Telethon-рельса (роботы, 0 LLM) и MCP (живые сессии). Триггеры «/tg-connect», «/tg-login», «подключи телегу», «подключи телеграм на этой машине», «залогинь телегу», «телега отвалилась», «AuthKeyDuplicated», «перелогинь аккаунт <имя>», «настрой telethon и mcp», «connect telegram», «relogin telegram»

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Telegram
설치 방법 보기

포함된 파일(1)

  • SKILL.md12.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OBJECTIVE: сделать этот узел TG-готовым — обе рельсы живы, у каждой своя сессия, вердикт подтверждён /tg-check. Всё, что можно, делаю сам: логины и авторизации мои по умолчанию (Антон, 27.06.2026: «ВСЕГДА делай все авторизации максимально автономно»). Антона зову только там, где физически нет пути.

Закон (нарушать нельзя, остальное — детали)

  1. Каждая машина логинится САМА, один раз на аккаунт. Один аккаунт держит сколько угодно устройств — это норма Telegram.
  2. ⛔ НИКОГДА не копировать и не синкать session-строку между машинами. Строка = паспорт машины, а не общий секрет. Одна строка на два IP → Telegram видит угон ключа → AuthKeyDuplicated → гасит ключ → падают ОБЕ машины.
  3. Сессия живёт машинно-локально, вне синка: Windows %LOCALAPPDATA%\claude-tgbus\session.env, macOS ~/Library/Application Support/claude-tgbus/, Linux ~/secrets/ (chmod 600).
  4. Два стека на узел — оба обязательны: MCP для живых сессий, Telethon-рельса для роботов. Узел с одним стеком не считается подключённым.

Канон: reglament-telegram-login-svoya-sessiya-na-mashinu-master (входная точка) + reglament-telegram-dva-steka-telethon-i-mcp + reglament-shina-telegram-bez-mcp-i-svoya-sessiya-na-mashinu.

Какая дверь живая (реколл 05.08.2026 — не гадать заново)

Скриптов логина в двух домах 14, живых из них три. Остальное — исторические половинки.

движокролькогда звать
tg_session_init.py⭐ ГЛАВНЫЙ: даёт машине свою строку на выбранный аккаунт, сам берёт код и 2FA, пишет в нужный дом, бэкапит .env перед правкойвсегда, это и есть подключение
tg_authcheck.pyистина о МОЕЙ сессии (current=True + свежая date_active), под общим локомдо и после
tg_channels_check.pyматрица обеих рельс на машине, 0 токеновдо и после
tg_init_step1_request.py + tg_init_step2_signin.pyручная двухходовка, когда код приходится вводить с руктолько если главный не смог достать код
tg_init_step2_mcp.pyотдельный вход для MCP на ЯкорьеLinux-узел
_imports/dialogs/tg_login_*.py (4 шт)ИЮНЬСКАЯ ветка под выделенную read-сессию для индекса чатовне трогать для подключения

Ход работы

Шаг 0. Диагноз (0 токенов, ничего не меняет).

python "$USERPROFILE\.claude\scripts\tg_authcheck.py"
python "$USERPROFILE\.claude\scripts\tg_channels_check.py"

Читай ДАННЫЕ сессии, а не догадки: ⛔ не судить о телеге по _heartbeat-*.txt, по синканной .env или по sender_id (все машины ходят под одним аккаунтом — по нему их не различить). Свежий AuthKeyDuplicated в mcp_errors.log = кто-то поделился строкой, это корень, а не симптом.

Шаг 1. Рельса Telethon (аккаунт REFRESH = @[рабочий аккаунт]). Сперва вхолостую, потом боевым:

python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account REFRESH --dry
python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account REFRESH

Строка ляжет в machine-local session.env. Движок держит общий лок _refresh_[рабочий аккаунт].lock только для этого аккаунта — не запускать параллельно с роботами шины.

Шаг 2. Аккаунты MCP. Их на хабе четыре, у каждого свой ключ в [путь владельца] (файл бэкапится перед каждой правкой):

python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account [рабочий аккаунт]
python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account [рабочий аккаунт]
python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account [рабочий аккаунт]_MCP
python "$USERPROFILE\.claude\scripts\tg_session_init.py" --account TONYDZI

⚠️ [рабочий аккаунт]_MCP ≠ REFRESH: это один аккаунт @[рабочий аккаунт], но ДВА разных auth-key — по одному на рельсу. Так и должно быть; попытка обслужить обе рельсы одной строкой и есть тот самый AuthKeyDuplicated.

Шаг 3. Подними потребителя. MCP на хабе — не stdio-копия в каждой сессии, а ОДИН SSE-демон (.claude.json → "telegram": {"type":"sse","url":"http://127.0.0.1:8765/sse"}), его держит сторож «MCP Daemons Watchdog». После смены строк демон надо перезапустить, иначе он до конца жизни ходит со старым ключом. Живые инструменты появляются в сессии только после её перезапуска — это не поломка.

Шаг 4. Вердикт чужим прибором. Свой же скрипт доказательством не считается:

python "$USERPROFILE\.claude\scripts\tg_channels_check.py"

плюс живой вызов mcp__telegram__list_accounts прямо в сессии — скриптом MCP честно не проверить, это stdio/SSE-сервер харнесса. Полный протокол = скилл /tg-check.

Курица и яйцо (главная граница)

Код входа я забираю САМ из служебного чата 777000 — но через уже живую сессию этого аккаунта. Значит:

  • аккаунт жив хоть где-то → делаю всё сам, Антона не трогаю;
  • сессия мертва ВЕЗДЕ (первый вход на новой машине, снесли все устройства) → кода взять неоткуда. Тогда по лестнице: (1) попросить пир по шине забрать код своей живой сессией ([[peer-otp-relay]]); (2) только если и пиров нет — руки Антона, и тогда код передаётся через TG_LOGIN_CODE, а не вводится в чат.
  • 2FA берётся из secrets\telegram_2fa.env сам, в лог не печатается.

⭐ QR-АКЦЕПТ ДОНОРОМ — когда код НЕ приходит в 777000 (добавлено 21.09.2026)

Ступень лестницы выше, а не замена ей: нужна, когда OTP идёт SMS на телефон, а не в служебный чат — там 777000 не помогает. Именно на этом месте 14.09 родился ложный вывод «обхода нет, нужны руки Антона»; он прожил один день.

Условие применимости: аккаунт жив хоть на одном узле флота. Тогда рук Антона не нужно вовсе — донор подтверждает вход так же, как телефон подтверждает QR-код в приложении:

  1. на безногом узле — client.qr_login(), берём qr.token (base64url); токен живёт ~50 сек;
  2. на узле-доноре — AcceptLoginTokenRequest(raw_token) его живой сессией ЭТОГО аккаунта;
  3. SessionPasswordNeededError → client.sign_in(password=...) из telegram_2fa.env (штатный шаг, не сбой);
  4. строка → в .env потребителя, дальше рестарт демона и проверка чужим прибором (см. «Ход работы»).

⚠️ Приёмник кладётся на донора заранее и зовётся прямым ssh: обёртка со scp+ssh не успевает в окно токена (замер 15.09: доставка 38 с → AuthTokenExpiredError). ✅ Закон №2 тут не нарушается: узел получает СВОЙ auth key, строка донора никуда не едет. Донор после выдачи остаётся authorized (проверено 15.09, перепроверено 21.09).

Разбор случая: память fleet-shares-tg-access-via-qr и tg-archive-false-green-[рабочий аккаунт] §опровержение.

Границы и грабли

  • ⛔ Не копировать строки между машинами — ни «временно», ни «чтобы быстрее». Это не удобство, это авария на обе машины.
  • ⛔ Не поднимать второй Telethon-клиент как health-check: два клиента на одной сессии = разлогин. Поэтому диагноз ходит под локом, а не «просто подключиться и посмотреть».
  • Синканный [путь владельца] с *_SESSION — известная утечка, её доводят до per-machine-split. Новые строки туда НЕ писать.
  • Частые перелогины с прыжками по IP/странам могут вызвать SMS-переверификацию. Логинимся один раз на машину и не дёргаем.
  • Секреты не уезжают в волт, в always-loaded и в исходящее: только secrets\ и локальные .env.

Соседи: /tg-check (диагноз обеих рельс) · /telegram-howto (что уметь после подключения) · /whatsapp-pair (та же задача для WhatsApp) · /raise-sync (если лежит синк, а не телега).

<!--kit-footer-->

Like this skill? It is one of 100 in second-brain-starter-kit: the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with npx skills add tonydzi/second-brain-starter-kit. Everything is open source and free, so take what you need.

Flagships worth a look on their own: secondop-panel (a second opinion from a panel of external models), claude-memory-tidy (stop your agent's memory from rotting), telegram-mcp-kit (your own Telegram over MCP in about 15 minutes).

Author: Anton Dziatkovskii, Palo Alto AI Research Lab. Telegram @tonydzi - WhatsApp +1 341 222 9178 - X @Tony_Stef_

Engineers: want to test-drive this setup? Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

03

무료

Run an autonomous consensus round between agent peers on several machines: they negotiate a decision over a shared channel and execute it without a human relaying messages. Use when multiple machines must agree on a change. Triggers: "/03", "work it out among yourselves", "find consensus". Wakes the human only for irreversible actions or a deadlock.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

1

무료

Recover a session after a hard crash (app died, machine rebooted, context lost mid-work): replay the turn-state ledger for the last requests, files and decisions, run a green/red health ping over the system map, file sync and MCP connectors, then rebuild the previous session history for pickup. Triggers: "/1", "resume after crash", "wake".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

agenda

무료

Show the operator's day: today's calendar plus what needs them personally (leads due, people awaiting a reply, deadlines), pulled from Calendar and Telegram and ranked. Read-only: sends and commits nothing. Triggers: "/agenda", "what's on today", "my agenda".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

ai-slop

무료

Rewrite machine-written text so it reads like a busy human wrote it: cut 50-70%, break the even rhythm, drop AI-tell words and filler, keep facts and protected terms. Use before publishing any post, reply or email drafted by a model. Triggers: /ai-slop, /slop, humanize, anti-slop, make it shorter and alive.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

Decision protocol for strategic work: recall the knowledge vault, run a gap analysis, emit a deep-research prompt for external tools, then synthesize the returned reports into a decision memo. Use before any new product, feature, market, pricing, GTM or architecture call, where local recall alone is not enough. Triggers: "/alfa-search-recall-deepresearch", "alpha protocol", "R+DR".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

- КРЕДИТ АВТОРУ ИДЕИ: совет из комментария (TG @ClawRus / @ClawInga, комменты под постами Антона в FB, треды и issue на… Триггеры: “/alpha-credit“, “/credit“, “кто нам это посоветовал“, “запиши совет“, “поблагодари советчиков“, “кому мы должны спасибо“, “кредит автору“, “чей это был совет“, “credit the author“

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tonydzi/second-brain-starter-kit92026년 10월 20일 업데이트

tonydzi의 스킬 모두 보기

이 스킬의 문제 신고