Зачем подключать Telegram к AI?
Если у вас десятки чатов в Telegram, вы знаете это чувство: открываешь приложение — а там 100+ непрочитанных сообщений. Что-то важное, что-то можно пропустить, но разбираться некогда.
AI-ассистент, подключённый к Telegram, решает эту проблему:
- Утренний дайджест — краткое резюме всех непрочитанных: что срочно, что можно отложить
- Поиск по переписке — найти «тот разговор о проекте X» без ручного скролла
- Анализ обсуждений — резюмировать длинные треды, выделить ключевые решения
- Черновики ответов — AI готовит ответ, вы проверяете и отправляете
Как это работает: поток данных
Прежде чем настраивать, важно понимать, что происходит с вашими данными:
- telegram-mcp работает локально на вашем компьютере и получает сообщения напрямую от серверов Telegram
- Ваш токен авторизации (session string) никуда не отправляется — он хранится только на вашем устройстве
- Когда вы просите Claude обработать сообщения (резюме, поиск, черновик), текст сообщений отправляется в Anthropic API для обработки — так же, как если бы вы скопировали и вставили их в Claude вручную
Токен = локально, на вашем устройстве. Текст сообщений = отправляется в Anthropic, когда вы явно просите Claude их обработать. Это тот же уровень приватности, что и ручное копирование в Claude.
Claude vs ChatGPT: важное различие
Прежде чем настраивать, нужно понять принципиальную разницу между платформами:
| Параметр | Claude (Code) | ChatGPT |
|---|---|---|
| Метод интеграции | MCP-серверы (локальные плагины) | GPT Actions / Apps SDK |
| Где работает | Локально на вашем устройстве | На серверах OpenAI |
| Токен Telegram | Остаётся на устройстве | Уходит на внешний сервер |
ChatGPT не может запускать локальные программы. Любая интеграция с Telegram требует облачного сервера, который будет держать ваш токен. Это значит, что ваши переписки потенциально доступны третьей стороне. Если приватность критична — используйте Claude Code. Дальше в статье мы рассматриваем именно этот вариант.
Что понадобится
- Claude Code — CLI-инструмент от Anthropic (claude.ai/code)
- Python 3 — обычно уже установлен на Mac. Проверьте командой
python3 --versionв Терминале - Telegram аккаунт — с доступом к my.telegram.org
Если у вас уже установлен Docker — его тоже можно использовать, но Python проще и легче. Docker не обязателен.
Если Python или Docker уже установлены — 10-15 минут. Если нужно устанавливать с нуля — заложите 30-45 минут.
Шаг 1: Получение API-ключей Telegram (~5 мин)
Telegram требует регистрации приложения для доступа к API — как пропуск в здание. Это бесплатно и занимает пару минут.
- Откройте my.telegram.org
- Введите номер телефона (с кодом страны: +7...)
- Введите код подтверждения (придёт в Telegram на все устройства)
- Перейдите в «API development tools»
- Если у вас ещё нет приложения — создайте:
- App title: любое (например, «Claude Integration»)
- Short name: уникальное, латиницей, 5-32 символа (например, «ivan_claude»). Если имя занято — добавьте цифры.
- Platform: Desktop
- Запишите api_id (число) и api_hash (строка из 32 символов)
Проверка: У вас должны быть два значения — числовой API ID и 32-символьный API Hash.
Шаг 2: Генерация Session String (~3-5 мин)
Session string — это зашифрованный токен вашей сессии Telegram. Он позволяет приложению действовать от вашего имени без повторного ввода кода при каждом запуске.
Если у вас включена двухфакторная аутентификация (2FA), приготовьте пароль. Без него этот шаг невозможен. Если забыли — восстановите через настройки Telegram до начала.
Откройте Терминал (на Mac: Cmd+Space, наберите «Terminal», Enter) и выполните:
Способ A: Python (самый лёгкий)
# Установите библиотеку Telegram
pip3 install telethon
# Запустите генератор (нужно будет ввести данные)
python3 -c "
from telethon.sync import TelegramClient
from telethon.sessions import StringSession
api_id = int(input('Enter API ID: '))
api_hash = input('Enter API Hash: ')
with TelegramClient(StringSession(), api_id, api_hash) as client:
print('\n=== YOUR SESSION STRING ===')
print(client.session.save())
print('=== END SESSION STRING ===')
"Способ B: Docker (если установлен)
docker run -it --rm bayramannakov/telegram-mcp:latest python setup_wizard.py
Программа запросит:
- API ID — число из шага 1
- API Hash — строка из шага 1
- Номер телефона — с кодом страны (+7...)
- Код подтверждения — придёт в Telegram (проверьте все устройства)
- Пароль 2FA — если включён
Проверка: Результат — строка из 300-400 символов (буквы, цифры, +, /, =). Если строка короче 100 символов — что-то пошло не так. Скопируйте её аккуратно, без лишних пробелов.
Шаг 3: Безопасное хранение ключей (~1 мин)
На macOS используем Keychain — встроенное защищённое хранилище Apple. Команда security — это его интерфейс в Терминале.
# Сохраните API ID (флаг -U обновит, если запись уже есть) security add-generic-password -a "api_id" -s "telegram-mcp" -w "ВАШ_API_ID" -U # Сохраните API Hash security add-generic-password -a "api_hash" -s "telegram-mcp" -w "ВАШ_API_HASH" -U # Сохраните Session String (одинарные кавычки — для спецсимволов) security add-generic-password -a "session_string" -s "telegram-mcp" -w 'ВАША_SESSION_STRING' -U
Проверка:
security find-generic-password -a "api_id" -s "telegram-mcp" -w
Должен вывести ваш API ID. Если видите ошибку — повторите команду сохранения.
На Windows используйте переменные окружения в PowerShell или файл .env с ограниченным доступом. Полная инструкция для Windows — в документации скилла (references/windows-setup.md).
Шаг 4: Регистрация MCP-сервера (~2 мин)
MCP (Model Context Protocol) — это «плагины» для Claude Code. Сейчас мы подключим Telegram как плагин.
Если вы используете скилл /telegram-mcp-setup в Claude Code, он создаст скрипт-обёртку автоматически. Если настраиваете вручную — в Терминале:
# Зарегистрируйте MCP-сервер claude mcp add telegram-mcp -s user -- ~/.local/bin/telegram-mcp-docker # Проверьте, что сервер добавлен claude mcp list
Должны увидеть telegram-mcp в списке серверов.
Перезапустите Claude Code — закройте и откройте заново, чтобы MCP-сервер загрузился.
Docker Desktop должен быть запущен каждый раз, когда вы работаете с Telegram в Claude Code. Если Docker закрыт — Telegram-инструменты перестанут работать без предупреждения.
Шаг 5: Проверка подключения (~1 мин)
Откройте Claude Code и попросите:
Покажи мои последние чаты в Telegram
Если всё настроено правильно — увидите список своих чатов.
- «Сделай дайджест непрочитанных сообщений»
- «Найди переписку, где обсуждали проект X»
- «Резюмируй последние 50 сообщений в чате Y»
- «Подготовь черновик ответа на последнее сообщение от Ивана»
Безопасность: что нужно знать
Session string — это больше, чем пароль
Обычный пароль требует 2FA для доступа. Session string обходит 2FA — это уже авторизованный токен. Если он утечёт, злоумышленник может:
- Прочитать все сообщения во всех чатах, группах и каналах
- Отправлять сообщения от вашего имени
- Скачивать файлы, фото, документы
- Получить доступ к списку контактов
- Делать всё это незаметно, без уведомлений
Ограничения текущей версии
telegram-mcp даёт полный доступ к аккаунту. Нет режима «только чтение» и нет фильтрации по чатам. Когда Claude читает ваши сообщения, у него есть доступ ко всем чатам.
Правила безопасной работы
- Никогда не отправляйте автоматически — всегда используйте режим черновика (
save_draft), проверяйте и отправляйте вручную - Не делитесь session string — он даёт полный доступ к аккаунту
- Включите 2FA — дополнительная защита вашего Telegram
- Проверяйте активные сессии — Telegram → Настройки → Конфиденциальность → Активные сессии
- Обновляйте session string раз в 90 дней — как гигиена безопасности
- Попробуйте на тестовом аккаунте — если у вас чувствительные бизнес-чаты, сначала протестируйте на вторичном аккаунте
Полное отключение
Чтобы полностью отключить Telegram от Claude Code:
- Завершите сессию в Telegram: Настройки → Конфиденциальность → Активные сессии → «Завершить все другие сессии»
- Удалите ключи из Keychain (три команды
security delete-generic-password) - Удалите MCP-сервер:
claude mcp remove telegram-mcp - Удалите скрипт-обёртку:
rm ~/.local/bin/telegram-mcp-docker
Решение проблем
«Could not find the input entity»
Неправильный формат ID чата. Для супергрупп добавьте -100 в начало ID. Для каналов используйте username без @.
«Session expired»
Session string истёк. Перегенерируйте через тот же скрипт из Шага 2 и обновите в Keychain.
«Docker daemon not running»
Docker Desktop не запущен. Откройте Docker Desktop и подождите 1-2 минуты. Если не используете Docker — эта ошибка не ваша, проверьте, что MCP зарегистрирован с правильным скриптом.
MCP-сервер не появляется в Claude Code
Удалите и добавьте заново: claude mcp remove telegram-mcp, затем повторите регистрацию. Перезапустите Claude Code.
Эта статья — часть серии материалов для продвинутых пользователей AI. На наших курсах вы научитесь эффективно использовать AI-инструменты для создания продуктов и автоматизации рутины.