SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
初心者にもお気楽に多機能を!
コメントビューア Nway
まずは自己紹介!
名前:mankitsu
ニコ生しったのがマンガ喫茶だったから
職業:自宅を守る大切なお仕事(求職中)
プログラミング歴:初心者以上中級者未満
使える言語:VB6、VB.NET
Twitter:mankitsu2009
ニコニコミュニティー:満喫ピュアイズム
http://com.nicovideo.jp/community/co9176
ところで・・・・
開発のきっかけ
NwhoisやNCVでは、初心者が拡張しづらい!
プラグインのあるHP探しや導入ができない
そこで、俺得(ここ大事)なプラグインなしでも
それなりに使えるコメビュを作ろう!!
開発時の苦悩
・VB6の入門編の本をかじっただけ
・クラス作成 なにそれおいしいの?
・並列処理 抵抗値は半分?
・WEB通信 ブラウザ?
この程度で知識から始まったんです。
Nwayの操作方法
接続までは簡単の3Step
1、ニコニコにログインしている
ブラウザを選択
2、放送番号を入れる(放送URLでもOK)
3、接続ボタンを押す
放送プレビュー
Nwayユーザーでの一番好評な機能!!
ブラウザなしで放送閲覧が可能
タイトルバー右クリックにて
メニューにて原宿Ver、Qver
の閲覧切替可能
常に手前も可能
作業中でもニコ生見れるね
アラート連携
自動接続!
一度使うとやめられない!
自分の生放送へ自動的に接続
放送ページの切替を自動として、
放送も一緒に見たい時
Nwayの便利な機能(一部紹介)
他、コメビュでは通常プラグインである
機能を山盛りに搭載
・コメント応答 (初見→初見さんいらはい)のような
コメント返し
・安価確認 安価のコメントを表示
運コメでの反映
Nwayの便利な機能(一部紹介)
・棒読み上げ 棒読みちゃんでのコメント読上げ
・VOICEROID対応 民安オペレーターを経由し
VOICEROID読上げ
その他多数の機能を標準で搭載!!
公開後の苦労
• 予想外な演出(まあバグですよ)
• ご利用いただいている皆様の
要望や苦情
(スキル不足を痛感!)
・ニコニコの仕様変更!!
Nwayユーザーの声
コメント返しができたり自動延長できたり
全体的に見やすくて使いやすい
プラグインなしで機能が充実してるから
安心してPC初心者さんにオススメ
開発者さんのツイッターが面白い。
Nwayを使って彼女ができました!
ダウンロード先はこちら
ダウンロードは「Nway公式ホームページ」
http://co9176.info/nway
各種検索サイトにて
HPではその他、NLE関係のツールも
DLできますのでお願いいたします。
「Nway」で検索
コメビュの歴史 第一世代
NCV
Nwhois
シンプルでプラグイン
で拡張!
コメビュの歴史 第二世代
Nway
やりますアンコちゃん
多機能なコメビュ!
これから出てくるコメビュー
コメビュの歴史 第三世代
じ
ゃ
あ
い
つ
、
作
る
の
?
AA(ry
コメント取得の流れ(大まかに説明)
各ブラウザのCookieの取得
↓
ニコ生のAPIから必要なものを取得
(メッセージサーバ、サーバポート、スレッドID)
取得先:http://watch.live.nicovideo.jp/api/getplayerstatus?v=lv
↓
メッセージサーバとサーバポートに接続
↓
以下受信無限ループ
(ここで非同期が必要なためスレッド処理が必要となる)
コメント取得時にサーバに送るもの
<thread thread=“スレッドID"
version="20061206" res_from="-1000"
scores="1" />
↑必ず0バイトのデータが必須
スレッドID:APIで取得したスレッドID
Res_from:過去のコメントをどれだけ拾うか?
(最大1000コメ)
それより前はWaybackkeyを取得して(今回は略
コメント取得のサンプルソース(VB.NET)
Dim addr As String = "msgXXX.live.nicovideo.jp" : Dim port As String = "28XX" : Dim thread As String = "XXXXXXXXX"
Dim post_str As String = String.Format _
("<thread thread=""{0}"" version=""20061206"" res_from=""-{1}"" scores=""1"" />", _
thread, "1000") + ControlChars.NullChar 'コメントを要求するXmlを作成
Dim client As New TcpClient() : client.Connect(addr, port) 'コメントサーバへ接続する。
Dim stream As NetworkStream = client.GetStream()
Dim reqData As Byte() = Encoding.UTF8.GetBytes(post_str)
stream.Write(reqData, 0, reqData.Length) '要求を送信
Dim buffer As Byte() = New Byte(8191) {} : Dim readSize As Integer = 0 '受信処理
Dim byteList As New List(Of Byte)()
While True
readSize = stream.Read(buffer, 0, buffer.Length)
For i As Integer = 0 To readSize - 1
If buffer(i) = "¥0" Then '必ず¥0区切りで処理する。
Dim str As String = Encoding.UTF8.GetString(byteList.ToArray())
byteList.Clear()
Dim xmlDoc As New XmlDocument() : xmlDoc.LoadXml(str)
Dim xmlElem As XmlElement = xmlDoc.DocumentElement
Select Case xmlElem.Name
Case "chat"
Console.WriteLine(str) 'コメント表示
End Select
Else
byteList.Add(buffer(i))
End If
Next
End While
取得したコメントについて
<chat thread="125835XXX"
no="32" vpos="129600"
date="1365273937"
date_usec="120702"
user_id="2093929" premium="1"
locale=“ja-jp" score="-554">wwww
w</chat>
上記のようなXMLでコメント受信されます。
必要に応じてデータを使ってください。
まとめ
ニコ生アプリ開発はむずかしくない!
第三世代のコメビュを作るのは君だ!
サンプルはWEBにいっぱいある!
困ったら先人に聞こう!
VBはエミネムさんが教えてくれます。
一番はまとめコレ!
みんなでNwayを使おう!
sm20441116
\(^0^)/
本日はご清聴ありがとうございました。
明日、28日は超多目的スペースにて
「初心者超歓迎!
NLEをやさしくおしえちゃう☆ワークショップ」
(12:20~)にいますので
よかったら来てくださいね

Contenu connexe

Tendances

ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
緑川 広岐
 
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
Unicast Inc.
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18th
Go Imai
 

Tendances (20)

HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
自動的に開発環境設定(1)
自動的に開発環境設定(1)自動的に開発環境設定(1)
自動的に開発環境設定(1)
 
ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
ワードプレスって、何? はじめは苦戦するかもしれないけれど、ちょっとずつでも理解すれば、アクションゲームよりもかんたんだよ
 
レスポンシブ対応 をサポートするプラグイン
レスポンシブ対応 をサポートするプラグインレスポンシブ対応 をサポートするプラグイン
レスポンシブ対応 をサポートするプラグイン
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるには
 
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
 
簡単なプラグインの管理方法とプラグインのご紹介
簡単なプラグインの管理方法とプラグインのご紹介簡単なプラグインの管理方法とプラグインのご紹介
簡単なプラグインの管理方法とプラグインのご紹介
 
PWAがOculus Storeに配信できるようになる
PWAがOculus Storeに配信できるようになるPWAがOculus Storeに配信できるようになる
PWAがOculus Storeに配信できるようになる
 
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてPWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
 
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
 
universions@WordBench_KUMAMOTO#14
universions@WordBench_KUMAMOTO#14universions@WordBench_KUMAMOTO#14
universions@WordBench_KUMAMOTO#14
 
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18th
 
Master the mainframe 2020のご紹介
Master the mainframe 2020のご紹介Master the mainframe 2020のご紹介
Master the mainframe 2020のご紹介
 
効果的なブログの書き方 ~仕事につながるブログ術、3つのポイント~
効果的なブログの書き方 ~仕事につながるブログ術、3つのポイント~効果的なブログの書き方 ~仕事につながるブログ術、3つのポイント~
効果的なブログの書き方 ~仕事につながるブログ術、3つのポイント~
 
PlayCanvasで始めるWebXR
PlayCanvasで始めるWebXRPlayCanvasで始めるWebXR
PlayCanvasで始めるWebXR
 
最近知ったBootstrapの注意点
最近知ったBootstrapの注意点最近知ったBootstrapの注意点
最近知ったBootstrapの注意点
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
 
オープンソースプロジェクトのはじめかた@Creators MeetUp #25
オープンソースプロジェクトのはじめかた@Creators MeetUp #25オープンソースプロジェクトのはじめかた@Creators MeetUp #25
オープンソースプロジェクトのはじめかた@Creators MeetUp #25
 
Novius OSでフォームを作る
Novius OSでフォームを作るNovius OSでフォームを作る
Novius OSでフォームを作る
 

Plus de jz5 MATSUE

テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
jz5 MATSUE
 
ニコニコアプリ開発
ニコニコアプリ開発ニコニコアプリ開発
ニコニコアプリ開発
jz5 MATSUE
 

Plus de jz5 MATSUE (16)

マスコットアプリ文化祭2018受賞作品
マスコットアプリ文化祭2018受賞作品マスコットアプリ文化祭2018受賞作品
マスコットアプリ文化祭2018受賞作品
 
マスコットアプリ文化祭2018受賞作品
マスコットアプリ文化祭2018受賞作品マスコットアプリ文化祭2018受賞作品
マスコットアプリ文化祭2018受賞作品
 
マスコットアプリ文化祭2017 受賞作品
マスコットアプリ文化祭2017 受賞作品マスコットアプリ文化祭2017 受賞作品
マスコットアプリ文化祭2017 受賞作品
 
MvvmCross 入門
MvvmCross 入門MvvmCross 入門
MvvmCross 入門
 
マスコットアプリ文化祭2016 受賞作品発表 & 表彰式
マスコットアプリ文化祭2016 受賞作品発表 & 表彰式マスコットアプリ文化祭2016 受賞作品発表 & 表彰式
マスコットアプリ文化祭2016 受賞作品発表 & 表彰式
 
マスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarinマスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarin
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門
 
Text-To-だるやなぎスピーチの開発
Text-To-だるやなぎスピーチの開発Text-To-だるやなぎスピーチの開発
Text-To-だるやなぎスピーチの開発
 
マスコットアプリ文化祭2015 受賞作品発表 & 表彰式
マスコットアプリ文化祭2015 受賞作品発表 & 表彰式マスコットアプリ文化祭2015 受賞作品発表 & 表彰式
マスコットアプリ文化祭2015 受賞作品発表 & 表彰式
 
フォロワーから友利奈緒を探す
フォロワーから友利奈緒を探すフォロワーから友利奈緒を探す
フォロワーから友利奈緒を探す
 
Windows8.1(64bit) にVB6をインストール
Windows8.1(64bit) にVB6をインストールWindows8.1(64bit) にVB6をインストール
Windows8.1(64bit) にVB6をインストール
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
#darukaigi
#darukaigi#darukaigi
#darukaigi
 
テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
 
ニコニコアプリ開発
ニコニコアプリ開発ニコニコアプリ開発
ニコニコアプリ開発
 
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
 

コメントビューア Nway