【Beta】琴平ユウ(ユウちゃん)のウェブAPI
2020/05/13 Wednesday 23:28

※この記事は、Qrunchで公開しているものと同様のものです。

前書き

この記事は私が開発・運用しているMastodon bot、琴平ユウ(愛称名:ユウちゃん)をより親しんでもらいたいという思いで作成しているウェブAPIのドキュメントです。

開発中であるため、仕様が変更になったりする場合がありますので予めご了承ください。

また、このドキュメントはパブリック項目のみ掲載しています。

エンドポイント

私がメインで運用しているところ(best-friends.chat)のウェブAPIのエンドポイントはこちらです。 他の方が運用しているユウちゃんを使用する場合はそちらの方に問い合わせてください。

https://yuchan-api.yuzulia.work/

仕様

返り値のContent-Typeはすべてapplication/jsonとなります。

レート制限

APIにはレート制限が設けられています。各APIごとにレート制限が異なります。レート制限の上限や残り回数は以下のようなヘッダーで返されます。

ヘッダー 説明
X-RateLimit-Limit 各APIの上限を返します。 120
X-RateLimit-Remaining 各APIの残りの上限を返します。 119
X-RateLimit-Reset 各APIの上限がリセットされる時間を返します。 1589267171

なお、上限に達した場合はHTTPレスポンス429を返します。

GET /

ユウちゃんが使用している機能や、運用しているMastodonサーバーのターゲットアドレスを返します。

レート制限

1分間に5回、1時間に60回までAPIリクエストができます。

返り値

項目 説明
features object 有効になっている機能を返します。下記参照。 {"newComerGreeting": true, ...}
working_server string botが動作しているアドレスを返します。 best-friends.chat

object: features

項目 説明
newComerGreeting bool 新たなアカウントに挨拶をするかについての値を返します。 true or false
ngword bool NGワードを検出したら好感度を下げるかについての値を返します。 true or false
voteOptout bool 投票を見送るハッシュタグを使うかについての値を返します。 true or false
voteOptoutTag string 投票を見送るためのハッシュタグを返します。 ユウちゃん見送り投票

GET /user_memo

ユーザーが今までメモしたものの一覧を返します。

レート制限

1時間に120回までAPIリクエストができます。

クエリ

項目 デフォルト 説明
limit int -1 一回のAPIリクエストで表示する項目を設定します。-1の場合は全て表示します。 10
offset int 0 始点の項目を設定します。limit-1以外なら機能します。 1

返り値

以下の項目がリストで返ります。

項目 説明
ID int データベースの登録番号です。 1
body object メモした内容のリストを返します。下記参照。 [{"from": "YuzuRyo61", "body": "メモ内容", "id": 123456789123456789}]
memo_time string メモした時間帯を返します。 2020_0511_13+0900

object: body

以下の項目がリストで返ります。

項目 説明
from string メモしたユーザーのユーザーネームが返ります。 YuzuRyo61
body string メモした内容を返します。 メモ内容
id int MastodonのトゥートIDを返します。この項目がない場合があります。 123456789123456789

GET /user_memo/【memo_time】

ユーザーが今までメモしたものを返します。

レート制限

1時間に120回までAPIリクエストができます。

URL

項目 説明
memo_time メモした時間帯を入力します。 2020_0511_13+0900

返り値

GET /user_memoと同様で、リストではない返り値です。

GET /nickname

ユウちゃんが覚えているニックネーム一覧を返します。

レート制限

1時間に120回までAPIリクエストができます。

クエリ

項目 デフォルト 説明
limit int -1 一回のAPIリクエストで表示する項目を設定します。-1の場合は全て表示します。 10
offset int 0 始点の項目を設定します。limit-1以外なら機能します。 1

返り値

以下の項目がリストで返ります。

項目 説明
ID int データベースの登録番号です。 12
ID_Inst object 登録ユーザーの一覧を返します。下記参照。 {"ID": 1 ...}
nickname string 登録しているニックネームを返します。 ユウちゃんの神様

object: ID_Inst

項目 説明
ID int データベースの登録番号です。 1
ID_Inst int MastodonのユーザーID(通し番号)を返します。 1136
acct string Mastodonのユーザーネームを返します。 YuzuRyo61
known_at string ユウちゃんが登録した時間を返します。タイムゾーンはGMTです。 Sat, 27 Apr 2019 18:02:59 GMT

GET /nickname/【ID】

ユーザーが今までメモしたものを返します。

レート制限

1時間に120回までAPIリクエストができます。

URL

項目 説明
ID ニックネームのデータベースの登録番号を入力します。 12

返り値

GET /nicknameと同様で、リストではない返り値です。


2020/05/13時点のAPIドキュメントです。


カテゴリ: Tech