← Back to Web & Frontend Development

giphy

Search and send contextual GIFs from Giphy in Discord conversations

0
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_KEY is present, the skill works.
  • If missing, ask the user to set it and retry.

Workflow

  1. Build a Giphy Search API URL with user intent as query.
  2. URL-encode the query text.
  3. Request one result from Giphy.
  4. Extract the first GIF page URL from data[0].url.
  5. 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 dance
  • facepalm reaction
  • mind blown
  • awkward 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?"