← 返回
未分类 Key 中文

Telethon Master

Работа с Telegram через Telethon MCP: отправка сообщений, парсинг истории, управление группами, скачивание медиа и генерация голосовых сообщений.
通过 Telethon MCP 处理 Telegram:发送消息、解析聊天记录、管理群组、下载媒体文件和生成语音消息。
producedbysavant producedbysavant 来源
未分类 clawhub v1.2.0 3 版本 100000 Key: 需要
★ 0
Stars
📥 306
下载
💾 0
安装
3
版本
#latest#messaging#telegram#telethon

概述

Telethon Master

Скилл для работы с Telegram MTProto через Telethon Bridge. Предоставляет доступ к 23 инструментам (telegram_*) для отправки сообщений, голосовых (ElevenLabs TTS), истории чатов, реакций, файлов, управления каналами и статистики.

Поддерживает Claude Code (прямые MCP-вызовы) и OpenClaw (через Gateway).

Когда использовать

  • Отправить сообщение через Telegram (не через бота)
  • Получить историю чата, список диалогов
  • Сгенерировать голосовое (voice note) через ElevenLabs TTS
  • Отправить файл или фото
  • Поставить реакцию на сообщение
  • Получить статистику чата
  • Управлять каналами (описание, удаление)
  • Скачать медиа из сообщения
  • Пользователь спрашивает о работе MCP-инструментов Telethon

Архитектура

Claude Code / OpenClaw
        │
        ▼
MCP Server (telethon-mcp/server.py)  ← HTTP-обёртка над REST API
        │
        ▼
REST API (telethon-bridge/server.py) ← Telethon MTProto + sag (ElevenLabs)
        │
        ▼
SOCKS5 (127.0.0.1:1080) ← SSH-туннель ← VPS (45.13.225.151)
        │
        ▼
Telegram DC
  • MCP Server (~/.openclaw/mcp-servers/telethon-mcp/server.py) — тонкая обёртка, HTTP-запросы к REST API
  • REST API (~/.openclaw/workspace/general/telethon-bridge/server.py) — Telethon клиент + sag CLI
  • Сессия: session/savant (SQLite), одна активная сессия
  • Прокси: SOCKS5 напрямую через SSH-туннель (127.0.0.1:1080)
  • TTS: sag CLI → ElevenLabs API → MP3 → FFmpeg (Opus OGG) → Telegram voice note
  • Gateway: gateway.mjs (порт 18793) — форвардит входящие от owner в OpenClaw агент
  • Systemd: telethon-bridge.service (user, порт 18792), telegateway.service (user, порт 18793)

Безопасность: ALLOWED_CHAT_IDS

MCP-сервер поддерживает переменную TG_ALLOWED_CHAT_IDS — список разрешённых chat_id через запятую. Если переменная установлена, write-операции (send, edit, delete, forward, react, click, file, voice, pin, read, audio, circle, channel about/delete, join) разрешены только для указанных чатов.

Установка в mcp.json:

"env": {
    "TELEGATEWAY_URL": "http://127.0.0.1:18792",
    "TG_ALLOWED_CHAT_IDS": "me,1144466778,kngserious55"
}

Read-операции (messages, chats, search, stats, get_chat, get_photo, get_chatlist, download_media) не ограничены.

Инструменты (Claude Code MCP)

В Claude Code все инструменты доступны как mcp__telethon-bridge__<имя>.

Сообщения

ИнструментПараметрыОписание
---------
telegram_sendchat_id, textОтправка текстового сообщения
telegram_editchat_id, msg_id, textРедактирование сообщения
telegram_deletechat_id, msg_ids[]Удаление сообщений
telegram_forwardfrom_chat, to_chat, msg_ids[]Пересылка сообщений
telegram_pinchat_id, msg_id, unpin?Закреп/откреп сообщения

Чтение

ИнструментПараметрыОписание
---------
telegram_messageschat_id, limit?, offset_id?История сообщений с пагинацией
telegram_searchchat_id, query, limit?, from_user?Поиск сообщений
telegram_readchat_id, max_id?Отметить как прочитанное

Чаты и пользователи

ИнструментПараметрыОписание
---------
telegram_chatslimit? (default 30)Список диалогов
telegram_get_chatchat_idИнфо о чате/канале/пользователе
telegram_meИнфо о текущем пользователе
telegram_get_photochat_id? (default "me")Скачать фото профиля
telegram_join_chathashВступить по invite-hash
telegram_get_chatlistslugКаналы из t.me/addlist

Медиа

ИнструментПараметрыОписание
---------
telegram_filechat_id, file_path, caption?Отправка файла (документ)
telegram_voicechat_id, text, voice? (default "Roger")Voice note через ElevenLabs
telegram_send_audiochat_id, file_path, title?, performer?Аудиофайл с тегами
telegram_send_circlechat_id, file_pathКруглое видео (video note)
telegram_download_mediachat_id, msg_idСкачать медиа в /tmp/bridge_dl/

Интеракции

ИнструментПараметрыОписание
---------
telegram_reactchat_id, msg_id, reactionРеакция (эмодзи или document_id)
telegram_clickchat_id, msg_id, row?, col?Клик по inline-кнопке

Управление каналами

ИнструментПараметрыОписание
---------
telegram_set_channel_aboutchat_id, textУстановить описание канала
telegram_delete_channelchat_idУдалить канал (только owner)

Аналитика

ИнструментПараметрыОписание
---------
telegram_statschat_id? (default "me"), days? (default 7)Статистика чата

Важно: chat_id принимает username (kngserious55), ID (1184174498), или "me" для сохранёнок.

TTS / Voice Notes (ElevenLabs)

Как это работает

telegram_voice вызывает sag CLI, который обращается к ElevenLabs API:

sag speak -v <voice> --model-id eleven_multilingual_v2 --format mp3_44100_192 -o <wav> <text>
ffmpeg -i <wav> -c:a libopus -b:a 192k -ar 48000 -ac 1 <ogg>
Telethon send_file(voice_note=True)

Параметры качества (настроены в server.py)

ПараметрЗначение
------
Модельeleven_multilingual_v2
Форматmp3_44100_192 (192 kbps)
OGG кодекOpus 192k, 48000 Hz, mono

Доступные голоса (24 шт., ElevenLabs-аккаунт @savantbeats)

Голос передаётся напрямую в sag (без маппинга). Имя должно существовать в ElevenLabs-аккаунте.

Женские: Sarah, Laura, Alice, Matilda, Jessica, Bella, Lily

Мужские: Adam, Roger, Charlie, George, Callum, River, Harry, Liam, Will, Eric, Chris, Brian, Daniel, Bill

Выбор голоса под задачу

ЗадачаРекомендация
------
Разговорный, casualRoger, Adam
Деловой, профессиональныйBella, Matilda
Яркий, эмоциональныйJessica, Laura
Спокойный, тёплыйSarah, Lily

Устранение проблем

ОшибкаПричинаРешение
---------
500: Internal Server ErrorГолос не существует в аккаунте ElevenLabsИспользовать голос из таблицы выше
500: Voice error: ffmpeg ...Неподдерживаемый sample rateOpus поддерживает: 8000/12000/16000/24000/48000
sag: missing API keyELEVENLABS_API_KEY не установленПроверить .env бриджа
database is lockedДва клиента Telethon одновременноБридж держит одну сессию — не подключаться параллельно
FloodWaitБридж автоматически ретраит до 3 раз (capped 60s)Ждать или уменьшить частоту

Быстрые рецепты

Отправить сообщение

mcp__telethon-bridge__telegram_send(chat_id="username", text="Привет!")

Отправить голосовое

mcp__telethon-bridge__telegram_voice(chat_id="me", text="Привет, мир!", voice="Jessica")

Получить последние сообщения

mcp__telethon-bridge__telegram_messages(chat_id="username", limit=10)

Найти чат по имени

mcp__telethon-bridge__telegram_chats(limit=30)
// → ищем в выдаче нужный username/ID

Отправить файл

mcp__telethon-bridge__telegram_file(chat_id="username", file_path="/path/to/file.pdf")

Поставить реакцию

mcp__telethon-bridge__telegram_react(chat_id="username", msg_id=12345, reaction="🔥")

Claude Code vs OpenClaw

Claude CodeOpenClaw
---------
Вызов инструментовmcp__telethon-bridge__()mcp.call_tool("telethon-bridge", "", {})
TTSЧерез telegram_voicesag speak напрямую или telegram_voice
Доступ к файламПрямой (локальная ФС)Через OpenClaw workspace
Перезапуск бриджаsystemctl --user restart telethon-bridge.serviceТоже самое
Логи бриджаjournalctl --user -u telethon-bridge.serviceТоже самое

Обслуживание бриджа

# Статус
systemctl --user status telethon-bridge.service

# Перезапуск (после правок server.py)
systemctl --user restart telethon-bridge.service

# Логи
journalctl --user -u telethon-bridge.service -f

# Ручной запуск (отладка)
cd ~/.openclaw/workspace/general/telethon-bridge
python3 server.py

# Убить зависший процесс
fuser -k 18792/tcp

# Проверить здоровье
curl -s http://127.0.0.1:18792/health

Безопасность и ограничения

ПравилоОписание
------
Никакого спамаНе отправлять рекламные сообщения без явного запроса
Чувствительные данныеНе логировать содержимое сообщений
Rate limitingНе более ~30 сообщений в минуту
Приватные чатыНе читать ЛС без явного разрешения владельца аккаунта
FLOOD_WAITБридж ретраит автоматически (до 3 попыток, capped 60s)
ALLOWED_CHAT_IDSОграничивает write-операции заданным списком чатов

Референсы

  • Telethon Bridge REST API: ~/.openclaw/workspace/general/telethon-bridge/server.py
  • MCP Server: ~/.openclaw/mcp-servers/telethon-mcp/server.py
  • Gateway Bridge: ~/.openclaw/workspace/general/telethon-bridge/gateway.mjs
  • .env бриджа: ~/.openclaw/workspace/general/telethon-bridge/.env
  • Systemd unit: ~/.config/systemd/user/telethon-bridge.service
  • ElevenLabs голоса: ELEVENLABS_API_KEY в .envhttps://api.elevenlabs.io/v1/voices
  • sag CLI: /home/linuxbrew/.linuxbrew/bin/sag speak --help
  • Формат voice note: OGG Opus, 48000 Hz, mono, 192k

版本历史

共 3 个版本

  • v1.2.0 当前
    2026-06-09 18:33 安全 安全
  • v1.1.1
    2026-06-01 21:19
  • v1.0.0
    2026-05-26 18:12 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Studio Booking Manager

producedbysavant
通过 Telegram 自动处理录音室预约,管理时段、付款、交叉销售、通知和客户历史记录。
★ 0 📥 238

ElevenLabs Voice Pipeline

producedbysavant
通过 ElevenLabs API将文本和 SSML 合成语音,支持选声、克隆、多人语音模式、批量生成及 Telegram 集成。
★ 0 📥 237

SimInTech Coder

producedbysavant
SimInTech专家:协助编写代码、设计原理图、调试模型,并为内置语言块编写文档。
★ 0 📥 235