← 返回
沟通协作 中文

openclaw-whatsapp-gif

Source and send relevant reaction GIFs in WhatsApp chats using safe filters and deterministic ranking. Use when the user asks for a GIF/meme/reaction, or whe...
在WhatsApp聊天中获取并发送相关反应GIF,使用安全过滤器和确定性排序。用于用户请求GIF/表情包/反应时。
witty-quotes25
沟通协作 clawhub v1.0.1 1 版本 99883 Key: 无需
★ 0
Stars
📥 854
下载
💾 37
安装
1
版本
#latest

概述

WhatsApp GIF

Source safe, context-matching GIFs and send exactly one high-quality result to WhatsApp.

Workflow

  1. Decide if GIF is appropriate.
  2. Build concise search query from user intent (2-5 words).
  3. Run scripts/find_gif.py to fetch and rank candidates.
  4. Send top result with message tool to WhatsApp (prefer local-file payload mode).
  5. If send fails, retry once with next candidate.
  6. If still failing or no results, send concise fallback text.

Decision rules

Prefer GIF when:

  • The user explicitly asks for GIF/meme/reaction.
  • A brief emotional signal is enough.
  • Tone benefits from a visual response.

Avoid GIF when:

  • Topic is serious/sensitive (medical, legal, conflict, grief).
  • Group context is formal or unclear.
  • User asked for text-only response.

Script usage

Use these deterministic helpers:

python3 skills/openclaw-whatsapp-gif/scripts/find_gif.py "congrats celebration" --limit 5 --json
python3 skills/openclaw-whatsapp-gif/scripts/find_gif.py "great job" --limit 3 --json --target "+1234567890"
python3 skills/openclaw-whatsapp-gif/scripts/send_gif.py "+1234567890" "great job celebration" --json
python3 skills/openclaw-whatsapp-gif/scripts/send_gif.py "+1234567890" "great job celebration" --delivery-mode local --json
python3 skills/openclaw-whatsapp-gif/scripts/send_gif.py "+1234567890" "great job celebration" --payload-only

Behavior:

  • Reads TENOR_API_KEY and/or GIPHY_API_KEY.
  • Applies safe filtering (contentfilter=low / rating=g + blocklist).
  • Uses retry + backoff for network fetches.
  • Ranks by keyword overlap + lightweight preference.
  • If no API keys or no provider results, uses built-in safe fallback catalog.
  • Optional web scraping fallback is available only when allowWebScrapeFallback is enabled in references/policy.json.
  • Expands intent queries using common reaction aliases.
  • Deduplicates repeated URLs across providers.
  • Returns URL only (default) or candidate list (--json).
  • With --target, prints a ready-to-send WhatsApp message payload in JSON.
  • With send_gif.py --payload-only, prints only the final message payload for direct tool handoff.
  • send_gif.py validates media size/type, retries next candidates when a URL is bad, and writes to OS temp cache.
  • Telemetry logging is disabled by default and can be enabled by policy or CLI flag.
  • Remote URL fallback is disabled by default and must be explicitly enabled in policy.
  • Runtime policy is configurable in references/policy.json.

WhatsApp send pattern

Use message with:

  • action: "send"
  • channel: "whatsapp"
  • target:
  • media:
  • caption:
  • gifPlayback: true

If provider rejects .gif, retry using next candidate URL (prefer MP4).

Fallback

If no suitable GIF or delivery fails twice:

  • Send concise text preserving intent.
  • Do not keep retrying in a loop.

References

  • Provider notes: references/providers.md

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-29 08:05 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,629
communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 114 📥 52,470
communication-collaboration

Slack

steipete
当需要通过 slack 工具从 Clawdbot 控制 Slack 时使用,包括在频道或私信中回复消息或置顶/取消置顶项目。
★ 157 📥 47,748