tg-stickers

Collect and send Telegram stickers smartly. Auto-import packs, tag by emotion, select contextually, and respect frequency limits (2-5 messages).

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tg-stickers" with this command: npx skills add BangyiZhang/tg-stickers

Telegram Stickers Skill

Intelligently manage and send Telegram stickers with emotional awareness.

Core Value

OpenClaw natively supports sending stickers (message tool), but this skill adds:

  • Collection management - Import entire sticker packs at once
  • Emotion tagging - 100+ emoji → emotion mappings
  • Smart selection - Context-based + randomization (avoid repetition)
  • Frequency control - 2-5 messages between stickers
  • Usage analytics - Track which stickers work best

Quick Start

1. Import Sticker Packs

./import-sticker-pack.sh <pack_short_name_or_id>

2. Auto-Tag by Emotion

./auto-tag-stickers.sh

3. Send Stickers (in agent code)

// ✅ Use OpenClaw's message tool directly
message(action='sticker', target='<chat_id>', stickerId=['<file_id>'])

// No bash script needed - OpenClaw handles sending natively

4. Smart Selection

./random-sticker.sh "goodnight"  # Returns random sticker tagged "goodnight"

Tools

ScriptPurposeUsage
import-sticker-pack.shBulk import Telegram sticker pack./import-sticker-pack.sh pa_XXX...
auto-tag-stickers.shTag stickers by emoji → emotion./auto-tag-stickers.sh
random-sticker.shSelect random sticker by tag./random-sticker.sh "happy"
check-collection.shView collection stats./check-collection.sh

Agent Integration

## Sticker Usage

When to send:
- Goodnight/morning greetings (always use sticker over text)
- Celebrating success/milestones
- Humorous moments
- Emotional responses (joy, sympathy, encouragement)

How to send:
1. Use random-sticker.sh to pick appropriate sticker by emotion
2. Call message(action=sticker, ...) directly
3. (Optional) Update stickers.json manually to track usage

Frequency: 2-5 messages between stickers (track in agent logic)

Emotion Tags

Auto-tagging maps 100+ emoji to emotions:

  • happy 😊😄🥳
  • sad 😢😭😔
  • love ❤️💕😍
  • laugh 😂🤣😆
  • thinking 🤔💭
  • goodnight 🌙💤😴
  • goodmorning ☀️🌅
  • warm, gentle, greeting, ...

File Structure

tg-stickers/
├── SKILL.md                  # This file
├── README.md                 # Quick start guide
├── stickers.json             # Collection + usage data
├── stickers.json.example     # Empty template
├── import-sticker-pack.sh    # Bulk import
├── auto-tag-stickers.sh      # Emoji → emotion
├── random-sticker.sh         # Context-based selection
└── check-collection.sh       # Stats viewer

stickers.json Structure

{
  "collected": [
    {
      "file_id": "CAACAgEAAxUAAWmq...",
      "emoji": "🌙",
      "set_name": "pa_dKjUP9P2dt4k...",
      "added_at": "2026-03-06T23:31:00Z",
      "tags": ["goodnight", "sleep", "night", "warm", "gentle"],
      "used_count": 3,
      "last_used": "2026-03-07T00:24:00Z"
    }
  ],
  "usage_log": [
    {
      "file_id": "...",
      "sent_at": "2026-03-07T00:24:00Z",
      "context": "User saying goodnight",
      "message_id": "2599"
    }
  ],
  "stats": {
    "total_collected": 124,
    "total_sent": 15,
    "last_sent_at": "2026-03-07T00:24:00Z",
    "messages_since_last_sticker": 0
  },
  "config": {
    "min_messages_between_stickers": 2,
    "max_messages_between_stickers": 5,
    "enabled": true
  }
}

Usage Philosophy

Like a human:

  • Stickers enhance emotion, don't replace words
  • Use sparingly but meaningfully
  • Goodnight/morning → always sticker preferred
  • Celebrations, humor, empathy → good use cases
  • Technical answers, data reports → skip stickers

Frequency:

  • Default: 2-5 messages between stickers
  • Special occasions (greetings) override frequency rules
  • Track in messages_since_last_sticker

Example: Goodnight Flow

# 1. Agent detects "goodnight" intent
# 2. Select random goodnight sticker
FILE_ID=$(bash /path/to/random-sticker.sh "goodnight")

# 3. Send via OpenClaw (from agent code)
message(action=sticker, target=<chat_id>, stickerId=[$FILE_ID])

# 4. (Optional) Track usage manually
jq --arg fid "$FILE_ID" \
   '(.collected[] | select(.file_id == $fid) | .used_count) += 1' \
   stickers.json > stickers.json.tmp && \
   mv stickers.json.tmp stickers.json

Philosophy: Stickers should feel natural, not robotic. Collect user preferences, rotate selections, and respect conversation flow.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Topic Selection Expert

选题专家:全网热点监控 → 筛选打分 → 初步三要素 → 写入飞书选题库 → 推送Telegram。Use when user asks to 启动选题专家 / 获取选题推荐 / 查看热点 / 帮我选题。

Registry SourceRecently Updated
1240Profile unavailable
General

Morning Coffee Briefing

Daily morning briefing skill. Reads your TASKS.md and memory files, synthesizes a prioritized day plan, and sends it to you via Telegram so you start the day...

Registry SourceRecently Updated
1990Profile unavailable
General

Telegram Voice Transcribe

Transcribe Telegram voice messages and audio notes into text using the OpenAI Whisper API. Use when (1) a user sends a voice message or audio note via Telegr...

Registry SourceRecently Updated
2480Profile unavailable
General

Ngrok Preview

Generate short-lived, mobile-friendly ngrok preview links for local artifacts and share them in Telegram. Use when OpenClaw produces images/charts/generated...

Registry SourceRecently Updated
3770Profile unavailable