seri::diary

日常

とりあえずtwitter bot作った

2020年5月20日追記

このエントリは2010年当時のもので内容がかなり古いです.このbotも当然ながら生きていません.
あと実際に運用してみたら,思ったよりもヒットするtweetが多くてハタ迷惑なbotになってしまったので当該のキーワードに反応してリプライする機能はすぐ止めた記憶があります...





特定のキーワードに反応してリプライするtwitter botを作ってみた。

『Enochbot』
https://twitter.com/#!/Enochbot

詳細は後でまとめるとして最低限の説明を。

1. bot概要

フォローしているユーザのツィートを定期的に取得し、
『大丈夫』『不安』『心配』というキーワードが含まれていたら
ランダムで選ばれた定型文をリプライする。

2. 作成の目的

  1. twitterAPIの勉強
  2. phpによるREST型API使用の練習
  3. phpにおけるhttpリクエストの取り扱いの練習

3. bot機能概要

  1. TimeLine自動取得機能
  2. 自動リプライ機能
  3. 自動フォロー・リムーブ機能
  4. 実行結果ログ出力機能

4.大体の処理フロー

  1. cronで2分毎に起動
  2. Botで使用するtwitterアカウント(@Enochbot)のTimeLineの最新差分を1件ずつ取得
  3. 取得したTimeLineのつぶやきの中から特定ワードを含むツイートにリプライする
  4. 取得したTimeLineのつぶやき分だけ2〜3を繰り返す


ホントは今後の機能拡張性を考えて、共通機能を部品化しようと思ったんだけど
考え出すとキリがないのと、とりあえずやってみた方が勉強になるだろうと思い
とりあえず完成版として上記機能だけを一つのファイルにベタ書きした持ったbotをリリースした。

なお、使用させて頂いたライブラリ、資料は以下の通り

  • 毎度おなじみAbraham Williams氏作成のtwitteroauthライブラリ*1

https://github.com/abraham/twitteroauth

  • いつもお世話になっているトメさんの資料、上記ライブラリのbot用拡張ライブラリ*2

http://www.sdn-project.net/labo/oauth.html

今回のbotを作るに当たって上記ライブラリの中身もちょいちょいいじらせて頂いた。


特記すべき事項があればソース乗っけてそのうちまた記事を書く予定。

*1:2020年5月20日現在: 現在もGitHubにあるが動くかどうかは不明

*2:2020年5月20日追記: 現在はリンク切れしている