記事一覧

Twitter上ゴースト感想まとめサイト

噂と評判TW(仮)tukatter

(仮)としているのはどうもネタっぽいので今後変更が予想されるためです。
tukatterに名称が変更された様子です。はてなハイクの投稿も合成している模様。(09/04/12 追記)

プラグイン「きょうの伺か」で投稿されたゴーストの感想をtwitter検索を利用して収集したまとめサイトのようです。

twitter検索を利用しているので検索すれば発言者なども勿論わかりますが、匿名掲示板風のレイアウトであまりそのことを意識させない造りになっています。

また、他の人のコメントに対するコメント、いわゆる「レス」に該当するのものが見受けられないのも特徴的に感じますが、純粋なゴーストに関する感想のみ拾ってきて並べて表示しているだけなので当然と言えば当然ですね。

ゴーストの特徴をよくとらえた感想が多いようです。
実際にゴーストを起動してそのゴーストのバルーンを拝借して投稿している訳ですから、思い入れのある投稿がたくさん見受けられます。

現在twitter検索はTwitterの規制強化によりpostの回収率が10%程度まで落ち込んでいるようです。
別の方法により回収率を向上させる試みが行われているようですので、今後に期待していきたいと思います。

プラグイン「きょうの伺か」の利用にはTwitterアカウントが必要になりますが、はてなアカウントをお持ちの方であればはてなハイクの方にも投稿することができますので、どうぞご利用ください。

プラグインがインストール済みかどうか調べる

名前とIDどちらでも検索可能な関数を里々、YAYA、華和梨で書いてみます。
(YAYAはそういった関数がテンプレートに用意されています)
戻り値はBOOL値です。

里々

# [b1]プラグイン名(1)[b1]プラグインID(1)[b1]プラグイン名(2)[b1]...[b1]プラグインID(n)[b1]というリストができます。
@installedplugin
(set,プラグインリスト,)(loop,プラグインリスト作成,0,(Rの数))
@プラグインリスト作成
(set,プラグインリスト,(call,プラグインリスト)(バイト値,1)(R(プラグインリスト作成カウンタ)))
@IsPluginExist
(count,(call,プラグインリスト),(バイト値,1)(A0)(バイト値,1))

#--■使い方■--#
*ラベル
(call,IsPluginExist,PlaylistMaker)#=> 0 or 1

YAYA

// 「はろーYAYAわーるど」yaya_tmpl_util.txtに記述済み
On_installedplugin : void
{
  _n = ARRAYSIZE(reference)
  AYATEMPLATE.installedplugin_name = IARRAY
  AYATEMPLATE.installedplugin_id = IARRAY

  for _i = 0 ; _i < _n ; _i++ {
    _a = RE_SPLIT(reference[_i],'[,\x1]')

    AYATEMPLATE.installedplugin_name ,= _a[0]
    AYATEMPLATE.installedplugin_id ,= _a[1]
  }
}

AYATEMPLATE.IsPluginExist
{
  if _argc == 0 {
    0
    return
  }

  if ASEARCH(_argv[0],AYATEMPLATE.installedplugin_id) >= 0 {
    1
    return
  }
  if ASEARCH(_argv[0],AYATEMPLATE.installedplugin_name) >= 0 {
    1
    return
  }
  0
}

//--■使い方■--//
foo
{
  AYATEMPLATE.IsPluginExist('PlaylistMaker')// => 0 or 1
}

華和梨

# ミドルウェアによって接頭辞の書き方などは異なる
resource.installedplugin : $(
  clear System.InstalledPlugin.Name;
  clear System.InstalledPlugin.ID;
  setstr @i 0;
  while $[ ${System.Request.Reference${@i}} != $(NULL) ] $(
    clear @a;
    split @a ${System.Request.Reference${@i}} $(chr 1);
    adddictstr System.InstalledPlugin.Name $@a[0];
    adddictstr System.InstalledPlugin.ID $@a[1];
    inc @i;
  );
)

=kis
function IsPluginExist $(
  if $[$[$(find System.InstalledPlugin.Name $@arg[1]) >= 0] || $[$(find System.InstalledPlugin.ID $@arg[1]) >= 0]] $(
    return 1;
  ) else $(
    return 0;
  );
);
=end

#--■使い方■--#
エントリ : $(IsPluginExist PlaylistMaker)#=> 0 or 1

SakuraScriptでインストールを実行する

LRさんのところでも以前触れられていた仕様のおさらいです。
GHOST自身が作成したghostやballoonをインストールすることもできます。
他のお勧めのGHOSTを紹介したい、でもいいですし、スタンプ帳などのPLUGINにせっかく対応したのでそれをインストールしたい場合などが考えられます。

仕様

\![execute,install,path,C:playlistmaker.nar]

ローカルでファイルへのpathを指定するとインストールを実行します。
相対パスの場合はSSP本体の実行ファイル基準だと思うのですが、私の環境では実行するとインストールに失敗してしまいました。絶対パスの方が確実そうです。

\![execute,install,url,http://home.384.jp/evidence/ghost/playlistmaker.nar,nar]
\![execute,install,url,http://home.384.jp/evidence/cgi-bin/wdp_diary.cgi?mode=rss,feed]

URLを指定するとアーカイブをDLしてインストールを実行します。
RSSの場合は自動でdescript.txtを作成してRSSセンサのインストールを実行します。
(最後の引数nar/feedは省略可)

「nar/zipアーカイブ」「RSSセンサ」をURL指定でインストールする場合の許可範囲

nar/zip
  • 自作のnar
  • 他の作者さんのnarでローカルから直にインストールの許可が明示されているもの

これなら大丈夫でしょう。
此処のサイトで配布しているnarファイルはご自由に直でインストールしてください。

上記に該当しない場合は

  1. 作者さんに直接許可をもらう
  2. ゴースト著作権意識についての質問「11.ゴーストアーカイブへの直リンク」が許可されているものをローカルから直接ダウンロードも許可されているものと解釈する
  3. 何かゴーストマネージャを使用してローカルから直接ダウンロードが可能な状態にあるnarファイルは作者さんがそれを容認・黙認しているものと解釈する

などが考えられるでしょうか。上に行くほど確実そうですね。

(此処のサイトで「11.ゴーストアーカイブへの直リンク」が不可になっていて矛盾を感じたので可に変更しました。09/04/06)

RSSセンサ

RSSを配信しているサイトでRSSセンサのインストールを容認しない人はいないでしょう…。

余談

PerlのCPANやPHPのPEARはサイトを訪れることなくコマンドラインから直接モジュールをインストールできて便利ですね。伺かでは何かゴーストマネージャがこれにあたるのでしょうか。
PLUGINとか公開している身としてはそういうのも直接ダウンロードできるようになれば便利かなと思います。
上記で紹介している通り、GHOSTでクライアントを作ろうと思えば作れますが、Webにそういうデータベースサービスが今のところ無いですね。

拍手レス(04/08)

>ローカルのアーカイブと直リンクはかなり違う気がしますが…
(一部引用させて頂きました)

ですよね。
私も直接作者さんに許可を得た方が良いと思います。
予めインストールする際のあり方について明示されていれば理想ですが、配布物そのものについての扱いについてはよく言及されるものの、配布物の入手の仕方についてまで言及されているものはなかなか見かけませんので、多くの場合は直接連絡する以外に方法がなさそうです。

そういった意味でも、アーカイブ登録制のデータベースサイトなどがあればGHOSTがもっと自由に他のGHOSTやモジュールと組み合わせて様々なことが可能になるのではないか、と空想したりしております。

はてなスターに色が付いた

色付きのはてなスターが登場したらしいですね。
なのでドウメキの追加シェルに「当たり」を付けてみました。
シェルのエクスプローラからネットワーク更新もできます。

スタンプがもらえる箇所に仕込んでいます。
それだけ。

PHPでTwitterBotを作ってみた・続

PHPの統合開発環境としてeclipseプラグインであるPDTとZendDebuggerをインストール。
デバッグ機能も大変充実していて普通のテキストエディタで書いていた時に比べ開発効率も飛躍的に向上しました。
素人の自分には勿体ない程です。

せっかくなのでオブジェクト指向プログラミングに挑戦しようと思い、 @mesoramen に実装している以下の機能をモジュール化して @denpadokei にも実装しようと考えました。

  • 投稿
  • reply取得・返信
  • 自動follow/remove返し

replyは最新のものに対してのみ。
自動follow/remove返しは日付変更時の1日1回チェックという仕様で。

Twitter用モジュールなど検索すれば高機能なものがたくさん入手できますが、APIの仕様は知っていますし必要最小限の構成で自分でメンテできる規模のものを練習として作ることが目的です。小さな車輪の再発明。

denpadokeiと共有する部分だけtwuka.phpに分離してクラスにしてみました。
入門サイト見ながら書いてみましたがこんな感じでいいんですかね…?
あまり自信無いですが動いてるので良いことにしましょう。

メインの部分に無駄にデータベース使ったりして汎用性が無いですが外部ファイルに読み書きできれば充分だと思います。
気が向いたらこれからもちょくちょく機能追加していきたいです。
あとPerlも面白そう。

PLUGIN「きょうの伺か」を改変してみた

PLUGIN「きょうの伺か」をTwitterはてなハイクの両方にクロスポストできるように改変しました。
「きょうの伺か」のライセンスに従ってタイトル・ID・フォルダ名を変更し、改変者名義で再配布させて頂きます。

オリジナルの「きょうの伺か」はコピーレフトではないものと判断し、改変した「きょうの伺か+」のyaya.dllを除くテキストファイル、辞書ファイルの類のライセンスはNYSDLを適用するものとします。

PLUGINではてなハイクClientを作ってみた

APIがTwitterと互換性があるので「ついっとゅう」を少し改造するだけでできました。

ハイク独自の機能などは対応していないのでしょぼいです。

GHOSTからはてなハイクに投稿する

Twitterと一緒ですね。URLを変えれば使いまわせそうです。
というわけで、「びーふれんず」のアカウントを作りました。

ダイアリーにも投稿しようかと思いましたが同じ内容を3ヵ所も投稿する必要もないのでやめました。
何か面白い使い方を思い付くまで保留です。

PHPではてなダイアリーに投稿する

探してみました。

Request.phpっていうモジュールを使ってるのでそれを手に入れるためにpearっていうのをインストールしないといけない。
そもそもローカルでPHPをインストールしていないと入手できない。

pearをインストールしたらコマンドラインでpear install HTTP_Requestとか打つとHTTP/Request.phpがインストールできました(@lre 氏に感謝)。
PEARフォルダの中の「HTTP」「NET」フォルダおよび「PEAR.php」と一緒にテノニッキさんのところのソースファイルをサーバにアップロード。
無事に動きました。

GHOSTからPHPを経由してはてダに投稿することもできます。
ただ、上記の通りTwitterほど簡単ではなさそう。

ちなみに本家の方にはPerlとRubyのサンプルが載っているようです。

ChromeでGreasemonkeyを動かす

音速遅いですがChromiumでGreasemonkeyを動かす時の仕様って変わっちゃってたんですね。
今日気が付きました。

Google Chrome 2.0 Pre-BetaもGreasemonkeyをサポートしているようです。
書いてあるまんまですが、導入の仕方などを日本語でまとめてみます。

Google Chrome 2.0 Pre-BetaまたはChromium最新版を入手する

Google Chromeが既にインストール済みなら、

  1. Early Access Release Channelsに行って下の方の"Subscribing to a Channel"って書いてある所でchromechannel-2.0.exeを入手、実行。
  2. "Dev: The latest features and bugfixes"を選択してUpdate。
  3. Chromeを起動して右上の設定からGoogle Chromeについて→今すぐアップデート。

開発版のChromiumを使うなら、

  1. 最新版のmini_installer.exeを入手してきてダブルクリック。

Greasemonkeyの設定

ショートカットを作成して右クリック→プロパティ→"...\chrome.exe"の右に半角スペースをはさんで--enable-user-scriptsを入れる。
ファイル 19-1.png

User Scriptを入れておくディレクトリはここを参照。

これでGreasemonkeyが使えるようになります。

Chromeで動くUser Script

os0xさんの書いたScriptがとても便利。

おまけ

マウスジェスチャー