Hatena::Grouptwitterircgateway

てきとうにごにょごにょ

 | 

2009-04-15タイムラインをMySqlのデータベースに保存して検索したりとかする このエントリーを含むブックマーク

アドイン。

それなりに動いてるぽいので公開。


ダウンロード

http://mashiro.org/devel/tig/dblogger


導入手順

  1. Spica.Applications.TwitterIrcGateway.AddIns.DBLogger.dllの新しそうなのをとってきてAddInsにいれる。
  2. MySql.Data.dllをTwitterIrcGatewayCore.dllなんかが置いてあるディレクトリにコピー。

使い方

  1. #ConsoleでDBLoggerコンテキストに移動する。
  2. Show, Setを使ってServer, Database, Username, Passwordあたりを自分のMySqlデータベースの設定に書き換える。
  3. Connectを実行してデータベースに接続する。接続にできなかったら設定が間違ってないか確認したりしてください。
  4. CreateDBLoggerTableを実行してこのアドインが使用するテーブルを作成します。設定のTableNameを変更するとその名前が使用されます。
  5. あとは適当によきにはからってください。

パラメータ

TableName

DBLoggerが使用するテーブルの名称。

各クエリの対象テーブルがこの名称に置き換わる。

(デフォルト: twitter_ + ユーザ名)

DateTimeFormat

Select系のコマンドで表示されるステータスの時刻形式。

(デフォルト: HH:mm)

SelectCount

Select系のコマンドで取ってこれる最大数。

MySqlのLIMITで使用されます。

(デフォルト: 10)

ConnectOnStartUp

TIGが起動したときに自動でデータベースに接続するか。

(デフォルト: false)

EnableLogging

DBLoggerがログをデータベースに保存するか。

(デフォルト: false)


上記以外の設定は接続文字列で使われます。

からっぽならデフォルトの値が使われるのであんまり設定することはないかなと。

詳しいことはこのあたりを参照してください。

http://dev.mysql.com/doc/refman/5.1/ja/connector-net-examples-mysqlconnection.html#connector-net-examples-mysqlconnection-connectionstring


テーブル

status_id

ステータスID。一意性のチェックとかで使ってます。

created_at

投稿時刻。時間です。

screen_name

スクリーン名。ユーザIDです。

text

テキスト。Twitterでポストした内容です。


もっといろいろ盛り込もうかと思ったけどログとしてこれだけあればいいかなーということで最小限。

管理とかめんどくさいですし。


コマンド

だいたいはhelpで出ててくるのそのまんまだけどわかりにくいのを抜粋。

ExecuteScalar

単一の値を返すSQLを実行して結果を返します。

select count(*) from twitter_statusとかそのあたりが実行できます。

ExecuteNonQuery

テーブルの内容に対して変更が及ぶようなのを実行します。

truncate table twitter_statusとかもやればできちゃうので気をつけましょう。

Select

where句の部分だけ指定して検索します。

Select screen_name = "YurineMashiro" and text like "%ねむい%" など。

SelectByScreenName

ユーザ名を指定して検索します。

標準のTimelineコマンドみたいな挙動で複数指定可能です。

SelectByScreenName karia kisaragisara など。

SelectByText

テキストからLIKEで検索します。

SelectByText はうはう など。


SelectByほげほげとか長ったらしいので適当にAlias設定すると幸せになれるかもしれません。


それと

名前空間でMisuzilla下のまゆきち先生のとこ使っちゃってたんだけどやっぱりまずかったみたいなので変更しました。

このアドイン使えれば必要ないだろうけど、Grepのほうもビルドしなおしたので一応。

http://mashiro.org/devel/tig/grep


追記

デフォルトのテーブル名を"twitter_" + ユーザIDに。

ほかにもいろいろ微妙に修正。

テーブル作成する前にEnableLogging, ConnectOnStartUpをTrueにすると大変なことになるかもしれないので注意しましょう。

 |