Agent skill

Telegram Telethon

by glebis in glebis/claude-skills

This skill should be used for comprehensive Telegram automation via Telethon API.

MITAuto-check passedProductivity & Automation

Install Telegram Telethon

skills CLI
$ npx skills add glebis/claude-skills --skill telegram-telethon -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install glebis/claude-skills telegram-telethon --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/telegram-telethon .claude/skills/telegram-telethon && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
telegram-telethon
GitHub stars
390
Token cost
~4.7k tokens
SKILL.md length
1,360 words
Files
44 (incl. scripts)
Skills in repo
92
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used for comprehensive Telegram automation via Telethon API.

  • Works in 3 steps: Explicit draft → draft: "драфт", "draft"… → Explicit send → send: "отправь",… → Ambiguous → clarify: If neither "draft"…
  • Sending/receiving messages
  • SKILL.md covers Codex Behavior Guidelines, Package Layout, Relationship to telegram Skill and Prerequisites, plus 5 more sections
  • Runs Python scripts from its folder; calls python3, pip and pytest; needs GROQ_API_KEY

What it does

Telegram Telethon is an agent skill from glebis/claude-skills. This skill should be used for comprehensive Telegram automation via Telethon API. Use for sending/receiving messages, monitoring chats, running a background daemon that triggers Codex sessions, managing channels/groups, and downloading media. Triggers on "telegram daemon", "monitor telegram", "telegram bot", "spawn Codex from telegram", or any Telethon-related request. IMPORTANT - use the draft command for "драфт/draft", use send for "отправь/send"; if ambiguous, ASK before sending.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 49 other files, including scripts (for example `.claude-plugin/plugin.json`, `scripts/tg.py` and `scripts/tgd.py`).

It sits in Productivity & Automation, covering Chatbots and conversational support. It works with Telegram. The repository describes itself as: Collection of Claude Code skills for enhanced AI workflows. The licence is MIT.

When your agent uses it

  • Sending/receiving messages
  • Monitoring chats
  • Running a background daemon that triggers Codex sessions
  • Managing channels/groups

Example prompts

  • “telegram daemon”
  • “monitor telegram”
  • “telegram bot”
  • “/telegram-telethon”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Explicit draft → draft: "драфт", "draft" → use draft command immediately
  2. Explicit send → send: "отправь", "пошли", "send" → use send command immediately
  3. Ambiguous → clarify: If neither "draft" nor "send" verb present, ask: "Создать драфт или сразу отправить?"

What it can do on your machine

Read from SKILL.md and the folder at commit 3b88261. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • pip
    • pytest
    • codex

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GROQ_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telegram Telethon loads about 4.7k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 1,360 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from glebis/claude-skills at commit 3b88261, republished under its MIT licence (© glebis). 1,360 words, ~4,727 tokens.

Download SKILL.mdSave it as .claude/skills/telegram-telethon/SKILL.md (or your agent's skills folder). This skill also uses 43 other files; get the full folder from GitHub.
name
telegram-telethon
description
This skill should be used for comprehensive Telegram automation via Telethon API. Use for sending/receiving messages, monitoring chats, running a background daemon that triggers Codex sessions, managing channels/groups, and downloading media. Triggers on "telegram daemon", "monitor telegram", "telegram bot", "spawn Codex from telegram", or any Telethon-related request. IMPORTANT - use the draft command for "драфт/draft", use send for "отправь/send"; if ambiguous, ASK before sending.

Codex Behavior Guidelines

Draft vs Send: Follow User's Intent
User saysCodex doesClarify?
"драфт", "draft", "сделай драфт"draftNo
"отправь", "пошли", "send"sendNo
"напиши сообщение" (ambiguous)Ask what user wantsYes
Key Rules
  1. Explicit draft → draft: "драфт", "draft" → use draft command immediately
  2. Explicit send → send: "отправь", "пошли", "send" → use send command immediately
  3. Ambiguous → clarify: If neither "draft" nor "send" verb present, ask: "Создать драфт или сразу отправить?"
Examples

User: "сделай драфт для lv: привет" Codex: Uses draft --chat "lv" --text "привет" immediately

User: "отправь сообщение Маше: встретимся в 5?" Codex: Uses send --chat "Маша" --text "встретимся в 5?" immediately

User: "напиши сообщение для Маши: встретимся в 5?" Codex: Asks "Создать драфт или сразу отправить?"

Telegram Telethon Skill

Full Telethon API wrapper with daemon mode and Codex integration. Supports interactive setup, background message monitoring, and automatic Codex session spawning per chat.

Package Layout

telegram-telethon/
├── SKILL.md                          # This file
├── pyproject.toml                    # Installable Python package
├── scripts/
│   ├── tg.py                         # Main CLI (messages, media, drafts, etc.)
│   └── tgd.py                        # Daemon controller
├── src/telegram_telethon/            # Importable package
│   ├── core/                         # auth, config
│   ├── modules/                      # messages, media
│   ├── daemon/                       # runner, handlers, claude_bridge
│   └── utils/                        # formatting
└── tests/                            # pytest unit + integration tests

Scripts import from src/telegram_telethon. Install the package in editable mode so tg.py/tgd.py can resolve imports:

bash
cd telegram-telethon
pip install -e .
# or with dev tools (pytest, coverage):
pip install -e ".[dev]"

Relationship to telegram Skill

The separate telegram skill (single-script telegram_fetch.py backed by telegram_dl) overlaps on list/recent/search/send/edit/download/thread but differs:

With the publish/markdown/schedule ports now complete, telegram-telethon is a superset of telegram on everything except the external telegram_dl auth dependency. Use this skill for:

  • publish — draft→channel workflow (frontmatter, media albums, post-publish move + index update, post-flight lint)
  • --markdown on send / publish — markdown→Telegram HTML conversion
  • --schedule on send / publish — ISO / relative / natural-language scheduled delivery
  • Daemon mode + Codex spawning, voice transcription (Telegram/Groq/Whisper), delete / forward / mark-read, local draft / drafts / draft-send, lint-channel, non-interactive auth setup.

Prerequisites

Interactive Setup (Terminal)

Run setup wizard on first use:

bash
python3 scripts/tg.py setup

This guides through:

  1. Getting API credentials from https://my.telegram.org/auth
  2. Phone number verification
  3. 2FA (if enabled)
  4. Optional daemon trigger configuration
Non-Interactive Setup (Codex)

For use from Codex or scripts without TTY:

bash
# Step 1: Provide credentials and trigger code send
python3 scripts/tg.py setup --api-id 12345678 --api-hash abc123... --phone +1234567890

# Step 2: User receives code on phone, then complete auth
python3 scripts/tg.py setup --api-id 12345678 --api-hash abc123... --phone +1234567890 --code 12345

# If 2FA enabled, add password
python3 scripts/tg.py setup --api-id 12345678 --api-hash abc123... --phone +1234567890 --code 12345 --password mypassword

The script auto-detects TTY and switches between interactive/non-interactive modes.

Quick Start

bash
# Check connection status
python3 scripts/tg.py status

# List chats
python3 scripts/tg.py list

# Get recent messages from a chat
python3 scripts/tg.py recent "John Doe" --limit 20

# Search messages
python3 scripts/tg.py search "meeting notes"

# Configure daemon triggers interactively
python3 scripts/tg.py daemon-config

# Start daemon (foreground with logs)
python3 scripts/tgd.py start --foreground

# Start daemon (background)
python3 scripts/tgd.py start

# View daemon logs
python3 scripts/tgd.py logs

CLI Commands

Message Operations
bash
# List all chats
python3 scripts/tg.py list [--limit 30] [--search "term"]

# Fetch recent messages
python3 scripts/tg.py recent [CHAT] [--limit 50] [--days 7] [--format markdown|json] [--output file.md]

# Search messages by content
python3 scripts/tg.py search QUERY [--chat "Chat Name"] [--limit 50] [--format markdown|json]

# Fetch unread messages
python3 scripts/tg.py unread [--chat "Chat Name"] [--format markdown|json]

# Fetch forum thread
python3 scripts/tg.py thread CHAT_ID THREAD_ID [--limit 100]

# Send message
python3 scripts/tg.py send --chat "Chat Name" --text "Message text" [--reply-to MSG_ID] [--file path] [--topic TOPIC_ID] [--markdown] [--html] [--schedule "+1h" | "tomorrow 10:00" | "2026-04-10T09:30"]

# Edit message
python3 scripts/tg.py edit --chat "Chat Name" --message-id MESSAGE_ID --text "New text"

# Delete messages
python3 scripts/tg.py delete --chat "Chat Name" --message-ids 123 456 789 [--no-revoke]

# Forward messages
python3 scripts/tg.py forward --from "Source" --to "Dest" --message-ids 123 456

# Mark messages as read
python3 scripts/tg.py mark-read --chat "Chat Name" [--max-id MSG_ID]
Draft Operations
bash
# Save/update a draft message
python3 scripts/tg.py draft --chat "Chat Name" --text "Draft text" [--reply-to MSG_ID] [--no-preview]

# Clear a draft (save empty text)
python3 scripts/tg.py draft --chat "Chat Name" --text ""

# Clear all drafts
python3 scripts/tg.py draft --clear-all

# List all drafts
python3 scripts/tg.py drafts [--limit 50]

# Send a draft as a message (clears the draft)
python3 scripts/tg.py draft-send --chat "Chat Name"

Note: Use "me" as the chat name to target Saved Messages (your own chat). The literal name "Saved Messages" doesn't work as it's localized differently per user.

Media Operations
bash
# Download media from chat
python3 scripts/tg.py download "Chat Name" [--limit 5] [--output-dir ~/Downloads] [--message-id ID] [--type voice|video|photo]

# Transcribe a single voice message (MESSAGE_ID required)
python3 scripts/tg.py transcribe "Chat Name" MESSAGE_ID [--method telegram|groq|whisper]

# Batch-transcribe recent voice messages (omit MESSAGE_ID, use --batch)
python3 scripts/tg.py transcribe "Chat Name" --batch [--limit 10] [--method telegram|groq|whisper]
Publish a Draft to a Channel

End-to-end publish workflow: parse a draft markdown file, resolve the destination channel from folder structure or frontmatter channel:, upload media (single file or album), post-process to move the draft to published/ and insert an entry in the channel index.

bash
# Dry-run preview
python3 scripts/tg.py publish --draft "Channels/klodkot/drafts/20260416-post.md" --dry-run

# Publish now
python3 scripts/tg.py publish --draft "20260416-post"  # slug works too

# Publish scheduled for later
python3 scripts/tg.py publish --draft "..." --schedule "tomorrow 10:00"

The result JSON includes published, channel, message_id, media_count, moved_to, and — crucially — lint_warnings when the final body contains leaked markdown/HTML that Telegram wouldn't render. Post-publish bookkeeping failures (e.g. index write error) surface as warnings but don't roll back the send.

Markdown Formatting on Send

Pass --markdown to convert a markdown-flavored message into Telegram HTML before sending:

bash
python3 scripts/tg.py send --chat "@mychannel" --markdown \
  --text $'## Release\n\n**v2** ships _today_. See [docs](https://example.com).\n\n* fast\n* stable'

Rules (applied in order): ## Header → bold line; * item / - item at line start → → item; **bold** → <b>; _italic_ → <i>; [text](url) → <a href>. Pre-existing HTML passes through unchanged, so the flag is safe to add to content that was already authored as HTML.

Pair with lint-channel below to catch cases where --markdown was forgotten.

Sending Pre-written HTML

Pass --html to send text that already contains Telegram-compatible HTML tags (<b>, <i>, <a href>, <code>, <pre>, <u>, <s>, <tg-spoiler>, <blockquote>):

bash
python3 scripts/tg.py send --chat "@mychannel" --html \
  --text '<b>Release v2</b> ships today. See <a href="https://example.com">docs</a>.'

Unlike --markdown (which converts markdown syntax to HTML), --html sends the text as-is with parse_mode='html'. Use --html when you have already authored HTML content or when programmatically building messages with tags.

Scheduled Delivery

Pass --schedule with one of three formats (naive times default to Europe/Berlin):

bash
# Relative: send in one hour
python3 scripts/tg.py send --chat "@mychannel" --text "..." --schedule "+1h"

# Natural: send tomorrow morning
python3 scripts/tg.py send --chat "@mychannel" --text "..." --schedule "tomorrow 09:30"

# Absolute: send at a specific time
python3 scripts/tg.py send --chat "@mychannel" --text "..." --schedule "2026-04-20T15:00"

The response includes "scheduled_for": "<iso datetime>" when the message is queued for later. Telegram displays scheduled messages in the chat's scheduled-messages view.

Lint Published Messages

Scan a channel (or a single message) for unrendered markdown/HTML that leaked into the raw message text — i.e. the sender forgot --markdown or the HTML conversion failed, so readers see literal **bold**, <b>…</b>, [text](url), or ## Header in the post.

bash
# Scan last 50 messages in @mychannel
python3 scripts/tg.py lint-channel --chat "@mychannel"

# Scan last 200 messages
python3 scripts/tg.py lint-channel --chat "@mychannel" --limit 200

# Lint a single message by ID
python3 scripts/tg.py lint-channel --chat "@mychannel" --message-id 1234

# Machine-readable output for pipelines / CI
python3 scripts/tg.py lint-channel --chat "@mychannel" --json

The detector lives in modules/lint.py as a pure function (detect_unrendered_markup(text, entities)), so it can also be called directly on drafts or wired into a post-flight check after publishing. Content inside MessageEntityCode/MessageEntityPre spans is ignored (inline code / code blocks are expected to contain raw characters).

Obsidian Integration

--to-daily and --to-person are flags on the read commands (recent, search, unread), not standalone subcommands:

bash
# Append recent messages to today's daily note (Daily/YYYYMMDD.md in the active vault)
python3 scripts/tg.py recent "Chat Name" --to-daily

# Append search results to today's daily note
python3 scripts/tg.py search "query" --to-daily

# Append recent messages to a person's note
python3 scripts/tg.py recent "Chat Name" --to-person "Person Name"

The target vault path is resolved by the formatting helpers in utils/formatting.py; there are currently no --vault or --section overrides on the CLI.

Voice Transcription

The skill supports three transcription methods with automatic fallback:

  1. Telegram API (default) - Uses Telegram Premium's server-side transcription
  2. Groq - Uses Groq's Whisper API (requires GROQ_API_KEY environment variable)
  3. Whisper - Uses local OpenAI Whisper model (requires pip install openai-whisper)
bash
# Use Telegram's transcription (Premium feature)
python3 scripts/tg.py transcribe "Chat" 123

# Force Groq transcription
python3 scripts/tg.py transcribe "Chat" 123 --method groq

# Force local Whisper
python3 scripts/tg.py transcribe "Chat" 123 --method whisper

Daemon Mode

The daemon monitors Telegram for messages matching configured triggers and can:

  • Reply with static text
  • Spawn Codex sessions to handle requests
  • Resume existing Codex sessions per-chat
  • Queue requests to prevent rate limiting
Trigger Configuration

Triggers are stored in ~/.config/telegram-telethon/daemon.yaml:

yaml
triggers:
  # Respond to /Codex command in DMs
  - chat: "@myusername"
    pattern: "^/Codex (.+)$"
    action: Codex
    reply_mode: inline

  # Respond to @Bot mentions in a group
  - chat: "AI Assistants"
    pattern: "@Bot (.+)$"
    action: Codex
    reply_mode: new

  # Simple ping-pong in any chat
  - chat: "*"
    pattern: "^/ping$"
    action: reply
    reply_text: "pong"

Codex:
  allowed_tools:
    - Read
    - Edit
    - Bash
    - WebFetch
  max_turns: 10
  timeout: 300

queue:
  max_concurrent: 1
  timeout: 600
Trigger Fields
FieldDescription
chatChat name, @username, or * for all chats
patternRegex pattern (capture group 1 becomes Codex prompt)
actionCodex, reply, or ignore
reply_modeinline (reply to message) or new (separate message)
reply_textStatic text for reply action
Show full SKILL.md (530 more words)Show less
Codex Integration

When action is Codex:

  1. Text captured by regex group 1 is sent to Codex via Codex -p "..." --output-format json
  2. Codex sessions persist per-chat in sessions.json
  3. Subsequent messages from same chat resume session via --resume <session_id>
  4. Responses are sent back to Telegram as reply or new message

Session Persistence

Codex sessions are saved to ~/.config/telegram-telethon/sessions.json:

  • Each chat_id maps to a Codex session_id
  • Sessions survive daemon restarts
  • Track message count and last used timestamp

To reset: delete chat entry from sessions.json or configure a /reset trigger.

Example Configurations

Personal AI Assistant

Respond to all DMs to yourself:

yaml
triggers:
  - chat: "@yourusername"
    pattern: "(.+)"
    action: Codex
    reply_mode: inline
Group Bot with Mention Trigger

Only respond when @mentioned:

yaml
triggers:
  - chat: "Dev Team"
    pattern: "@AssistantBot (.+)"
    action: Codex
    reply_mode: inline
Multi-Action Setup
yaml
triggers:
  - chat: "*"
    pattern: "^/ask (.+)"
    action: Codex
    reply_mode: inline

  - chat: "*"
    pattern: "^/ping$"
    action: reply
    reply_text: "pong"

  - chat: "Noisy Group"
    pattern: ".*"
    action: ignore

File Structure

~/.config/telegram-telethon/
├── config.yaml        # API credentials (api_id, api_hash, phone)
├── daemon.yaml        # Daemon triggers and Codex config
├── session.session    # Telethon session file
├── sessions.json      # Codex session persistence
└── daemon.log         # Daemon log file

Development

bash
# Install with dev dependencies
cd telegram-telethon
pip install -e ".[dev]"

# Run all tests
pytest

# Run with coverage
pytest --cov=telegram_telethon

# Run specific test file
pytest tests/unit/test_claude_bridge.py -v

Example User Requests

Mapping natural-language asks to commands:

User saysCommand
"Is Telegram connected?"status
"What chats do I have?"list
"Find chat named X exactly"list --search "X" (increase --limit if not found)
"Show recent messages from John"recent "John" --limit 20
"Messages from the last week in Group Y"recent "Group Y" --days 7
"Search Telegram for 'deadline'"search "deadline"
"Unread messages from Group Z"unread --chat "Group Z"
"Mark Group Z as read"mark-read --chat "Group Z"
"Get thread 174 in Lab"thread <chat_id> 174 --limit 100
"Send 'hi' to John" / "отправь John: hi"send --chat "John" --text "hi"
"Post a markdown-formatted note to @channel"send --chat "@channel" --markdown --text "..."
"Schedule this for tomorrow at 10am"send --chat "..." --text "..." --schedule "tomorrow 10:00"
"Send this in an hour"send --chat "..." --text "..." --schedule "+1h"
"Reply thanks to message 12345"send --chat "..." --text "thanks" --reply-to 12345
"Send image.jpg to John"send --chat "John" --file image.jpg
"Save a draft for John: hi" / "сделай драфт"draft --chat "John" --text "hi"
"List my drafts"drafts
"Send the draft for John"draft-send --chat "John"
"Delete messages 123, 456 from John"delete --chat "John" --message-ids 123 456
"Forward msg 789 from John to Maria"forward --from "John" --to "Maria" --message-ids 789
"Edit message 76 in @channel"edit --chat "@channel" --message-id 76 --text "..."
"Download last 5 voice notes from John"download "John" --type voice --limit 5
"Transcribe voice message 512 from John"transcribe "John" 512
"Batch-transcribe recent voices from John"transcribe "John" --batch --limit 10
"Add John's messages to daily note"recent "John" --to-daily
"Add messages to a person's note"recent "Chat" --to-person "Person Name"
"Publish this draft to the klodkot channel"publish --draft "20260416-post"
"Preview a draft before publishing"publish --draft "..." --dry-run
"Publish this at 10am tomorrow"publish --draft "..." --schedule "tomorrow 10:00"
"Check if @mychannel has unrendered markup"lint-channel --chat "@mychannel"
"Lint message 1234 in @mychannel"lint-channel --chat "@mychannel" --message-id 1234
"Start the Telegram daemon"python3 scripts/tgd.py start (or --foreground)
"Show daemon logs"python3 scripts/tgd.py logs
"Configure daemon triggers"daemon-config

Saved Messages: Use "me" (not "Saved Messages") — the label is localized per user.

Troubleshooting

IssueSolution
"Config not found"Run python3 scripts/tg.py setup
"Session expired"Delete session.session and re-run setup
ModuleNotFoundError: telegram_telethonRun pip install -e . from the skill directory
"Codex timeout"Increase timeout in daemon.yaml
"Queue full"Reduce request rate or wait
"No trigger matched"Check pattern regex and chat name match
Chat not found by nameIncrease --limit on list (default 30); may not be in recent dialogs

© glebis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 43 other files (scripts) in telegram-telethon of glebis/claude-skills.

  • SKILL.md
  • .claude-plugin/plugin.json
  • .gitignore
  • pyproject.toml
  • scripts/tg.py
  • scripts/tgd.py
  • src/telegram_telethon/__init__.py
  • src/telegram_telethon/core/__init__.py
  • src/telegram_telethon/core/auth.py
  • src/telegram_telethon/core/config.py
  • src/telegram_telethon/daemon/__init__.py
  • src/telegram_telethon/daemon/claude_bridge.py
  • src/telegram_telethon/daemon/handlers.py
  • src/telegram_telethon/daemon/runner.py
  • src/telegram_telethon/modules
  • … and 29 more

Open the folder on GitHubat commit 3b88261

Compare with similar skills

Telegram Telethon next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Telegram Telethon compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telegram Telethon this skillglebis/claude-skills390—~4.7kAutomated safety check: PassMIT
Telegrambubbuild/bub1.7k—~2.2kAutomated safety check: PassApache-2.0
Pytdbotpytdbot/client137—~4.3kAutomated safety check: PassMIT
Setupterranc/claude-telegram-bot-bridge134—~1.5kAutomated safety check: NotesNone
MuseKevPH2026/muse-catch128—~1.6kAutomated safety check: NotesAGPL-3.0
Actionizeinfranodus/skills119—~3.8kAutomated safety check: NotesNone

Similar skills

  • Telegram

    bubbuild/bub

    Telegram Bot skill for sending and editing Telegram messages via Bot API.

    1.7k GitHub stars~2.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Pytdbot

    pytdbot/client

    Write Telegram bots and userbots with Pytdbot (async TDLib wrapper with high-level helpers; not the Telegram Bot API).

    137 GitHub stars~4.3k tokensUpdated 11 days ago
    Productivity & AutomationAuto-check passed
  • Setup

    terranc/claude-telegram-bot-bridge

    Install and configure the Telegram Skill Bot. An agent skill from terranc/claude-telegram-bot-bridge.

    134 GitHub stars~1.5k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check: notes
  • Muse

    KevPH2026/muse-catch

    Muse · Catch — AI 灵感捕手。浏览器插件 + 任意 Agent(Telegram/WhatsApp/Discord…)一键捕获灵感,AI自动提炼,Web Dashboard浏览。分级LLM路由:Agent内置LLM隐私分析 + TokenRouter云端分布式调用。当用户说「灵感」「捕获」「Muse」「Catch」「记下来」「收藏」「稍后读」时自动触发。

    128 GitHub stars~1.6k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes
  • Actionize

    infranodus/skills

    Turn insights, findings, or research into an actionable plan with deadlines and scheduled Telegram reminders.

    119 GitHub stars~3.8k tokensUpdated 19 days ago
    Productivity & AutomationAuto-check: notes
  • Muse

    KevPH2026/muse-catch

    Muse · Catch — AI灵感捕手。浏览器插件+Telegram Bot一键捕获,AI自动提炼,Dashboard浏览+DNA雷达+OPC Market。当用户说「灵感」「捕获」「Muse」「Catch」「记下来」「收藏」时触发。

    128 GitHub stars~865 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from glebis/claude-skills

All 92 skills in this repo
  • Runs a human-first workflow for labeling PII spans in a transcript, then scores inter-annotator agreement and drafts an adjudicated gold set.

    390 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Automates a dedicated, logged-in Chrome instance per profile without ever closing the user's own open tabs or browser windows.

    390 GitHub stars~973 tokensUpdated yesterday
    Auto-check passed
  • Deep Research

    glebis/claude-skills

    This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API.

    390 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Elimination Research

    glebis/claude-skills

    This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric…

    390 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Narrated HTML Presentations

    glebis/claude-skills

    Generates a self-contained HTML presentation with article and slides modes, ElevenLabs voiceover narration and optional GPT Image 2 illustrations.

    390 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check: notes
  • Writes fictional but realistic coaching or therapy session transcripts for evals, demos and few-shot examples, in several modalities and export formats.

    390 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Telegram Telethon

What does Telegram Telethon do?

This skill should be used for comprehensive Telegram automation via Telethon API. Telegram Telethon is an agent skill from glebis/claude-skills. This skill should be used for comprehensive Telegram automation via Telethon API.

When should I use Telegram Telethon?

Telegram Telethon fits situations like: sending/receiving messages; monitoring chats; running a background daemon that triggers Codex sessions; managing channels/groups.

How do I install Telegram Telethon in Claude Code?

Run `npx skills add glebis/claude-skills --skill telegram-telethon -a claude-code`. Or copy the skill folder (telegram-telethon in glebis/claude-skills) into .claude/skills/telegram-telethon in your project. Claude Code loads it when a task matches its description.

How do I install Telegram Telethon in Codex?

Run `npx skills add glebis/claude-skills --skill telegram-telethon -a codex`. Or copy the skill folder (telegram-telethon in glebis/claude-skills) into .agents/skills/telegram-telethon in your project. Codex loads it when a task matches its description.

Can I use Telegram Telethon in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add glebis/claude-skills --skill telegram-telethon -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telegram-telethon, .gemini/skills/telegram-telethon, .github/skills/telegram-telethon and .opencode/skills/telegram-telethon in your project.

What does Telegram Telethon need to run?

Going by SKILL.md and its folder, Telegram Telethon needs Python for the scripts in its folder, the command-line tools its instructions call (python3, pip, pytest and codex) and credentials named GROQ_API_KEY. Our summary lists: Python 3.

Does Telegram Telethon access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Telegram Telethon safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Telegram Telethon use?

Telegram Telethon is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telegram Telethon use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Telegram Telethon?

Skills that share tags, products or a category with Telegram Telethon: Telegram (bubbuild/bub, 1.7k stars), Pytdbot (pytdbot/client, 137 stars), Setup (terranc/claude-telegram-bot-bridge, 134 stars) and Muse (KevPH2026/muse-catch, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telegram Telethon?

glebis (a GitHub user) maintains it in glebis/claude-skills, which has 390 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 8, 2026.

Source: glebis/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.