放映中のアニメリストを教えてくれるhubot-annictを作った
とあるエンジニア集団が集うSlackにhubotを飼うことになってアニメ関連のコマンドが欲しいというissueを立てた。hubotはcoffeeがデフォルトだけどjavascriptを使えるので去年作ったannict.jsで現在のクールに放映中のアニメリストを表示するためのhubot scriptを作った。
概要
以下のように動作する。
hubot> anime now hubot> Shell: <a href="http://project-itoh.com/">虐殺器官</a> <a href="http://konosuba.com/">この素晴らしい世界に祝福を!2</a> <a href="http://www.kuzunohonkai.com/">クズの本懐</a> <a href="http://demichan.com/">亜人ちゃんは語りたい</a> <a href="http://masamune-tv.com/">政宗くんのリベンジ</a> <a href="http://chaoschildanime.com/">CHAOS;CHILD</a> <a href="http://tv.littlewitchacademia.jp/">リトルウィッチアカデミア</a> <a href="http://www.tbs.co.jp/anime/urara/">うらら迷路帖</a> <a href="http://youjo-senki.jp/">幼女戦記</a> <a href="http://sao-movie.net/">劇場版 ソードアート・オンライン -オーディナル・スケール-</a> <a href="http://www.tbs.co.jp/anime/seiren/">セイレン</a> . . .
使い方
データは例のごとくAnnictから取得させていただくので、事前にAnnictの登録が必要。
Annict | アニクト - 見たアニメを記録して、共有しよう
Annictにデベロッパー登録する
Annictにはまだユーザがトークンを発行する機能が用意されていないので、デベロッパー登録を行って手動でトークンを吐き出させる。
登録したら[認可する]ボタンで認証コードを取得する。
Annict APIのアクセストークンを取得する
コマンドラインから以下のようにcurlでトークンを取得する。起動時に使用するのでaccess_token
フィールドをメモっておく。
$ curl -F client_id=<アプリケーションID> \ -F client_secret=<シークレットキー> \ -F grant_type=authorization_code \ -F redirect_uri=urn:ietf:wg:oauth:2.0:oob \ -F code= <認証コード> \ -X POST https://api.annict.com/oauth/token
hubot-annictのセットアップ
hubotのルートディレクトリでインストールする。
$ yarn add hubot-annict
その後、external-scripts.json
に'hubot-annict'
を追加。これでインストール完了。
hubot起動
環境変数HUBOT_ANNICT_TOKEN
に取得したAnnictトークンを設定して起動する。
$ HUBOT_ANNICT_TOKEN="<annict_access_token>" ./bin/hubot
終わりに
Annictの波、きます!
国際化の波を感じる!🙏🙏🙏 / Fix some English grammar by magnonellie · Pull Request #653 · annict/annict https://t.co/X7qNLfL4PQ
— Koji Shimba (@shimbaco) January 10, 2017
Chatbotの波も感じる!!🙏🙏🙏 https://t.co/WcGOxiA7jW
— Koji Shimba (@shimbaco) January 10, 2017
国際化の流れPart2だ!🙏🙏🙏 / Fix some English grammar II by wopian · Pull Request #655 · annict/annict https://t.co/CEVXyrHsO6
— Koji Shimba (@shimbaco) January 11, 2017
@shimbacoさん、最近海外のアニメ記録サイト大手Kitsuの中の人と仲良くなってて、ワールドワイドな協定が結ばれて欲しいと個人的な願望を抱いている。