Source Code
Giphy GIF Search
Find a relevant GIF from Giphy and send it naturally in Discord.
Behavior Rules
- Send GIFs when explicitly requested.
- Also allow proactive GIFs (without explicit request) when the moment clearly fits: celebration, shared humor, or strong emotional beats.
- Keep proactive usage occasional (at most one GIF for a moment, avoid back-to-back GIF-only replies).
- Prefer text-only in serious or information-dense conversation.
- Keep results safe-for-work (
rating=g).
API Key (Easy Setup)
This skill reads only one variable: GIPHY_API_KEY.
Option A: Temporary (current shell session)
export GIPHY_API_KEY="your-api-key"
Option B: Persistent for OpenClaw (recommended)
Add to ~/.openclaw/.env:
GIPHY_API_KEY=your-api-key
Then restart OpenClaw so the environment is reloaded.
Validation
- If
GIPHY_API_KEYis present, the skill works. - If missing, ask the user to set it and retry.
Workflow
- Build a Giphy Search API URL with user intent as query.
- URL-encode the query text.
- Request one result from Giphy.
- Extract the first GIF page URL from
data[0].url. - Send that URL to Discord.
API Request Template
Use this endpoint shape:
https://api.giphy.com/v1/gifs/search?api_key=<KEY>&q=<ENCODED_QUERY>&limit=1&rating=g&lang=en
Output Rule
- If a GIF URL is found: send only the URL (Discord auto-embeds).
- If no result is found: send a short fallback text and ask for a better keyword.
Good Query Examples
happy dancefacepalm reactionmind blownawkward silence
Fallback Message
"I couldn’t find a GIF with the vibe you’re looking for. Could you give me a bit more specific keywords?"