botを動かしてみるには、以下の手順を取ります。
設定ファイル(後述するTwBot#newの第2引数)の内容を示すハッシュです。@configの内容を書き換えた場合、プログラム終了時に設定ファイルの内容が@configの内容に置き換えられます(正常にプログラムが終了した場合に限る)。
@configには、以下の予約済みのキーが存在します。これらの値は、特に必要のない限り直接変更しないことをお勧めします。
この他、必要であれば@configに新たにキーを追加することで、それを一緒に設定ファイルに記録することが出来ます(例:rsspost-sample.rbの@config["already_gotten"])。ただしその際、キー名にスラッシュ(「/」)を含むものは使わないことをお勧めします(将来的に定義済みキーが追加される可能性があるため)。
"data/***"の形の文字列です(「***」は後述するTwBot#newの第4引数の値)。@config[@list]とすることで、現時点の発言内容のリストの内容を取得・変更することが出来ます。
この変数に、ログファイルに書き込みたいメッセージを代入します。なお、実行中に例外が発生した場合は無視されます(その例外の内容がメッセージとなります)。
そのbotが発言する内容を構築するためのメソッドです。発言する内容を文字列(あるいは配列)の配列として返さなければなりません。新たに追加する発言がない場合は、空の配列を返して下さい。配列の要素を文字列の代わりに配列にすると(これを以下「内側の配列」と呼びます)、内側の配列の先頭の要素を投稿する本文、次の要素を「in_reply_to_status_id」の値(返信先の発言ID)とみなします。
load_dataを直接呼び出す必要はありません。TwBot#new(TwBot#initialize)の内部で呼び出されます。
なおTwBot#load_data自体は、呼び出すと例外「NotImplementedError」が発生します。継承先のクラスで再定義して下さい。
botの発言取得・発言投稿の実際の処理を行うメソッドです。
現在のbotのfollowersの情報を格納したハッシュを返します。TwBot.retrieve_followers(@config['login/'], @config['password/'])
と同じです。
現在のbotのfriendをの情報格納したハッシュを返します。TwBot.retrieve_friends(@config['login/'], @config['password/'])
と同じです。
現在のbotにuserをフォローさせます。TwBot.make_following(@config['login/'], @config['password/'], user)
と同じです。
現在のbotにuserへのフォローを外させます。TwBot.make_unfollowing(@config['login/'], @config['password/'], user)
と同じです。
現在のbotがtargetをフォローしているか、およびtargetにフォローされているかを調べます。TwBot.check_following(@config['login/'], @config['password/'], target)
と同じです。
"str"に含まれるすべてのreply("@USERNAME"の形の文字列)を "@ USERNAME" の形(スペースを挟む)に変換します。これは過剰にreplyを行うことを避けるのに用います。
このメソッドにはブロックを与えることもでき、その場合はブロックに「@」を除いたユーザ名が与えられ、それが真を返した場合のみ変換を行います。
Ver0.15より、全角の「@」についても半角の「@」と同様に処理を行います。(Twitterの仕様変更への対応)
# 例 puts TwBot.remove_reply("@user1 @user2 Hello!") # この場合は "@ user1 @ user2 Hello!" が出力されます。 puts TwBot.remove_reply("@user1 @user2 Hello!"){ |u| u =~ /1/ } # この場合は "@ user1 @user2 Hello!" が出力されます。"user1"がブロック内の # 条件を満たしているのに対し、"user2"は満たしてないからです。
ユーザloginのfollowerをすべて返します。passには、ユーザloginのパスワードを指定します。また取得中に、API呼び出しにretry_count回失敗した場合は、その時点で終了します。
返り値は以下の形のハッシュです。
{:result => ["user1", "user2", ...], :error => [exception1, exception2, ...]}
ここで、:result
にはユーザ名の配列が、:error
には取得中に発生した例外の配列が格納されます。ただしAPI呼び出しにretry_count回失敗した場合は、:result
にはnil
がセットされます。
ユーザloginのfriendをすべて返します。引数および返り値の形式は上記TwBot.retrieve_followers
と同じです。
ユーザloginが、ユーザuserをフォローしている状態にします。passには、ユーザloginのパスワードを指定します。
フォローするのに失敗した場合(loginがuserをすでにフォローしている場合を含む)は、例外を返します。例外の種類は以下の通りです。
ユーザloginが、ユーザuserをフォローしていない状態にします。passには、ユーザloginのパスワードを指定します。
フォローを外すのに失敗した場合(loginがuserをフォローしていない場合を含む)は、例外を返します。発生する例外はTwBot.make_following
の場合と同様です。
ユーザloginが、ユーザtargetをフォローしているか、およびその逆を返します。passには、ユーザloginのパスワードを指定します。
返り値は{:following => boolean1, :followed => boolean2}
の形のハッシュです(boolean1
, boolean2
はいずれもtrue
またはfalse
)。boolean1
はloginがtargetをフォローしているか、boolean2
はtargetがloginをフォローしているかです。
HHiro.netのコンテンツは、別途記載があるものを除き、Creative Commons 表示-非営利-改変禁止 2.1 日本の条件のもとでご利用頂けます。