【開発者向け】ゲーム配信サイトTwitch向けアプリ開発に必要なAPI情報・URLなど
ゲーム配信サイト「Twitch」向けのアプリケーションを開発する開発者向けに、最低限必要となる情報を本ページでは紹介していきます。
はじめに
動画サイトTwitchはアメリカ発のサービスであり、まだ日本市場での本格稼働を始めて2年程度ということもあり、入手できる情報は英語がほとんどです。
まずは、本ページが、必要な情報へたどり着くための足がかりになればと考えて、書いています。
細かい解説は今回の記事では行いませんので、ご了承ください。
構成する技術
Twitchを構成する技術は大きく分けて、3つの部位から構成されています。
- IRC
- エモートアイコン
- Twitch API
IRC (Internet Relay Chat)
Twitchのチャット欄は、IRC技術をベースに独自拡張が加えられています。
Twitch Chat Commands https://help.twitch.tv/customer/portal/articles/659095-chat-moderation-commands
通常コメントの取得は、IRCにて行います。
IRCへの接続方法は、棒読みちゃん記事内で解説していますので、そちらをご覧ください。
Twitch公式の解説ページは以下からどうぞ。
https://help.twitch.tv/customer/portal/articles/1302780-twitch-irc
エモートアイコン
チャット欄の独自拡張の一つとしてエモートアイコン、いわゆる絵文字があります。エモートは下記2種類から構成されます。
- 標準エモート
- 各チャンネル毎のsubscriber向けエモート
例えば、Twitch配信者Shobosukeさんのチャット欄で取得可能なエモートは、以下から閲覧可能です。
https://api.twitch.tv/kraken/chat/shobosuke/emoticons
標準チャットの出力をIRCから取得すると共に、画面上にエモートも同時に表示したい場合は、こちらから該当するエモート画像ファイルのURLを取得し、表示する必要があります。
Twitch API
Twitch APIはRESTfulなjson APIとして提供されており、いくつかのバージョンが存在しますが、最新はV3です。
https://github.com/justintv/twitch-api
通常のHTTPアクセスだけで情報が取得できるものと、0Authが必要なものの2種類が存在します。
また、Twitchサイト上で使われてはいるものの、APIが公には公開されていない物も存在します。非公式なAPIを紹介しているサイトも海外では存在しますが、アクセス応答が不安定であったり、Twitchのサイト自身へ負荷を与える可能性も否定できないことから、公式に公開されているAPIを使用することをオススメします。
一例:チャンネルが放送中かどうかを調べる場合
Twitch APIでの解説は下記のページです。
https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel
チャンネル名「test_channel」の状況をする場合、
https://api.twitch.tv/kraken/streams/test_channel
からjson取得し、jsonをパースすることで判断することが可能です。
ライブラリ
公式ライブラリ
Java Scriptベースの標準ライブラリがTwitchから提供されています。
https://github.com/justintv/twitch-js-sdk
HybridAuth
0Authの著名ライブラリの一つであるHybridAuthはTwitch向け情報が提供されています。
http://hybridauth.sourceforge.net/userguide/IDProvider_info_TwitchTV.html
フォーラム
最新の機能が実装されると、各開発者が自身のアプリケーションを対応させるべく、フォーラム上で交流が行われます。こちらも英語ですが、参考になる情報もたくさんありますので、ぜひチェックしてみてください。
おわりに
有名配信者が少しずつ集まりだしているTwitch。より便利に配信ができる環境が整うことで、よりサイトも活性化していきますので、開発者のみなさん、一緒に頑張りましょう!