コメントビューア用。
OAuthが要るようなAPIは使わず、未登録で取得できるコメントを取得。
あくまで執筆時点の情報です。仕様が変わる可能性もあるのであしからず。
ユーザの配信URL
-
https://twitcasting.tv/{ユーザID}
- 例:
https://twitcasting.tv/pasta04
- 例:
手順
- ユーザIDを元に、動画ID(movieID)を取得
-
リクエスト
- GET
https://frontendapi.twitcasting.tv/users/{ユーザID}/latest-movie
- GET
-
レスポンス
{ "update_interval_sec": 4, "movie": { "id": {movieID}, "is_on_live": true // 配信中かどうか } }
-
動画IDを元に、チャットのURLを取得
-
リクエスト
- POST
https://twitcasting.tv/eventpubsuburl.php
- body(form-data)
- movie_id: {movieID}
- POST
-
レスポンス
{ "url": "wss://s202218134036.twitcasting.tv/event.pubsub/v1/streams/{movieID}/events?token={なんやかんや}&n={なんやかんや}" }
-
-
チャットURLにWebSocketで接続する
1メッセージで複数コメントが取得できることがある。
ただの空配列が受信できることもある。
WebSocketでpingメッセージを送る必要は無さそう。
受信できるメッセージは以下の型。
- コメント
{
"type": "comment",
/** コメントのIDっぽい */
"id": number,
/** コメント */
"message": string,
"createdAt": number,
/** 投稿ユーザ情報 */
"author": {
/** Twicas内でのIDっぽい。乱数みたいなので見てもしょうがない。 */
"id": string,
/** ユーザの表示名 */
"name": string,
/** TwitterアカウントのScreenName */
"screenName": string,
/** アイコン画像のURL */
"profileImage": string,
"grade": number
},
"numComments": number
}[]
- ギフト
{
"type": "gift",
"message": "",
"item": {
/** アイテム名。お茶とか */
"name": string,
/** アイテム画像URL */
"image": string,
"effectCommand": ""
},
/** コメントのauthorと同じ */
"sender": {
"id": string,
"name": string,
"screenName": string,
"profileImage": string,
"grade": number
}
}[]