Feelings deep inside

のんびりと音楽の話でも。。

HOMEWSH

表示中の記事
Top |
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加    --:--:-- | スポンサー広告  | 

 全く需要がないのは分かっているけど、以下は自分用のメモw
以前にニコニコ動画の「nico.msをもっと利用してみるVBScript」というのを書いたけど、動画等のページ右下にある「Tweet」ボタンを押したら新しいウィンドウが開いてTwitter公式のt.coという短縮URLが生成されるんですよね。でも新しいウィンドウが開くのも好きじゃないしTwitterが重かったりしたらちょっと待つのも嫌だから…と思っていたら右クリックでURLをコピーすればいいんじゃない?ということでやってみた。
 最初にVBScriptでURLデコードをやってみようとしたけど、そういう機能はVBScriptにはなくていくつか代替のサンプル処理は見つけたけどニコニコ動画の「Tweet」ボタンで使われているUTF-8のURLデコードはうまくいかなかったので、WSHでVBScriptの他にもう一つあるJScript(マイクロソフトのJavaScriptみたいなもの)ではdecodeURIComponent()というそのまんまの処理があるのでJScriptもJavaScriptもろくに知らなかったけどそれを使ってみることに。でも、何度やってもエラーが出てどういうことだよ…と調べてみたらVBScriptのInputBoxは255バイトまでしか受け付けないからそれ以上は無視されてエラーが出てた。一旦ファイルに保存してからそれを…というのは簡単に実装できるけどそれじゃあ「Tweet」ボタンをクリックした方が早くて本末転倒だしw ってことで、クリップボードの内容を取得という当初からやりたかった方法を採用。とは言ってもVBScriptで直接クリップボードの内容を取得する処理はなくて調べたらInputBoxを使うものやIEを使うものやWordやExcelなどを利用するものがあったけど、InputBoxは文字数がオーバーするからダメだし、IEはセキュリティーが以前より厳しくなってダイアログが出るらしいから鬱陶しいし、最後のはサーバー用の自作パソコンにOfficeなんか入れているわけがないから使えない…ということで手詰まりだったから前回のでは見送ったんですよね。今はWindows 7 Ultimate (x64)なのでPowerShellがプリインストールされているからそれを利用することに。PowerShellが分かるならそれだけで完結するんですが、約4ヶ月前にVBScriptを勉強し始めたばかりでPowerShellについて全く分からないというか勉強していないので、「PowerShell.exeでクリップボードを標準出力に取り出す1行バッチファイル」というのをまるっと取り入れて問題解決…のはずがいつまで経ってもコマンドプロンプトが終わらないので調べたらまたしても同じサイトに「PowerShellのワンライナをWScript.ShellのExec()すると、終了待ちが解けない。」というのがあって今度こそ問題解決! じゃあついでにPowerShellでURLデコードも処理させればJScriptを使わなくてすむと思ったけど、PowerShellがよく分からなかったので断念(^_^;
 以下は、ソースコードと具体的な使用例です。

このエントリーをはてなブックマークに追加    02:23:49 | 動画  | Trackback (0)  | Comment (0)List  | 

【3/18 追記】
WSH(一部PowerShell利用)でクリップボードの内容を取得し「Tweet」ボタンのリンクをURLデコードするやり方を新しい記事に書いてみました。


 ニコニコ動画で「Tweet」ボタンを押すと前はニコニコ独自の「nico.ms」という短縮URLが使われていたけど、Twitter公式の「t.co」ができてからそちらへと仕様変更されたんですよね。ただ、これだとハッシュタグがあればニコ動だと分かるけど、文字数の関係で削除した場合に何のリンクか分からなくなってしまうんですよね。クライアントソフトによってはサムネイルが表示されたり、URLをマウスオーバーするとURLを展開してくれたりするのもありますが、そういうのばかりじゃないし。Tweenだとnico.msを優先して使う設定があったのでよかったんだけど、他のソフトだとそういう設定見当たらないし今使ってるツイタマにもないし。以前にちょっとJanetterも使ったことがあって要望を出してみたけど個々で対応してとのことで断られたw ってことで、前からやろうやろうと思ってたけど、TvRockのVBScriptが忙しくて手が回らなかったのでやっと今日他のことをしながら作業して一応完成したので公開してみます。

このエントリーをはてなブックマークに追加    01:25:42 | 動画  | Trackback (0)  | Comment (0)List  | 

TvRockでの録画情報をツイートするのは何度か書いてますが、ごろっと変更したので過去の記事に追加するのではなく新しい記事に書いてみます。


今回の変更点は、

【2011/2/5更新分】
・番組名に「"」がある場合でも録画開始と録画終了だけはツイートできるようにした
・「連続した予約は録画を停止しない」設定をしている場合、録画終了の引数とログが一致しない不具合に対応
・ワンセグの録画開始と録画終了の表記をVer 0.9t8のものに合わせる
【2011/2/6更新分】
・録画開始と録画終了のログ取得をtvrock.log2からtvrock.logに変更
【2011/02/17更新分】
・予約や時間調整で曜日と28時間表示をそれぞれ設定可能にした
・録画時にディスクの空き容量が不足(初期設定では5%未満)していたらメッセージ追加
・140字を超える場合、168字までなら超過部分削除して、それより長ければ分割して投稿
【2011/3/1更新分】
・Twitterが重い等で投稿できない場合にリトライ(初期設定は3回)するようにした
・録画開始と録画終了以外の番組名に「"」がある場合でもツイートできるようにした
 (コマンドを変更したので同梱のcommand.txtを参照してください)
・140字を超える場合の処理を修正し、「,TvRock」以下の文字数を調べるようにした
・one more thing...
【2011/4/9更新分】
・投稿エラーの場合TvRockのログに異常終了コード(0xe1)を記録するようにした
・時間調整で開始と終了が何分変更されたか追加
・tweet.vbsで設定できる主な項目を1カ所にまとめた
・ハッシュタグ、放送局名周りの表記を調整(コマンドの%gも「"」で囲んでください)
・その他細かい修正
【2011/5/8更新分】
・引数の中に「"」があってもいいようにWMIで引数を取得するように変更した
 (CommandLineプロパティを使っているのでWindows 2000以前は非対応になりました)
 (コマンドの引数を全て「"」で囲んでください。予約と時間調整は引数の順番が変わりました)
・予約と時間調整でもジャンル別にツイートの可否ができるようにした
【2011/5/30更新分】
・ドロップ発生時に任意のメッセージを先頭か末尾に付加することもできるようにした
・予約・時間調整の曜日と28時間表示をtweet.vbs内で設定するようにし引数を統一
 (予約・時間調整の引数の日付部分が変更されたのでcommand.txtを参照してください)
・ツイートに「"」が含まれている場合に「"」が省かれてツイートされる不具合を修正
【2011/10/18更新分】
・ファイル名を使ってツイートしている場合、ファイル名で使えないため全角になった
 記号を半角に戻すようにした
・tweet.vbsの前半にある設定項目でTvRockのバージョンを指定すると、録画予約の際に
 バージョン取得のためにログファイルを読み込まなくてもいいようにした
【2011/12/19更新分】
・SCRenameと連携できるようにした
・140字を超える場合の処理を分割投稿ではなく番組名末尾を削るように仕様変更
・その他細かい修正
【2012/1/30更新分】
・録画終了後コマンドでSCRenameの代わりに置換した場合に漏れがあったので修正
・その他細かい修正
・SCRenameのバッチファイル等のサンプルを添付
【2013/6/9更新分】
※注意:TwitterAPI v1.1に対応したTweetConsole ver0.8.0以降を使用してください
・一部番組タイトルでツイート内容が崩れる不具合を修正
・ツイートできない場合にツイート内容をメール送信する外部スクリプトに対応
 (同梱していません。詳細は下記【2013/6/9 追記】を参照)

ですので、古いのを使っている場合はこちらを使うのをおすすめします。
今回の修正のために処理をログの中で予約タイトルが一致したものからもっとも可能性が高いタイトルのへと変更したので、もし不安だという場合はtweet.vbsの124行目付近にある行頭の「'」を削除してください。
ワンセグの表記に対応したのは書き忘れてたけどアップし直すのは面倒だしいいかw
DTV関係ツールにアップロードしようかと思ったけど、ニッチな用途だし初心者の書いたスクリプトをこういうところに載せるのはちょっと気が引けるので、http://www1.axfc.net/uploader/so/2929695.zip にアップロードしてみました。
詳しくはZIPファイル内のreadme.txtを読んでください(^_^;
今回からコマンドの引数の順番も変更しているのでそちらを参照してください。
各自変更する可能性のある行はSyntaxHighlighterを使ってtweet.vbsのソースコードをハイライト表示してあるので参考にしてください。


動作サンプル

このエントリーをはてなブックマークに追加    03:54:11 | デジタル  | Comment (6)List  | 

【2011/2/5 追記】
不具合をいくつか修正するため処理をかなり変更しました。
変更点が多いので新しく記事を書きました。
一応こちらには古い記事を残しておきます。


以前、TwitterのBASIC認証が廃止されOAuth認証になるということで、TvRock Ver 0.9u以降でのツイートという記事を書いたんですが、本人でさえ雑然とした内容で読むだけでうんざりしそうなのに、ネットで調べたら思ったよりも参考にされてるっぽい?
あの記事を書いた時点で調べた限りでは便利なソフトも出てなかったしそのまま使える方法が見つけられなかったので、取りあえず自分の知ってるコマンドプロンプトのバッチ処理と唯一知ってるPerlの正規表現を組み合わせたやり方を書いてみました。
まぁ、アイデアは出したのでこれで技術のある方がいい方法へと昇華させてくれないかなと期待してたんですが、技術のある人は独自で対応してるだけで公開されてる気配は一向にないし、連携ソフトは公開されてるけどツイート内容をいじれないからなぁ…。
それでも以前の方法で特に困らずツイートできてたから放置していたんですが、24時間稼働している録画専用パソコン(のつもりだったけど静音で快適なので日常のにも使ってるw)が最近数日起動しっぱなしで不安定になってしまうのでOSの再インストールをしようかなと思っていて、その時はなるべくインストールするソフトを少なくして長期間安定動作させたいから、ほとんど使ってない自鯖も止めてActivePerlもインストールしないつもりなので、そうした時にTvRockからのツイートに以前の方法でActivePerlを使ってるのが障害になってたから重い腰を上げてVBScriptを一から勉強しましたw
Perlも正規表現の置換も以前必要に迫られて勉強しただけでそれ以外は知らないし、VB関連とか他のも全くしらない状態から関連しているような所をざっと流し読みしただけで実質3日で仕上げたので、もっとスマートな方法があったり間違ってたりするかもしれませんが、そこは突っ込まれても修正できない恐れ大です(^-^;

このエントリーをはてなブックマークに追加    00:28:02 | デジタル  | Trackback (0)  | Comment (0)List  | 
Top | All Title | 
Base template by Sun&Moon.  
Copyright © 2005-2017 Feelings deep inside. All Rights Reserved. Powered by FC2 BLOG.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。