[Node.js] ニコニコ動画APIをまとめたライブラリ作った


node-nicovideo-apiというNode.js用のニコニコ動画APIラッパーライブラリを作ったので紹介します。

メソッド名とかモジュール構成がまだベストかどうかわからないところがあるのでツッコミいただけると幸いです。

実装されてる機能

  • ログイン / ログアウト
  • ユーザー情報(名前、アイコンなど)の取得
  • ニコニコ動画
    • 動画情報の取得(getthumbinfo API, getflv APIのラッパー)
    • マイリストの操作(一覧、動画の追加・移動削除)
  • ニコニコ生放送
    • getplayerstatus APIのラッパー
    • コメントサーバーへの接続(コメント投稿とかも)
    • Nsen用のハンドラー

サンプルコード

20行くらいの生放送に接続して受信したコメントを表示するCLIプログラムの例です。

Nico = require "node-nicovideo-api"

Nico.login(yourId, yourPassword)
.then (session) ->
  # loginメソッドでNicoSessionオブジェクトを取得
  # NicoSessionからAPIを叩けます。
  return session.live.getLiveInfo("lvxxxxxxx")

.then (live) ->
  # コメントサーバーへ接続
  return live.commentProvider()

.then (provider) ->
  provider.onDidReceiveComment (comment) ->
    # 制御系コメントの判定は`comment.isControlComment()`でできる
    console.log comment.comment

  return

利用例

このライブラリを使ってNcoというニコニコ生放送内のサービス"Nsen"専用のコメントビューアを作成しています。
(元々NcoとニコニコのAPI部分がごっちゃになってたので分離してNodeのモジュールにした副産物がnode-nicovideo-apiです。)

参考