← Tutte le estensioni

Messaggi · Sprig

Giphy

da Mango

Cerca su GIPHY e aggiungi una GIF animata alla bozza del messaggio.

Installa in Mango 3.110 KB · Mango 3.1
Versione
0.1.12
Modalità di esecuzione
Pannello di composizione
Grove API
1
Aggiornato
2026-09-17

Autorizzazioni richieste

3 permessi

  • Mantieni i dati localiMemorizza i dati dell'estensione su questo dispositivo in uno spazio isolato a sé.
  • Mantieni i segreti nel portachiaviMemorizza i valori privati in uno spazio dei nomi Keychain riservato a questa estensione.
  • Aggiungi comandi slashRegistra i propri comandi e può mostrare le schede dei risultati dei comandi nativi.

Accesso alla rete

Host dichiarati

Grove blocca tutte le destinazioni di rete tranne queste origini dichiarate:

  • https://api.giphy.com
  • https://giphy-analytics.giphy.com
  • https://media.giphy.com
  • https://media0.giphy.com
  • https://media1.giphy.com
  • https://media2.giphy.com
  • https://media3.giphy.com
  • https://media4.giphy.com

Dall'estensione

README · Inglese

Giphy

Giphy is a Grove composer utility for Mango. Open it from the message field’s + menu, search or browse trending GIFs, and choose one to add its URL to the current draft. It uses GIPHY’s REST API directly; no third-party SDK is bundled. The /gif command in version 0.1.10 requires Mango 3.1 or newer. Older Mango versions can still install the extension and open its picker from the + menu.

Giphy also declares an on-demand /gif command. Mango can discover it without keeping the composer utility running in the background:

  • /gif opens trending GIFs.
  • /gif cats or /gif search cats opens the picker with cats filled in.
  • /gif first cats adds the first matching GIF URL directly to the draft.

Nothing is sent automatically. Both selecting a tile and using first return the URL to Mango’s ordinary composer for review.

Version 0.1.12 prevents iPhone search-field zoom and asks compatible Mango 3.1 builds to hand an already-open composer keyboard to search. Closing returns to the draft. Opening the picker with the keyboard hidden leaves it hidden until you tap search. Older hosts still support browsing and manual search focus.

The Sprig includes a shared, revocable beta API key. If its hourly quota is busy, open Grove Manager → Giphy → Settings and add a personal GIPHY API key. Personal keys are saved in Mango’s per-Sprig Keychain namespace and never written to the package or ordinary web storage. The bundled key is lightly obfuscated to avoid casual extraction, but—as with every browser-delivered API key—it is not a secret and GIPHY’s revocable quota remains the boundary.

The picker stores a stable pseudonymous customer id in Giphy’s isolated Grove web storage. Search requests and GIPHY’s documented visible/click analytics are sent directly to GIPHY so result ranking can improve. The picker only adds a URL to Mango’s draft, so it does not claim that the GIF was sent. No IRC identity, network id, channel, nickname, message history, or draft text is sent to GIPHY.

GIPHY and the GIPHY name are trademarks of Giphy, Inc. Use of the service is subject to the GIPHY API Terms and GIPHY Privacy Policy.

npm install
npm run build
npm run package
manifest.jsonchat.mangoirc.grove.giphy
{
  "grove": 1,
  "id": "chat.mangoirc.grove.giphy",
  "name": "Giphy",
  "version": "0.1.12",
  "description": "Search GIPHY and add an animated GIF to your message draft.",
  "author": {
    "name": "Mango",
    "url": "https://mangoirc.chat"
  },
  "readme": "README.md",
  "entry": "index.html",
  "settings": "settings.html",
  "presentation": {
    "surfaces": [
      "composer"
    ],
    "defaultSurface": "composer",
    "minSize": {
      "width": 320,
      "height": 220
    },
    "defaultSize": {
      "width": 520,
      "height": 500
    }
  },
  "contributions": {
    "uploadProviders": [],
    "commands": [
      {
        "name": "gif",
        "summary": "Find a GIF and add it to the draft",
        "usage": "[search|first] [keywords]",
        "subcommands": [
          {
            "name": "search",
            "summary": "Open the GIF picker with a search",
            "usage": "<keywords>"
          },
          {
            "name": "first",
            "summary": "Add the first search result to the draft",
            "usage": "<keywords>"
          }
        ]
      }
    ]
  },
  "capabilities": [
    "storage",
    "storage.secure",
    "commands.register"
  ],
  "hostPermissions": [
    "https://api.giphy.com",
    "https://giphy-analytics.giphy.com",
    "https://media.giphy.com",
    "https://media0.giphy.com",
    "https://media1.giphy.com",
    "https://media2.giphy.com",
    "https://media3.giphy.com",
    "https://media4.giphy.com"
  ]
}