リアクションデッキAPI - kmycode/mastodon GitHub Wiki

対応可否の判定方法

下記のエンドポイントで取得できるJSONについて

/api/v1/instance
/api/v2/instance

下記の配列に値があるかで判定してください

{
  "fedibird_capabilities": [
    "kmyblue_reaction_deck"
  ]
}

サーバー設定の取得方法

上と同じJSONに以下の値があります

{
  "configuration": {
    "reaction_deck": {
      "max_emojis": "(数値)リアクションデッキに登録できる絵文字の数"
    }
  }
}

リアクションデッキを操作するAPI

READ(デッキに登録された絵文字の一覧を取得する)

GET /api/v1/reaction_deck

戻り値:下記オブジェクトの配列

{
  "name": "(文字列)😀/igyoのいずれかのフォーマットが入る。ドメイン名は含まれない",
  "url": "(文字列|undefined)絵文字のURL",
  "static_url": "(文字列|undefined)アニメーションする絵文字の場合、アニメーションしない画像のURL"
}

なお実際には横長絵文字APIが有効になっている場合、widthheightプロパティが追加されます。

なお、戻り値には同じ絵文字が複数含まれている場合があります。

UPDATE BULK(デッキに絵文字を登録する)

POST /api/v1/reaction_deck
パラメータ名 説明
emojis [ '😀', 'igyo' ] 登録する絵文字の配列。これがそのまま新しいリアクションデッキになるため、デッキの一部分だけを更新することはできない。Unicode絵文字の場合はそのUnicode文字、カスタム絵文字の場合はshortcodeを指定する。なお指定可能なのはローカルの絵文字のみである

戻り値:下記オブジェクトの配列

{
  "name": "(文字列)😀/igyoのいずれかのフォーマットが入る。ドメイン名は含まれない",
  "url": "(文字列|undefined)絵文字のURL",
  "static_url": "(文字列|undefined)アニメーションする絵文字の場合、アニメーションしない画像のURL"
}

同じ絵文字を複数登録することも可能で、その扱いはクライアントアプリに一任されます。