な・・・んと、そっちでしたか。
自分で書いといてそっちだとは思ってませんでした。。。
コメントの投稿の仕方は
http://qiita.com/tor4kichi/items/be55e177f0e4a0753f5d
http://qiita.com/tor4kichi/items/2f19f533763fe6e3e479#%E5%8F%82%E8%80%83
http://blog.livedoor.jp/mgpn/archives/51968685.html
http://blog.livedoor.jp/mgpn/archives/51886270.html
あたりを参考にすれば良さそうです。
コメント投稿までの流れとしては、1つ目の参考URLを見ると
1. 動画情報取得
2. コメントのスレッドキーを取得
3. コメントリストを取得
4. コメントの送信準備(PostKeyの取得)
5. コメントの送信
とすれば良いそうです。
ということは hspinet等を使って、ニコニコ動画と通信(ニコニコのAPIを叩く)をする必要があると思います。
とりあえず、"3.コメントリストの取得"までを hspinets.dll を使って試しにスクリプトを書いてみました。
その先は、各URL先を参考にして黒ノ巣さんが書いてみて下さい。
また、下記スクリプトには以下の注意点があります。
・ニコニコ動画から情報を取得したりコメントを投稿したりするには、ニコニコ動画にログインする必要がります。
・ニコニコ動画のログインはhttpsに接続する必要があるので
http://hsp.tv/play/pforum.php?mode=all&num=79435
から、inoviaさんが投稿してくださっている hsp35_hspinet_binary.zip から hspinets.dll, hspinets.as を入手して下さい。
#include "hspinets.as"
#include "mod_regexp.as"
sm="sm78839"
nico_mail="" ;ニコニコアカウント:メールアドレス
nico_pass="" ;ニコニコアカウント:パスワード
;メッセージ表示 準備
mbox=""
mesbox mbox,640,480,1,0
id_mbox=stat
;処理ID
#enum _STOP_ =0
#enum LOGIN
#enum GETFLV
#enum GETCOMMENTLIST
step = LOGIN
netinit
if stat : dialog "ネット接続できません。" : end
//各処理
*routine
switch step
;ニコニコログイン
case LOGIN:
mbox = "ログイン\n---\n"+mbox
objprm id_mbox, mbox
neturl "https://secure.nicovideo.jp/secure/"
; POST形式でパラメーターを渡す
prm = "site=niconico&mail="+nico_mail+"&password="+nico_pass
netrequest_post "login",prm
step = GETFLV ;次
swbreak
;情報取得
case GETFLV:
mbox = "情報取得\n---\n"+mbox
objprm id_mbox, mbox
neturl "http://www.nicovideo.jp/api/getflv/"
; GET形式でアクセス
netrequest_get sm
step = GETCOMMENTLIST ;次
swbreak
;コメントリスト取得
case GETCOMMENTLIST:
; responseDataから各情報を切り分け
threadId = submatch(responseData,"thread_id=(.*?)&") ;スレッドID取得
messageServerUrlenc = submatch(responseData,"&ms=(.*?)&") ;メッセージサーバURL取得
urldecode messageServerUrl, messageServerUrlenc ;URLデコード
mbox = strf("取得情報 -> %s, %s, %s",threadId, messageServerUrlenc, messageServerUrl)+"\n---\n"+mbox ;確認
mbox = "コメントリスト取得\n"+mbox
objprm id_mbox, mbox
neturl messageServerUrl
; ?POSTでうまく行かなかったのでGETで。
netrequest_get "thread?thread="+threadId+"&version=20061206&res_from=-1&scores=1" ;コメント1件取得
objprm id_mbox, mbox
step = _STOP_ ;次終わり
swbreak
default
stop
swbreak
swend
*main
; 結果待ちのためのループ
netexec res
if res > 0 : goto *comp
if res < 0 : goto *bad
await 50
goto *main
*bad
; エラー
neterror estr
dialog "ERROR "+estr
stop
*comp
; "DOWNLOAD 完了"
netgetv responseData
mbox = responseData+"\n---\n"+mbox
objprm id_mbox, mbox
goto *routine ;次の処理へ
stop
試みとしては面白いと思います。
ただ、ちょっと杞憂かもしれませんが、黒ノ巣さんのスクリプトで動画の再生に外部プレイヤーを用いているので、恐らくコメントを投稿しても再生している動画の画面には新規投稿したコメントは流れてこないのでは無いかなと思います。。。