com.suibari.nagi.getPreferences

suibari.com

Documentation

端末をまたいで同期する本人の設定(既読位置、お気に入り絵文字、フィードタブ、投稿・翻訳言語、最後のブックマークフォルダ)を返す。他ユーザーからは参照できない。

main query

端末をまたいで同期する本人の設定(既読位置、お気に入り絵文字、フィードタブ、投稿・翻訳言語、最後のブックマークフォルダ)を返す。他ユーザーからは参照できない。

Output

Encodingapplication/json
emojiFavorites array Required

お気に入り絵文字パレット。表示順そのまま。要素は #unicodeFavorite または #customFavorite。

emojiFavoritesUpdatedAt stringdatetime Optional

省略時は、この利用者のお気に入りがまだ一度も同期されていないことを表す。

feedTabs array Optional

フィードのタブ。表示順そのまま。

feedTabsUpdatedAt stringdatetime Optional

省略時は、この利用者がまだ一度もタブをカスタムしていないことを表す(クライアントは既定タブを使う)。

languagePreferencesUpdatedAt stringdatetime Optional

An RFC 3339 formatted timestamp.

lastBookmarkFolderId string Optional

No description available.

lastBookmarkFolderUpdatedAt stringdatetime Optional

An RFC 3339 formatted timestamp.

preferredName string Optional

botたんに呼んでほしい名前。省略時は未設定=表示名で呼ばれる。

readPositions array Required

No description available.

replyFreq integer Optional

botたんからの返信確率(0〜100%)。Bluesky側のfreq設定と共用。

Errors

AuthRequired
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
View raw schema
{
  "type": "query",
  "errors": [
    {
      "name": "AuthRequired"
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "readPositions",
        "emojiFavorites"
      ],
      "properties": {
        "feedTabs": {
          "type": "array",
          "items": {
            "ref": "#feedTab",
            "type": "ref"
          },
          "maxLength": 16,
          "description": "フィードのタブ。表示順そのまま。"
        },
        "replyFreq": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "botたんからの返信確率(0〜100%)。Bluesky側のfreq設定と共用。"
        },
        "preferredName": {
          "type": "string",
          "maxLength": 120,
          "description": "botたんに呼んでほしい名前。省略時は未設定=表示名で呼ばれる。",
          "maxGraphemes": 40
        },
        "readPositions": {
          "type": "array",
          "items": {
            "ref": "#readPosition",
            "type": "ref"
          }
        },
        "emojiFavorites": {
          "type": "array",
          "items": {
            "type": "unknown"
          },
          "maxLength": 32,
          "description": "お気に入り絵文字パレット。表示順そのまま。要素は #unicodeFavorite または #customFavorite。"
        },
        "feedTabsUpdatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "省略時は、この利用者がまだ一度もタブをカスタムしていないことを表す(クライアントは既定タブを使う)。"
        },
        "languagePreferences": {
          "ref": "#languagePreferences",
          "type": "ref"
        },
        "lastBookmarkFolderId": {
          "type": "string",
          "maxLength": 64
        },
        "emojiFavoritesUpdatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "省略時は、この利用者のお気に入りがまだ一度も同期されていないことを表す。"
        },
        "lastBookmarkFolderUpdatedAt": {
          "type": "string",
          "format": "datetime"
        },
        "languagePreferencesUpdatedAt": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "端末をまたいで同期する本人の設定(既読位置、お気に入り絵文字、フィードタブ、投稿・翻訳言語、最後のブックマークフォルダ)を返す。他ユーザーからは参照できない。"
}
customFavorite object

Bluemoji のスナップショット。url などは表示のたびに再解決されるので、権威は uri のみ。

Properties

emoji unknown Required

No description available.

kind string Required

No description available.

View raw schema
{
  "type": "object",
  "required": [
    "kind",
    "emoji"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "const": "custom"
    },
    "emoji": {
      "type": "unknown"
    }
  },
  "description": "Bluemoji のスナップショット。url などは表示のたびに再解決されるので、権威は uri のみ。"
}
feedTab object

フィードのタブ1枚。必要なフィールドは kind ごとに異なる(list / custom は source、channel は uri、search は query)。

Properties

id string Required

No description available.

maxLength: 64 bytes
kind string Required

No description available.

maxLength: 32 bytes
Known values: list, global, custom, channel, search
label string Optional

表示名のスナップショット。権威は uri / query 側。

maxLength: 64 bytes
query string Optional

kind が search のときの保存クエリ。

maxLength: 128 bytes
queryKind string Optional

No description available.

maxLength: 32 bytes
Known values: keyword, tag
source string Optional

kind が list / custom のときの参照先(list=home, custom=affirmation)。将来のユーザー定義フィードは uri で指す。

maxLength: 32 bytes
Known values: home, affirmation
uri string at-uri Optional

kind が channel のときのチャンネル。

maxLength: 2048 bytes
View raw schema
{
  "type": "object",
  "required": [
    "id",
    "kind"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 64
    },
    "uri": {
      "type": "string",
      "format": "at-uri",
      "maxLength": 2048,
      "description": "kind が channel のときのチャンネル。"
    },
    "kind": {
      "type": "string",
      "maxLength": 32,
      "knownValues": [
        "list",
        "global",
        "custom",
        "channel",
        "search"
      ]
    },
    "label": {
      "type": "string",
      "maxLength": 64,
      "description": "表示名のスナップショット。権威は uri / query 側。"
    },
    "query": {
      "type": "string",
      "maxLength": 128,
      "description": "kind が search のときの保存クエリ。"
    },
    "source": {
      "type": "string",
      "maxLength": 32,
      "description": "kind が list / custom のときの参照先(list=home, custom=affirmation)。将来のユーザー定義フィードは uri で指す。",
      "knownValues": [
        "home",
        "affirmation"
      ]
    },
    "queryKind": {
      "type": "string",
      "maxLength": 32,
      "knownValues": [
        "keyword",
        "tag"
      ]
    }
  },
  "description": "フィードのタブ1枚。必要なフィールドは kind ごとに異なる(list / custom は source、channel は uri、search は query)。"
}
languagePreferences object

No description available.

Properties

autoTranslate boolean Required

No description available.

post string Required

No description available.

maxLength: 16 bytes
provider string Required

No description available.

Known values: kagi, deepl, google
translation string Required

No description available.

maxLength: 16 bytes
View raw schema
{
  "type": "object",
  "required": [
    "post",
    "translation",
    "provider",
    "autoTranslate"
  ],
  "properties": {
    "post": {
      "type": "string",
      "maxLength": 16
    },
    "provider": {
      "type": "string",
      "knownValues": [
        "kagi",
        "deepl",
        "google"
      ]
    },
    "translation": {
      "type": "string",
      "maxLength": 16
    },
    "autoTranslate": {
      "type": "boolean"
    }
  }
}
readPosition object

「ここまで読んだ」位置。新旧の比較は (indexedAt, uri) の辞書順で行う。

Properties

indexedAt string datetime Required

An RFC 3339 formatted timestamp.

section string Required

No description available.

maxLength: 32 bytes
Known values: bot, community, list, channels, news
uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

maxLength: 2048 bytes
View raw schema
{
  "type": "object",
  "required": [
    "section",
    "indexedAt",
    "uri"
  ],
  "properties": {
    "uri": {
      "type": "string",
      "format": "at-uri",
      "maxLength": 2048
    },
    "section": {
      "type": "string",
      "maxLength": 32,
      "knownValues": [
        "bot",
        "community",
        "list",
        "channels",
        "news"
      ]
    },
    "indexedAt": {
      "type": "string",
      "format": "datetime"
    }
  },
  "description": "「ここまで読んだ」位置。新旧の比較は (indexedAt, uri) の辞書順で行う。"
}
unicodeFavorite object

No description available.

Properties

emoji string Required

No description available.

maxLength: 64 bytes
kind string Required

No description available.

View raw schema
{
  "type": "object",
  "required": [
    "kind",
    "emoji"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "const": "unicode"
    },
    "emoji": {
      "type": "string",
      "maxLength": 64
    }
  }
}

Lexicon Garden

@