npx claudepluginhub solastrius/claude-plugins --plugin telegramWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Add Telegram sticker packs with AI-generated descriptions for each sticker. Use when the user wants to add a sticker pack, list known packs, or remove one.
This skill is limited to using the following tools:
/telegram:stickers — Sticker Pack Management
Downloads sticker packs from Telegram, converts each sticker to a viewable image, and generates a JSON mapping of sticker file_unique_ids to human-readable descriptions. This lets you recognize stickers in future conversations without re-downloading them.
Arguments passed: $ARGUMENTS
State
~/.claude/channels/telegram/sticker-packs.json:
{
"<pack_name>": {
"title": "Human-readable pack title",
"stickers": {
"<file_unique_id>": "<description of what the sticker depicts>"
}
}
}
Missing file = {}.
Dispatch on arguments
No args — list known packs
- Read
~/.claude/channels/telegram/sticker-packs.json(handle missing). - Show each pack name, title, and sticker count.
- If empty, tell the user to run
/telegram:stickers add <pack_name>.
add <pack_name>
This is the main workflow. It downloads every sticker in the pack, converts animated ones to PNG, shows each to you for description, and saves the mapping.
- Read existing
sticker-packs.json(create{}if missing). - Use the Telegram Bot API to get the sticker set. Run:
Read the bot token fromcurl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getStickerSet?name=<pack_name>"~/.claude/channels/telegram/.env. - Parse the response. Extract
titleand thestickersarray. - For each sticker in the set:
a. Download the file via
getFile+ the file URL. b. If the file is.webmor.tgs, convert to PNG using:nix-shell -p ffmpeg --run "ffmpeg -i <input> -frames:v 1 -y <output.png>"c. If the file is.webp, it can be read directly. d. Read the resulting image file with the Read tool. e. Write a short description of what the sticker depicts (character, emotion, action — 5-15 words). Include the emoji if present. f. Record:stickers[file_unique_id] = descriptiong. Clean up the downloaded/converted files. - Save the updated
sticker-packs.json(pretty-printed, 2-space indent). - Report: pack title, number of stickers described.
Important: Process stickers in batches of ~5 to avoid overwhelming context. Read 5 images, describe them, then move on.
remove <pack_name>
- Read
sticker-packs.json. - Delete the key. Write back.
- Confirm.
describe <pack_name>
- Read
sticker-packs.json. - Show all sticker descriptions for the given pack in a table.
Working directory
Use ~/.claude/channels/telegram/inbox/ as a temp directory for downloaded
sticker files. Clean up after processing each batch.
Environment
The bot token is in ~/.claude/channels/telegram/.env as
TELEGRAM_BOT_TOKEN=<value>. Read it with:
grep TELEGRAM_BOT_TOKEN ~/.claude/channels/telegram/.env | cut -d= -f2
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.