360 Secure SkillHub
360 安全技能中心

Gif Whatsapp

核心功能:解决WhatsApp不支持Tenor/Giphy直接链接的问题,可根据英文搜索关键词从上述平台查找GIF,自动完成下载、转MP4格式,通过内置message工具发送,确保以循环GIF形式展示。典型使用场景包括用户索要GIF、庆祝喜讯、趣味回应、情绪表达等,输入为英文搜索词,无需额外WhatsApp凭据。

shaharsha
shaharsha
热度 97.81
最近更新 2026-05-11 15:53:20
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:社交媒体 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add gif-whatsapp
Metadata
name
gif-whatsapp
version
1.2.0
description
Search and send GIFs on WhatsApp. Handles the Tenor→MP4 conversion required for WhatsApp.
author
Leo 🦁
homepage
https://clawhub.com/skills/gif-whatsapp
metadata
{"clawdbot":{"emoji":"🎬","requires":{"bins":["gifgrep","ffmpeg","curl"]},"requiresTools":["message"],"notes":"Uses the platform message tool (already configured) for WhatsApp delivery. gifgrep searches Tenor/Giphy only. Downloads are saved to /tmp and cleaned up after sending."}}
allowed-tools
["exec","message"]

GIF Sender

Send GIFs naturally in WhatsApp conversations.

CRITICAL: WhatsApp GIF Workflow

WhatsApp doesn't support direct Tenor/Giphy URLs. You MUST:

  1. Download the GIF
  2. Convert to MP4
  3. Send with gifPlayback: true

Complete Workflow

Step 1: Search for GIF

gifgrep "SEARCH QUERY" --max 5 --format url

Search in English for best results.

Always get 5 results and pick the best one based on the filename/description - don't just take the first result.

Step 2: Download the GIF

curl -sL "GIF_URL" -o /tmp/gif.gif

Step 3: Convert to MP4

ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/gif.mp4 -y

Step 4: Copy to workspace (REQUIRED!)

cp /tmp/gif.mp4 /root/.openclaw/workspace/gif.mp4

⚠️ The message tool can ONLY send files from the workspace directory. Files in /tmp will fail with LocalMediaAccessError.

Step 5: Send via message tool

message action=send to=NUMBER message=" " filePath=/root/.openclaw/workspace/gif.mp4 gifPlayback=true

Use a single space as the message body — WhatsApp requires a non-empty message to send media, but the space won't be visible to the recipient.

One-liner Example

# Search
gifgrep "thumbs up" --max 3 --format url

# Pick best URL, then download + convert + copy to workspace:
curl -sL "https://media.tenor.com/xxx.gif" -o /tmp/g.gif && \
ffmpeg -i /tmp/g.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/g.mp4 -y 2>/dev/null && \
cp /tmp/g.mp4 /root/.openclaw/workspace/g.mp4

# Then send with message tool from workspace path, gifPlayback=true

When to Send GIFs

✅ Good times:

  • User asks for a GIF
  • Celebrating good news
  • Funny reactions
  • Expressing emotions (excitement, facepalm, etc.)

❌ Don't overuse:

  • One GIF per context is enough
  • Not every message needs a GIF

Popular Search Terms

Emotion Search Terms
Happy celebration, party, dancing, excited
Approval thumbs up, nice, good job, applause
Funny laugh, lol, haha, funny
Shocked mind blown, shocked, surprised, wow
Sad crying, sad, disappointed
Frustrated facepalm, ugh, annoyed
Love heart, love, hug
Cool sunglasses, cool, awesome

Security & Safety Notes

  • Source domains: gifgrep only searches trusted GIF providers (Tenor, Giphy)
  • File handling: Downloads go to /tmp, then MUST be copied to workspace before sending (message tool only allows workspace paths)
  • Empty caption: A single space is used as the message body so WhatsApp sends the GIF without visible text
  • WhatsApp integration: Uses the platform's built-in message tool — no separate WhatsApp credentials needed
  • ffmpeg safety: Processes only GIF files from trusted providers; no arbitrary file execution

Why This Works

  • WhatsApp converts all GIFs to MP4 internally
  • Direct Tenor/Giphy URLs often fail
  • MP4 with gifPlayback=true displays as looping GIF
  • Small file size = fast delivery