kisei_search

0.1b1 (2012-07-14)

ユーザーストリームでタイムラインを監視して、リプライを検出し、応答するbot基本メソッド
登録メソッド
規制解除時刻の計算メソッド
ログをkisei_search.logに取るメソッド
これらを搭載。

0.1b2 (2012-07-14)

on start upを追加。
起動時にアップデートが通常の再起動かを確認して、メッセージを変更する。
コンソール表示を追加。

0.1b3 (2012-07-15)

管理者からメッセージを取得して代理でつぶやく機能を追加。
フォロー解除メソッドの追加。
起動時のアップデートか通常の再起動かを確認するときのバグを修正。みょん(@myuon_myon)さんThanks!

0.1b4 (2012-07-15)

アドミン用レスポンスメソッドを追加。
セクション方式の規制解除時間の計算メソッドをアドミンコマンドとして追加。
アドミンコマンド実行時は通常コマンドを実行しないように修正。
エラーをログに取るコードにあったバグを修正。

0.1b5 (2012-07-16)

セクション方式のアルゴリズムを修正。
アルゴリズムの変更点は、1セクションを3時間とし、セクションのはじめのツイートを解除点として、セクションの開始位置を設定する。それぞれのセクションの開始位置を計算して、最新の解除点に3時間加算した時刻を規制解除時刻とする。

0.2b1 (2012-07-16)

セクション方式のアルゴリズムをアドミンコマンドから通常コマンドへ変更。
引数のユーザー名の前に@が入っているときは戻り値にも@を含ませるように修正。

0.2b2 (2012-07-16)

登録されてない人でもコマンドが使えてしまっていたバグを修正。
follow,unfollow,parse errorなどのコンソール表示を追加。
follow,unfollow,unfollow forciblyのログを記録するように追加。

0.2b3 (2012-07-16)

「いつ」でセクション方式の測定メソッドを呼び出すように変更。
「いつz」で暫定基準方式の測定メソッドを呼び出すように変更。
セクション方式のアルゴリズムで取得するツイート数の上限を200ツイートから3200に変更。
アルゴリズムの変更点はtwitter apiのoptionでpageを利用して上限を引き上げられるように変更。

0.2b4 (2012-07-17)

解除点が最新のツイートになった時に解除時間がマイナスになるバグを修正。
アルゴリズムの変更点はunlocknumが0で最新のツイートを示すとき3時間加算するループに入らないため、0の時の条件分岐を追加しバグを修正。

0.2b5 (2012-07-17)

セクションあたりのポスト数を規制されていない場合には通知する機能を追加。
アルゴリズムの変更点は最新のツイートのオブジェクトを取得して位置を特定し、送られてきたリプの分の1を加算して127以下の場合かつ、ターゲットが本人ではない時に通知内容にセクション内のツイート数を追加するように変更。
解除点が最新のツイートでかつ、最新のツイートが現在時刻より3時間以上前の場合に、規制解除時刻を求めてマイナスになるバグを修正。
アルゴリズムの変更点はセクション内のツイート数が0の時、現在時刻と比較して3時間以上前なのかを調べる条件分岐を追加しバグを修正。
すこしリプの日本語を変更。

0.3b1 (2012-08-09)

ツイート取得時にユーザーデータを更新するメソッドを追加。
メソッドではユーザーのセクション内のポスト数と前回の解除点の時刻を記録する処理、セクション内のツイート数が115の時に通知する処理を実装。
リプライの応答メソッドもユーザーデータから取得するように変更。
新アルゴリズムの規制解除時刻割り出しメソッドもリプライ専用のデータ処理を行なっていたものを一般化し引数と戻り値を変更。
idにリプライを送るメソッドを追加。
その他ユーザーデータの取得メソッド追加による細かな変更。

0.3b2 (2012-09-04)

レスポンス取得メソッドから、フォロー、アンフォロー、リセット、規制解除時刻取得、を分離しそれぞれを個別のメソッドに変更。
ユーザーの追加、削除メソッドをさらに分離し、ユーザー管理メソッドとして追加。
ユーザー管理用にフォローリストを定義。
ユーザー管理のデーターチェックメソッドからイニシャライズメソッドを分離。
アドミンコマンドメソッドをメインスレッドから分離。
スレッドごとの例外処理からエラー処理メソッドを分離。
ユーザーストリーム接続時にフォローリストを更新しるよう変更。
レスポンス取得メソッドの検索方法を変更し高速化。
ユーザーの確認にユーザーリストを呼び出し確認することでリプライを高速化。
規制解除測定アルゴリズムにおける多数のバグを修正。
リプライコメントをよりわかりやすく変更。
エラー時にリプライを送るように追加。

0.3b3 (2012-09-17)

規制解除測定アルゴリズムにおけるバグを修正。
プログラムクラッシュ時にFATALログを取るように追加。
ログのフォーマットを変更。

0.3b4 (2012-10-07)

TwitterAPI1.1に対応。

0.4a1 (2012-10-26)

ユーザーデータの管理をuser idをベースに変更。
規制解除時刻の割り出し時にセクションが未開始の時、本人のツイートの場合はその本人自身リプライのデータを利用して再計算し直すように修正。
リプライの内容を一部修正。
きせーさーち自身の規制垢の追加のために複数アカウントそれぞれの互換性を持たせるために修正。
規制垢設定メソッドを追加。
規制垢選択解除・強制解除メソッドを追加。
規制垢全解除メソッドを追加。
文字列からのアカウント種類認識用インタプリタメソッドを追加。
規制解除時刻取得メソッドにリプライのターゲットユーザーを解析時にアカウント種類認識用インタプリタメソッドを呼び、その結果を優先して利用するように追加。
暫定基準規制解除時刻割り出しアルゴリズムの開発を凍結。
エラー用の文章を追加。
ユーザーデータをkisei_search_usr.jsonに保存、読み込みを行うメソッドを追加。
ユーザーデータのバックアップをbackup/usrに保存するメソッド、そして5分毎に実行するシークエンサーメソッドを追加(また3時間前のデータを自動で削除)。
きせーさーちの取得ツイート数、ポスト数を記録したログデータをkisei_search_log.jsonに保存、読み込みを行うメソッドを追加。
ログデータを棒グラフにして出力するメソッドを追加。
ログのグラフを投稿する管理者コマンドを追加。
tweettoメソッドの引数にメディアのパス指定を追加(nilの場合は通常投稿)。
スタートアップ時にtweettoメソッドを呼び出す時、API規制などのエラーが出た場合に終了してまうため例外処理を追加。
フォロー解除メソッドでユーザーデータを解析し紐付けのあるアカウントのデータを削除し、他のアカウントの設定に影響する場合に通知を行うように修正。
checkuserメソッドでユーザーの紐付けされたアカウントの規制解除時刻を確認し、そのツイートの時刻が規制解除時刻から30分以内である場合かつ、まだ解除通知を行なっていない場合に解除通知をするように追加。

0.4a2 (2012-12-22)

解除通知のハッシュに別に生成したハッシュを代入していたためキーが2つ以上格納されず、規制垢が複数登録されているアカウントにおいて複数の解除通知済みのデータが入っていないために連続で通知を行なってしまうバグを修正(_sister問題)。
API規制のエラー通知を修正。
起動時にロードするjsonファイルが存在しない場合には空のjsonファイルを生成するように修正。
解除通知を行う際に今の時刻とセクション解除の時刻を比較する計算に誤りがあったため修正。
ロード時にログファイルから前回起動したバージョンを検出する正規表現に誤りがあったため修正。

0.5a1 ()

一部構造化のように書かれていたメソッドを修正するためにすべて再定義。
ユーザーストリームを実行するメインスレッド、アカウント操作を主に行うAccountHandlerクラスを定義。
取得したツイートからコントロール用のオブジェクトを生成するTweetクラスを定義。
規制解除時刻を計算するメソッド群を持つRegulationModuleモジュールを定義。
システム操作、初期化に用いるメソッドを持つAppBaseモジュールを定義。
アカウントタイプを解析するインタプリタメソッドを持つAccountTypeInterpreterモジュールを定義。
ユーザーデータをTweetのインスタンスから ハッシュとして保持し操作を行うクラスメソッドを持つUserDetaクラスを定義。
ログをファイルとして保存するlogメソッドをトップレベルメソッドとして定義。

0.4b1 (2013-01-05)

tweettoメソッドにおいて、規制された時に規制用アカウントとして @kisei_search2 に切り替える機能を追加。

0.4b2 (2013-01-06)

twitter gem 4.4.0を使用するように宣言を追加。
getUnlockPointNewメソッドで規制垢のAPIを利用していたために鍵垢での利用ががきなくなっていたため、すべて本垢のAPIを利用するように修正。
きせーさーちの詳細のURLを http://pnlybubbles.github.com/ruby/2012-01-18/kisei-search/ に変更。

0.4b3 (2013-01-20)

W規制垢として @kisei_search3 に対応。

0.4b4 (2013-01-28)

ユーザーデータとログデータの保存を10ツイート取得ごとに変更。
プログラムクラッシュ時にユーザーデータとログデータの保存を行うように追加。

0.4b5 (2013-01-30)

friendsが5000までしか取得できず、一部のユーザーが未登録と判定されていたバグを修正。
twitter gemのバージョン指定を削除。
Fatal時のユーザーデータを保存を削除。

0.4b6 (2013-02-01)

登録済みの設定された規制垢を対象にしてリセットを行える機能を追加。

0.4b7 (2013-02-02)

DEBUG_定数をデバッグ時と通常実行時の切り替えを容易に変更できるように追加。
アカウントのoauth_tokenを配列に格納するように変更。
アカウントのコンシュマーキー、アクセストークンキーを格納した配列のインデックスを変更。
起動時にそれぞれのアカウントでfriendsを取得し配列を作成するメソッドを定義。
起動時に起動情報をツイートし、ログファイルに書き込むメソッドを定義。
tweettoメソッドをoauth_tokenの配列化に伴い変更し、また利用可能なアカウントのみポストを行うように変更。
getUnlockPointNewメソッド内のデバッグ用の変数を削除。
120ポスト目ではなく121ポスト目に通知するようになっていたのを修正。
get_resメソッドの引数にDM判別の変数を追加し、DM時senderキーをuserキーとして取得したハッシュに追加するように追加。
get_resメソッドでリプライにメディアを指定可能にするように変更。
add_userメソッドの引数に追加先アカウントの変数を追加。
対象のリセットを行う再に誤差が出ていたバグを修正。
アカウントの登録状況、規制垢の設定状況を画像として生成するgetaccountstatusメソッドを定義。
アカウントの登録状況を調べテキストとして返すgetaccountstatusminiメソッドを定義。
フォローされているアカウントを調べフォローバックを行うrefollow_checkメソッドを定義。
規制垢の設定状況をしらばテキストとして返すget_reguraltion_conditionメソッドを定義。(スペルミスではない。次修正。)
管理者コマンドを簡易的なものを追加、修正。
エラー取得メソッドがエラーで落ちるバグを修正。
強制的に対象のユーザーを登録するメソッドadduserforciblyメソッドを定義。
対象のユーザーデータを取得し、画像として書きだすgetuserdetaメソッドを定義。
すべてのユーザーデータを取得し、画像として書きだすメソッドgetalluserdetaメソッドを定義。
ログファイルから指定した行数tail -nで取得し、画像として書きだすgetlogtailメソッドを定義。
ログデータからグラフを生成するメソッドのフォントのパスを絶対パスを取得し、それを用いるように修正。
テキストを画像に変換するメソッドtext_to_pngメソッドを定義。
管理者のリストを配列に変更。
UserStreamからeventを取得しコンソール表示するように追加。
UserStreamからDMを取得しコンソール表示するように追加し、DMを取得したときget_resメソッドを呼ぶように追加。
UserStreamの例外処理のエラー投稿のargument errorを修正。
tweettoメソッドに引数forciblyを追加し、trueの時には強制的にポストするように追加。
規制時に登録を来た時に、使用不可であっても強制的にリプライを送るように修正。
規制時にポストする時、前回の規制されているかのチェックから5分以内である場合にはチェックを行わずに次のアカウントに切り替えるように追加。
tweettoメソッドに140文字を超える場合はメッセージを分割するように追加。
unlinksubaccountメソッドでリプライ先のデータを先に削除してしまい、@{}になってしまうバグを修正。
ファイル保存のインターバルを50回に変更。
tweettoメッソドにおいて初期起動時に規制垢が規制されていると認識してしまうバグを修正。
backupusrにおいて5分毎にユーザーデータのバックアップを生成するとき、ディレクトリ内のファイルが144を超えていた場合は最新の144項目以外を削除するように修正。
登録状況詳細を調べるgetaccountstatusにおいて、一部の分岐で変数のタイプミスのためエラーが出ていたバグを修正。
rmusrメソッドにおいて、ユーザーの登録を解除してから解除完了の通知のリプライを行なっていたため、ユーザーが登録されていないと誤認識しリプライが遅れていなかったバグをforcibly引数をtureにして修正。
tweettoメソッドにおいて引数wholeの値がtrueの場合にuを生成せず、ユーザーのidを取得できないために登録状況を調べる際にエラーが出てしまう可能性があったため、状況を出力しjsonデータがnilの場合のみuを生成しないように修正。
管理者コマンドにevalコマンドを追加。
SILENT定数を定義し、trueの場合は再起動時の通知をしないように追加。
隠しギミックを追加(3つ)。
管理者コマンドにCPU使用率を返すコマンドを追加。
admin_cmdメソッドをスレッド化。

0.4b8 (2013/03/05)

TwitterAPI1.1に対応されていなかった部分を修正。



blog comments powered by Disqus

Published

02 February 2013

Tags