🎯

telegram

🎯Skill

from pytaichukbohdan/danacockfightbot

VibeIndex|
What it does

Retrieves, searches, and manages Telegram messages across chats with flexible filtering and output options.

telegram

Installation

Install skill:
npx skills add https://github.com/pytaichukbohdan/danacockfightbot --skill telegram
0
Last UpdatedDec 25, 2025

Skill Details

SKILL.md

This skill should be used when fetching, searching, downloading, or sending messages on Telegram. Use for queries like "show my Telegram messages", "search Telegram for...", "get unread messages", "send a message to...", or "add Telegram messages to my notes".

Overview

# Telegram Message Skill

Fetch, search, download, and send Telegram messages with flexible filtering and output options.

Prerequisites

Authentication must be configured in ~/.telegram_dl/. Run setup command to check status or get instructions:

```bash

python3 scripts/telegram_fetch.py setup

```

If not configured, follow these steps:

  1. Get API credentials from https://my.telegram.org/auth
  2. Clone telegram_dl: https://github.com/glebis/telegram_dl
  3. Run python telegram_dl.py and follow interactive prompts
  4. Verify with python3 scripts/telegram_fetch.py setup

Quick Start

Run the script at scripts/telegram_fetch.py with appropriate commands:

```bash

# List available chats

python3 scripts/telegram_fetch.py list

# Get recent messages

python3 scripts/telegram_fetch.py recent --limit 20

# Search messages

python3 scripts/telegram_fetch.py search "meeting"

# Get unread messages

python3 scripts/telegram_fetch.py unread

```

Commands

List Chats

To see available Telegram chats:

```bash

python3 scripts/telegram_fetch.py list

python3 scripts/telegram_fetch.py list --limit 50

python3 scripts/telegram_fetch.py list --search "AI"

```

Returns JSON with chat IDs, names, types, and unread counts.

Fetch Recent Messages

To get recent messages:

```bash

# From all chats (last 50 messages across top 10 chats)

python3 scripts/telegram_fetch.py recent

# From specific chat

python3 scripts/telegram_fetch.py recent --chat "Tool Building Ape"

python3 scripts/telegram_fetch.py recent --chat-id 123456789

# With limits

python3 scripts/telegram_fetch.py recent --limit 100

python3 scripts/telegram_fetch.py recent --days 7

```

Search Messages

To search message content:

```bash

# Global search across all chats

python3 scripts/telegram_fetch.py search "project deadline"

# Search in specific chat

python3 scripts/telegram_fetch.py search "meeting" --chat-id 123456789

# Limit results

python3 scripts/telegram_fetch.py search "important" --limit 20

```

Fetch Unread Messages

To get only unread messages:

```bash

python3 scripts/telegram_fetch.py unread

python3 scripts/telegram_fetch.py unread --chat-id 123456789

```

Send Messages

To send a message to a chat:

```bash

# Send to existing chat by name

python3 scripts/telegram_fetch.py send --chat "John Doe" --text "Hello!"

# Send to username (works even without prior conversation)

python3 scripts/telegram_fetch.py send --chat "@username" --text "Hello!"

# Reply to a specific message (use message ID from recent/search output)

python3 scripts/telegram_fetch.py send --chat "Tool Building Ape" --text "Thanks!" --reply-to 12345

# Send to a forum topic (for groups with topics enabled)

python3 scripts/telegram_fetch.py send --chat "Group Name" --text "Hello topic!" --topic 12

```

Send Files

To send images, documents, or videos:

```bash

# Send an image

python3 scripts/telegram_fetch.py send --chat "John Doe" --file "/path/to/image.jpg"

# Send document with caption

python3 scripts/telegram_fetch.py send --chat "@username" --file "report.pdf" --text "Here's the report"

# Reply with media

python3 scripts/telegram_fetch.py send --chat "Group" --file "screenshot.png" --reply-to 12345

```

Chat resolution order:

  1. @username - Resolves Telegram username directly
  2. Numeric ID - Resolves chat by Telegram ID
  3. Name match - Fuzzy search in existing dialogs

Returns JSON with send status, resolved chat name, message ID, and file info (for media).

Download Attachments

To download media files from a chat:

```bash

# Download last 5 attachments from a chat (default)

python3 scripts/telegram_fetch.py download --chat "Tool Building Ape"

# Download last 10 attachments

python3 scripts/telegram_fetch.py download --chat "Project Group" --limit 10

# Download to custom directory

python3 scripts/telegram_fetch.py download --chat "@username" --output "/path/to/folder"

# Download from specific message

python3 scripts/telegram_fetch.py download --chat "John Doe" --message-id 12345

```

Default output: ~/Downloads/telegram_attachments/

Returns JSON with download results (file names, paths, sizes).

Output Options

Default (Markdown to stdout)

By default, outputs formatted markdown suitable for Claude to read and summarize.

JSON Format

Add --json flag for structured data:

```bash

python3 scripts/telegram_fetch.py recent --json

```

Append to Obsidian Daily Note

Add messages to today's daily note in the vault:

```bash

python3 scripts/telegram_fetch.py recent --to-daily

python3 scripts/telegram_fetch.py search "project" --to-daily

```

Appends to ~/Brains/brain/Daily/YYYYMMDD.md

Append to Person's Note

Add messages to a specific person's note:

```bash

python3 scripts/telegram_fetch.py recent --chat "John Doe" --to-person "John Doe"

```

Creates or appends to ~/Brains/brain/{PersonName}.md

Save to File (Token-Efficient)

Save messages directly to file without consuming context tokens:

```bash

# Save 100 messages to markdown file

python3 scripts/telegram_fetch.py recent --chat "AGENCY: Community" --limit 100 -o ~/chat_archive.md

# Save with media files downloaded to same folder

python3 scripts/telegram_fetch.py recent --chat "Project Group" --limit 50 -o ~/project/archive.md --with-media

# Save search results to file

python3 scripts/telegram_fetch.py search "meeting" -o ~/meetings.md

```

Returns JSON with save status (file path, message count, media download results) - minimal token usage.

Example User Requests

When user asks:

  • "Show my recent Telegram messages" -> recent --limit 20
  • "What Telegram messages did I get today?" -> recent --days 1
  • "Search Telegram for messages about the project" -> search "project"
  • "Get unread messages from Tool Building Ape" -> unread + filter output
  • "Add my Telegram messages to daily note" -> recent --to-daily
  • "What chats do I have on Telegram?" -> list
  • "Send hello to John on Telegram" -> send --chat "John" --text "Hello!"
  • "Message @username on Telegram" -> send --chat "@username" --text "..."
  • "Reply to that message with thanks" -> send --chat "..." --text "Thanks!" --reply-to
  • "Send this image to John" -> send --chat "John" --file "/path/to/image.jpg"
  • "Send report.pdf with caption" -> send --chat "..." --file "report.pdf" --text "Here's the report"
  • "Send to topic 12 in Group" -> send --chat "Group" --text "..." --topic 12
  • "Download attachments from Tool Building Ape" -> download --chat "Tool Building Ape"
  • "Download last 10 files from Project Group" -> download --chat "Project Group" --limit 10
  • "Save last 100 messages from AGENCY to file" -> recent --chat "AGENCY: Community" --limit 100 -o ~/agency.md
  • "Archive chat with media" -> recent --chat "Group" -o ~/archive.md --with-media
  • "Is Telegram configured?" -> setup
  • "How do I set up Telegram?" -> setup (returns instructions if not configured)

Rate Limiting

The script includes built-in rate limiting (0.1s between messages) and handles Telegram's FloodWaitError automatically with backoff.

Dependencies

Requires telethon Python package. Install with: pip install telethon