---
title: "Giphy — Mango 3.1 Grove 拡張機能"
description: "GIPHYで検索して、メッセージの下書きにアニメーションGIFを追加します。"
url: "https://mangoirc.chat/ja/extensions/giphy"
language: "ja"
---

[← すべての拡張機能](https://mangoirc.chat/ja/extensions)

メッセージ · Sprig

# Giphy

[Mango](https://mangoirc.chat/) 作

GIPHYで検索して、メッセージの下書きにアニメーションGIFを追加します。

Mango 3.1 にインストール 10 KB · Mango 3.1

バージョン

0.1.12

実行形式

入力パネル

Grove API

1

更新済み

2026-09-17

要求するアクセス権限

## 3件の権限

- **ローカルデータを保持**拡張機能のデータをこのデバイス上の独自の隔離された領域に保存します。
- **シークレットをキーチェーンに保持**この拡張機能専用に予約された Keychain 名前空間にプライベートな値を保存します。
- **スラッシュコマンドを追加**独自のコマンドを登録し、ネイティブなコマンド結果カードを表示できます。

ネットワークアクセス

## 宣言されたホスト

Groveは、以下で宣言されたオリジン以外へのネットワークアクセスをブロックします。

- ` 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 `

拡張機能から

## README · 英語

# 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](https://support.giphy.com/hc/en-us/articles/360020027752-GIPHY-API-Terms-of-Service) and [GIPHY Privacy Policy](https://support.giphy.com/hc/en-us/articles/360032872931-GIPHY-Privacy-Policy).

```bash
npm install
npm run build
npm run package
```

**manifest.json**chat.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"
  ]
}
```
