Перейти к содержимому

Как подключить Telegram к Claude Code

Когда Telegram подключён, Claude работает прямо в вашем аккаунте. Он разбирает по цифрам ваш канал и каналы конкурентов и показывает, какие темы заходят.

Claude публикует посты — сразу или в нужный день и час. Верстает статьи в новом формате Telegram: с заголовками, картинками и таблицами, в 8 раз длиннее обычного поста.

Ещё Claude отвечает ученицам и клиентам — или оставляет ответ черновиком, чтобы вы сначала проверили.

Полный список — все 131 функция по разделам в конце статьи.

Откройте в приложении Claude вкладку Code и отправьте этот промпт целиком:

Подключи мой личный Telegram к Claude Code через сервер chigwell/telegram-mcp.
Делай всё сам, по шагам. У меня Mac или Windows — определи сам.
Если какой-то шаг уже сделан раньше — проверь, что он работает, и не делай заново.
1. Проверь uv (uv --version). Нет — поставь официальным установщиком
с docs.astral.sh/uv для моей системы.
2. Склонируй github.com/chigwell/telegram-mcp в папку telegram-mcp в моей
домашней папке и переключись на тег последнего релиза (не ветку main).
Если git нет или macOS просит поставить инструменты разработчика — не
ставь их, а скачай и распакуй zip-архив последнего релиза с GitHub.
Потом выполни в папке uv sync --frozen. Из PyPI ничего с именем
telegram-mcp не ставь: это чужой пакет.
3. Напиши local/login.py — окно входа на tkinter. Запускай его командой
uv run --frozen --with keyring python local/login.py из папки проекта.
- Заголовок окна «Telegram для Claude», окно поверх остальных, кнопка OK.
Вопросы по очереди: api_id, api_hash, номер телефона, код от Telegram,
облачный пароль (только если Telegram его попросит, ввод скрыт).
- Вставка Cmd+V / Ctrl+V работает на любой раскладке, включая русскую.
Поле пустое и нажали OK — возьми значение из буфера обмена (кроме
облачного пароля). Из вставленного текста выбирай само значение:
api_id — цифры, api_hash — 32 символа 0–9 и a–f, код — 5–6 цифр.
- Неверный код или пароль — скажи об этом в окне и спроси снова.
- Вход — через Telethon проекта, имя устройства «Claude Code telegram-mcp».
- В keyring уже есть рабочая сессия — не входи заново, покажи аккаунт.
- api_id, api_hash и готовую сессию (StringSession) сохрани через
keyring, служба telegram-mcp. Не печатай их, не пиши в файлы и в чат.
- Если файла local/settings.json ещё нет — создай его с числовым id
аккаунта: {"allowed_chats": [<мой id>], "exposed_tools": "read-only"}.
Есть — не трогай. В конце выведи только имя аккаунта и его id.
4. Напиши local/start.py. В начале файла — комментарий: список чатов и
режим инструментов меняются только в local/settings.json. Он берёт
api_id, api_hash и сессию из keyring, allowed_chats и exposed_tools из
settings.json, задаёт TELEGRAM_API_ID, TELEGRAM_API_HASH,
TELEGRAM_SESSION_STRING, TELEGRAM_ALLOWED_CHAT_IDS (через запятую),
TELEGRAM_EXPOSED_TOOLS, TELEGRAM_DEVICE_MODEL=Claude Code telegram-mcp,
TELEGRAM_SESSION_LOCK=shared (так Telegram работает сразу в нескольких
чатах Claude на этом компьютере) и запускает main.py проекта в том же
процессе:
runpy.run_path(..., run_name="__main__").
Чего-то нет или allowed_chats пустой — пишет причину в stderr и выходит
с ошибкой: пустой список означает доступ ко всем чатам.
В stdout ничего своего не пишет.
5. Запусти вход в фоне, скажи мне, что появилось окно «Telegram для
Claude», и дождись конца.
6. Подключи сервер ко всем проектам:
claude mcp add --scope user telegram -- <полный путь к uv> --directory
<полный путь к проекту> run --frozen --with keyring python local/start.py
Нет команды claude — сделай копию файла .claude.json в домашней папке
и добавь эту же запись в его mcpServers ("type": "stdio", "command" —
путь к uv, "args" — остальное), больше ничего в нём не трогая.
Сервер telegram там уже есть — замени только его.
7. Проверь: запусти сервер этой же командой и подключись к нему как
MCP-клиент (пакет mcp из проекта), вызови get_me и list_chats.
Должен быть виден только чат «Избранное». Среди инструментов не должно
быть ни одного, который отправляет, меняет или удаляет.
8. Поставь официальный плагин Telegram от Anthropic и сразу выключи его:
claude plugin install telegram@claude-plugins-official --scope user,
потом claude plugin disable telegram@claude-plugins-official --scope user.
Включённый, он запускает бота в каждом чате Claude, и чаты отбирают бота
друг у друга. Нет команды claude — пропусти установку и скажи мне.
Создай ~/.claude/channels/telegram/access.json, чтобы бот слушал только
меня: {"dmPolicy": "allowlist", "allowFrom": ["<мой id>"], "groups": {}}.
Мой id — в local/settings.json.
9. Напиши в папке local два файла для бота черновиков.
- bot_token.py — окно на tkinter «Черновики — ключ бота», поверх
остальных, кнопка OK. Поле пустое и нажали OK — возьми текст из буфера
обмена. Ключ выбери по шаблону: 6–12 цифр, двоеточие, 30–50 символов
из латинских букв, цифр, _ и -. Проверь его запросом getMe
к api.telegram.org. Не принят — скажи об этом в окне и жди снова.
Принят — запиши TELEGRAM_BOT_TOKEN=<ключ> в ~/.claude/channels/telegram/.env
(права 600), покажи в окне «Готово: бот @<имя> подключён» и закройся.
Ключ не печатай. Окно не открывается из-за Tcl — задай TCL_LIBRARY
и TK_LIBRARY на папки tcl8.6 и tk8.6 в lib базового Python
(sys.base_prefix).
- send_draft.py — отправляет мне Markdown-файл одним сообщением методом
Bot API sendRichMessage: rich_message.markdown — текст файла, chat_id —
мой id, ключ — из того же .env. Картинки с компьютера (![](файл.png))
прикладывай через rich_message.media и ссылки tg://photo?id=…,
запросом multipart. Лимит — 32 768 символов. Выводит только
«отправлено» или текст ошибки Telegram.
10. Скажи мне создать бота в @BotFather: команда /newbot, имя «Черновики»,
адрес на _bot. Запусти bot_token.py в фоне, скажи, что появилось окно
«Черновики — ключ бота», и дождись конца.
11. Попроси меня открыть нового бота и нажать «Старт». Когда я скажу, что
«Старт» нажат, отправь через send_draft.py короткую тестовую статью:
заголовок, абзац с жирным, таблица из трёх строк, чек-лист. Ответ
«chat not found» значит, что «Старт» ещё не нажат.
12. Отчитайся по-русски простыми словами: под каким аккаунтом вход, режим
«только чтение», адрес бота, тестовая статья отправлена, инструменты
Telegram появятся в новом чате.
Правила. Ключи, коды и пароли в чат у меня не проси: я ввожу их только
в окна «Telegram для Claude» и «Черновики — ключ бота». Отправку сообщений
от моего имени не включай. Если шаг не удался — не иди дальше, скажи мне,
что случилось.

Claude начнёт установку. Пока он работает, переходите к шагу 2.

Когда установка дойдёт до входа, появится окно «Telegram для Claude» — оно понадобится в шаге 3. После входа Claude попросит создать бота для черновиков — это шаги 4 и 5.

  1. Откройте в браузере my.telegram.org и введите номер телефона своего Telegram.

    Вход на my.telegram.org: номер телефона и поле для кода
  2. Код для входа придёт в приложение Telegram, в сообщении «Код подтверждения для сайта». Скопируйте код — на скриншоте он в оранжевой рамке — вставьте в поле Confirmation code и нажмите Sign In.

    Сообщение от Telegram с кодом для сайта; код в оранжевой рамке, размыт
  3. Нажмите API development tools.

    Страница Your Telegram Core, ссылка API development tools
  4. Откроется форма Create new application. В поле App title введите название:

  5. В поле Short name введите короткое имя латиницей:

  6. В строке Platform выберите Desktop.

  7. Остальные поля оставьте пустыми.

  8. Нажмите Create application.

    Форма Create new application: название, короткое имя, платформа Desktop
  9. На странице появятся два ключа: App api_id — число и App api_hash — строка из 32 символов. Не закрывайте страницу: ключи понадобятся в шаге 3.

    Блок App configuration: App api_id и App api_hash (на скриншоте размыты)

Ключи — как пароль. Не присылайте их в чат и не показывайте на скриншотах.

Шаг 3. Вставьте ключи в окно и войдите в Telegram

Заголовок раздела «Шаг 3. Вставьте ключи в окно и войдите в Telegram»
  1. На странице с ключами выделите число App api_id и нажмите Cmd+C (на Windows — Ctrl+C).

    Выделенное поле App api_id в оранжевой рамке (число размыто)
  2. В окне «Telegram для Claude» нажмите OK, поле оставьте пустым. Окно само возьмёт скопированное.

    Окно «Telegram для Claude», шаг 1 из 4: api_id
  3. Выделите строку App api_hash (32 символа) и нажмите Cmd+C (на Windows — Ctrl+C).

    Выделенное поле App api_hash в оранжевой рамке (строка размыта)
  4. Вернитесь в окно и сразу нажмите OK, поле оставьте пустым. Окно само возьмёт api_hash из того, что вы скопировали.

    Окно «Telegram для Claude»: скопируйте api_hash и нажмите OK
  5. Окно попросит номер телефона. Впишите его с плюсом и кодом страны и нажмите OK.

    Окно: номер телефона в международном формате
  6. Telegram пришлёт в приложение код для входа.

    Сообщение от Telegram с кодом входа (код размыт)
  7. Впишите код в окно и нажмите OK.

    Окно: код входа
  8. Если у вас включена двухэтапная проверка, окно попросит облачный пароль. Пароль вводится скрытно и нигде не сохраняется.

Через этого бота Claude будет присылать вам черновики длинных статей. Вы надиктовываете или присылаете Claude текст, а Claude верстает его в новом формате Telegram — с заголовками, таблицами, картинками и обложкой.

Бот присылает статью вам в Telegram такой, какой её увидят читатели. Нужна правка — скажите Claude, и бот пришлёт исправленную версию.

Готовую статью бот опубликует в вашем канале или группе, если сделать его там админом. Боту новый формат доступен бесплатно, без Telegram Premium.

Claude попросит создать бота сразу после входа в Telegram.

  1. Откройте в Telegram @BotFather и нажмите Start.

    Бот BotFather в Telegram, кнопка START BOT
  2. Отправьте команду

    Команда /newbot в списке команд BotFather
  3. BotFather спросит имя бота. Отправьте:

    BotFather просит имя бота, в поле ввода — Черновики
  4. BotFather спросит адрес бота. Отправьте адрес латиницей, который заканчивается на bot, например ваш_ник_drafts_bot.

    BotFather просит адрес бота, адрес в поле ввода размыт
  5. BotFather пришлёт ключ бота — строку вида 123456789:AAH…. На скриншоте она в оранжевой рамке. Не закрывайте это сообщение: ключ понадобится в шаге 5.

    Сообщение BotFather: бот создан, ключ в оранжевой рамке размыт

Ключ бота — как пароль. Не присылайте его в чат и не показывайте на скриншотах.

Шаг 5. Вставьте ключ бота в окно и нажмите «Старт»

Заголовок раздела «Шаг 5. Вставьте ключ бота в окно и нажмите «Старт»»
  1. В сообщении BotFather выделите ключ и нажмите Cmd+C (на Windows — Ctrl+C).

  2. В окне «Черновики — ключ бота» нажмите OK, поле оставьте пустым. Окно само возьмёт скопированный ключ.

    Окно «Черновики — ключ бота» с пустым полем и кнопкой OK
  3. Окно проверит ключ в Telegram и напишет «Готово: бот … подключён».

    Окно «Черновики — ключ бота»: Готово, бот подключён (адрес размыт)
  4. Откройте своего бота — ссылка на него есть в сообщении BotFather — и нажмите Старт.

    Чат с ботом «Черновики», внизу кнопка СТАРТ
  5. Напишите Claude в чате:

Claude отчитается: под каким аккаунтом выполнен вход, что работает режим «только чтение» и какой адрес у вашего бота. Инструменты Telegram появятся в новом чате во вкладке Code.

В чат с ботом придёт тестовая статья в новом формате — вот так выглядит черновик с обложкой, таблицей и чек-листом:

Черновик в чате с ботом: обложка, заголовок, таблица, чек-лист, кнопка

Если хотите убедиться сами: в Telegram откройте Настройки → Устройства — там будет подключение Claude Code telegram-mcp. Там же его можно отключить: Завершить сеанс.

Активные сеансы в Telegram: устройство Claude Code telegram-mcp

Окно не приняло ключ. Скопируйте ключ ещё раз целиком: на сайте — без подписи слева, у BotFather — вместе с цифрами и двоеточием в начале. Нажмите OK с пустым полем.

Окно сказало, что код неверный. Введите новый код, который пришёл в Telegram, — окно спросит его снова.

Окно закрылось или потерялось. Напишите Claude: «окно закрылось, открой его заново».

my.telegram.org пишет ERROR при создании приложения. Выключите VPN и нажмите Create application ещё раз.

Инструментов Telegram нет в чате. Напишите в чате Claude , выберите в списке telegram и нажмите Reconnect. Не помогло — напишите Claude: «проверь, подключён ли сервер telegram, и почини».

BotFather пишет, что адрес занят. Придумайте другой адрес: латиницей и с bot на конце.

Тестовая статья не пришла, Claude пишет «chat not found». Откройте своего бота, нажмите Старт и напишите Claude «Старт нажат».

Сейчас Claude читает только «Избранное». Остальное открывается просьбой в чате Claude и заработает в новом чате.

Открой себе доступ к моему каналу @moy_kanal, группе «Поток 2» и каналам конкурентов @kanal1 и @kanal2. Только чтение.

Каналы конкурентов тоже впишите сюда, иначе Claude их не прочитает.

Включи в Telegram публикацию и правку постов, отложенные посты, опросы, ответы в чатах и черновики. Перед каждой отправкой спрашивай меня.

Разреши Telegram брать файлы только из папки «Для Telegram» на рабочем столе.

Замените названия на свои и отправьте просьбу в чат Claude.

Для задач с пометкой «запись» нужна вторая просьба из «Следующих шагов», с пометкой «бот» — бот черновиков из шага 4.

Задача Что написать Claude Доступ
Понять, что заходит у вас Какие мои посты за три месяца собрали больше всего репостов, а какие меньше всего? Чем они отличаются? чтение
Сравнить с конкуренткой Сравни мои посты за три месяца с постами @kanal1: какие темы заходят у меня, а какие у неё? чтение
Запланировать неделю Поставь в канал три поста из этого чата: понедельник, среда, пятница, 10 утра. Ко второму приложи фото из папки «Для Telegram». запись
Сверстать статью Сверстай этот текст статьёй в новом формате Telegram: заголовки, таблица, обложка. Пришли черновиком в бота. бот
Разобрать непрочитанное Пройди по непрочитанному в группе потока и в личке: кто ждёт ответа и что срочно? чтение
Собрать вопросы учениц Что спрашивали в группе потока за неделю? Отметь, на какие никто не ответил. чтение
Ответить ученице Ответь Маше в группе потока на её вопрос про домашку. Покажи ответ перед отправкой. запись
Найти отзывы Найди в группе потока все отзывы о курсе и выпиши дословно. чтение

Работает сразу, в открытых чатах:

  • Понять, что заходит у вас: «Какие мои посты за три месяца собрали больше всего репостов, а какие меньше всего? Чем они отличаются?»
  • Сравнить с конкуренткой: «Сравни мои посты за три месяца с постами @kanal1: какие темы заходят у меня, а какие у неё?»
  • Разобрать непрочитанное: «Пройди по непрочитанному в группе потока и в личке: кто ждёт ответа и что срочно?»
  • Собрать вопросы учениц: «Что спрашивали в группе потока за неделю? Отметь, на какие никто не ответил.»
  • Найти отзывы: «Найди в группе потока все отзывы о курсе и выпиши дословно.»

После второй просьбы из «Следующих шагов»:

  • Запланировать неделю: «Поставь в канал три поста из этого чата: понедельник, среда, пятница, 10 утра. Ко второму приложи фото из папки «Для Telegram».»
  • Ответить ученице: «Ответь Маше в группе потока на её вопрос про домашку. Покажи ответ перед отправкой.»

Через бота черновиков из шага 4:

  • Сверстать статью: «Сверстай этот текст статьёй в новом формате Telegram: заголовки, таблица, обложка. Пришли черновиком в бота.»

Похожие каналы из рекомендаций Telegram и рост подписчиков Claude не получает — их смотрите в самом Telegram.

От вашего имени статьи в новом формате выходят только с Telegram Premium. Без него их присылает ваш бот «Черновики» из шага 4.

Напиши статью по этой заметке, сделай к ней обложку и пришли черновиком в бота.

Чтобы бот публиковал статьи сразу в канал, сделайте его админом канала и напишите Claude:

Мой бот «Черновики» теперь админ канала @moy_kanal. Публикуй туда статьи, когда я скажу.

Всё, что подключение умеет в Telegram. Функции, которые что-то отправляют, меняют или удаляют, сначала выключены: включите нужные просьбой в чате Claude, как в «Следующих шагах».

Раздел Функций Что Claude делает
Сообщения и посты 34 Читает историю чатов и каналов с просмотрами, репостами, реакциями и комментариями под каждым постом. Ищет по тексту в одном чате или во всех открытых ему. Публикует, отвечает на конкретное сообщение, пересылает, исправляет и удаляет. Ставит посты на время и снимает с расписания, закрепляет, запускает опросы, ставит реакции. Сохраняет черновики, выгружает непрочитанное, расшифровывает голосовые и кружки, нажимает кнопки под сообщениями ботов.
Фото, видео, файлы 13 Отправляет фото, альбомы, файлы, голосовые, стикеры и GIF. Скачивает вложения из сообщений. Показывает фото профиля или канала, в том числе все сразу одним коллажем.
Каналы и группы 24 Создаёт группу или канал, меняет название, описание и фото. Приглашает, удаляет и блокирует участников, назначает админов и их права. Включает медленный режим, делает ссылки-приглашения, показывает список участников и журнал действий админов.
Чаты 19 Показывает список чатов и описание канала. Находит открытые каналы и подписывается на них. Создаёт и правит темы в группах, выключает уведомления, архивирует чаты. Показывает, кто прочитал сообщение, даёт ссылку на сообщение и общие чаты с человеком.
Контакты 17 Ищет, добавляет, удаляет и блокирует контакты, загружает и выгружает список. Находит последнюю переписку с человеком. Запоминает, как вы его называете: «Лена из потока».
Профиль 11 Меняет ваши имя, описание, фото и настройки приватности. Смотрит чужой профиль, фото и статус «в сети». Настраивает команды вашего бота.
Папки 7 Создаёт папки, раскладывает по ним чаты, меняет порядок папок.
Ожидание ответа 5 Ждёт нового сообщения в чате и продолжает работу, когда оно пришло.
Аккаунты 1 Работает с несколькими вашими аккаунтами Telegram.

Сообщения и посты

  • Читает историю чатов и каналов с просмотрами, репостами, реакциями и комментариями под каждым постом.
  • Ищет по тексту в одном чате или во всех открытых ему.
  • Публикует, отвечает на конкретное сообщение, пересылает, исправляет и удаляет.
  • Ставит посты на время и снимает с расписания, закрепляет, запускает опросы, ставит реакции.
  • Сохраняет черновики, выгружает непрочитанное, расшифровывает голосовые и кружки, нажимает кнопки под сообщениями ботов.

Фото, видео, файлы

  • Отправляет фото, альбомы, файлы, голосовые, стикеры и GIF.
  • Скачивает вложения из сообщений.
  • Показывает фото профиля или канала, в том числе все сразу одним коллажем.

Каналы и группы

  • Создаёт группу или канал, меняет название, описание и фото.
  • Приглашает, удаляет и блокирует участников, назначает админов и их права.
  • Включает медленный режим, делает ссылки-приглашения, показывает список участников и журнал действий админов.

Чаты

  • Показывает список чатов и описание канала.
  • Находит открытые каналы и подписывается на них.
  • Создаёт и правит темы в группах, выключает уведомления, архивирует чаты.
  • Показывает, кто прочитал сообщение, даёт ссылку на сообщение и общие чаты с человеком.

Контакты

  • Ищет, добавляет, удаляет и блокирует контакты, загружает и выгружает список.
  • Находит последнюю переписку с человеком.
  • Запоминает, как вы его называете: «Лена из потока».

Профиль

  • Меняет ваши имя, описание, фото и настройки приватности.
  • Смотрит чужой профиль, фото и статус «в сети».
  • Настраивает команды вашего бота.

Папки

  • Создаёт папки, раскладывает по ним чаты, меняет порядок папок.

Ожидание ответа

  • Ждёт нового сообщения в чате и продолжает работу, когда оно пришло.

Аккаунты

  • Работает с несколькими вашими аккаунтами Telegram.

Голосовые Claude расшифровывает встроенной расшифровкой Telegram, если у вас есть Premium. Без Premium нужен ключ сервиса Groq: попросите Claude подключить его.