pha::home

プログラミングができなくても作れるTwitter botの作り方

PHPで作ったTwitter Botスクリプト「EasyBotter」を公開しています。

作成:@pha

+


スポンサード リンク

プログラミングができなくても作れるTwitter Botの作り方とは

Twitterのおかげで、それまではごく一部の人しか知らなかったbotというものが、だいぶん身近で親しみやすいものになったと思うんだけど、 こうなったらもっと気軽に誰でもbotを作れるようになったら楽しいんじゃないかと思った。プログラミングができない人でも一人一botくらい持つ勢いで。 ということでこのスクリプトを配布してみることにしました。(ブログにまとまった文章も書いたのでよかったら読んでみてください→プログラミングができない人もみんなTwitter Botを作ったらいいよ)。


御意見、御質問や障害報告などはここのTwitter Bot 掲示板にお願いします。できるだけみなさんの意見を反映させながら作っていきたいと思います。また、botが無事動きました報告も開発の励みになるのでお待ちしています。

更新履歴(細かい記述など)

  • 2010年2月28日 いくつかミスを修正したEasyBotter2.04betaをアップロードしました
  • 2010年2月11日 EasyBotter2.03betaのいくつかミスを修正しました
  • 2010年2月9日 OAuth認証について記述を追加しました
  • 2010年2月8日 EasyBotterバージョン2.0betaを公開
  • 2010年1月6日 コンテンツが多くなってきたので見やすくするためレイアウトを変えました/li>
  • 2009年11月16日 よくあるエラーについてに「ログの内容が改行なしで全部出てしまう」場合の対処法を追加
  • 2009年11月14日 Google App Engineでcronを使う方法について追加

ダウンロード

バージョン2.04betaをダウンロードする(最新版)


バージョン1.42をダウンロードする(安定版)


更新履歴(プログラムのバージョンアップなど)

※(ver2.0以降)前のバージョンから更新する場合は、特に指定がなければEasyBotter.phpだけを更新してください。 ※(ver1.42以前)前のバージョンから更新する場合は、発言データを収納しているtw.txtとreply_pattern.php以外のファイルを全て更新してください。

2010年2月28日 バージョン2.04beta 細かいミスを修正

変更点

  • リプライパターンに正規表現を使った場合にうまく動かなかったエラーを修正
  • タイムラインに反応する機能で、他人宛の@が入ってる発言には反応しないようにした

2010年2月11日 バージョン2.03beta 細かいミスを修正

2010年2月10日 バージョン2.02beta 細かいミスを修正

2010年2月9日 バージョン2.01beta 細かいミスを修正

2010年2月8日 バージョン2.0beta

変更点

  • OAuth認証に対応した
  • タイムラインの特定の言葉に反応する機能を追加
  • 自動フォロー返し機能を追加
  • 特定の時間帯や特定の日付だけ別の会話ファイルを読み込ませるのが設定しやすくなった
  • 正規表現によるパターン反応でできることが増えた
  • 前は動いてなかったbot同士の会話ループ制限機能をちゃんと作った(多分。。。)
  • PHP5が動いているサーバーが必要になった(PHP4の人すみません。。。)

2009年11月23日 バージョン1.42に修正

変更点

  • タイムラインからid、名前を取得する際に自分の名前を取らないようにしました
  • リプライを認識しないバグを修正しました。リプライ周りが1.41でうまく動かなかった方は1.42をお試しください。
  • 若干動作が軽くなりました
  • 現在bot同士の無限ループの制御がうまくいっていません。しばらくお待ちください

バージョン1.42をダウンロードする

2009年11月23日 バージョン1.4にアップグレード

変更点

  • 発言内容に、ランダムなフォロワーのIDと名前、ランダムなフォローイングのIDと名前、ランダムなタイムラインでの最近の発言者のIDと名前を組み込めるようになりました
  • 「高度な設定:リプライの無限ループを制御する」を実装しました(初期値は同一相手へのリプライは3回で終了します)
  • 「高度な設定:特定のパターン以外のリプライには返答しない」を実装しました
  • 「高度な設定:特定の単語を含むリプライを受け取った場合リプライしない」を実装しました。「高度な設定:特定の単語を話しかけられたときに特定の単語を返す」に追記してあります。
  • 多重リプライ対策をした(一人の相手には一回のプログラムの実行あたり一回しか反応しません)
  • 無駄な処理を減らしたのでちょっと軽くなった

バージョン1.4をダウンロードする

「PHP4でうまく動かない」「reply_random.phpで相手の名前を呼び間違える」などのエラーがあったので修正しました

バージョン1.41をダウンロードする

2009年11月1日 バージョン1.31に修正

変更点

  • 一部の環境でエラーメッセージが出て動かない不具合を修正しました
  • 正規表現の中で@を書くとエラーになるミスを修正しました

バージョン1.31をダウンロードする

2009年10月27日 バージョン1.3にアップグレード

変更点

  • 一部の環境での文字化けが解消されました
  • リプライが、どの発言に対するリプライか表示されるようになりました
  • 発言内容に、年、月、日、時、分、秒、相手のID、名前、発言を組み込めるようになりました
  • 特定の単語に反応する機能で、正規表現が使えるようになりました
  • RTに反応するかどうか、文頭以外の@にも反応するかどうかを選べるようになりました

バージョン1.3をダウンロードする

(一部の環境でうまく動かないかもしれないので、その場合は1.0、1.1、1.2を御利用ください。 あと、うまく動かない場合は、症状と環境をここのコメント欄に書いてくれるとできるだけ参考にして修正するようにします。)

2009年10月20日 バージョン1.2にアップグレード

変更点

  • replyで特定の単語をもらったときに特定の単語を返すことができるようになりました(これで「占い」って言われたら占いを返すとかできます)
  • replyするときに{hour}現在の時間(0〜23)を組み込めるようになりました(これで時報botが作れます)

バージョン1.2をダウンロードする

(一部の環境でうまく動かないかもしれないので、その場合は1.0もしくは1.1を御利用ください。

2009年10月10日 バージョン1.1にアップグレード

変更点

  • PHP4でもreply_random.phpが使えるようになりました
  • 一部の環境での文字化けを修正しました
  • 発言の先頭に自分宛の@があったときのみreplyを返すようになりました(RT対策)
  • replyへの返事をreplyを貰った順番に返すようになりました
  • replyするときに{name}で相手の名前{id}で相手のIDを組み込めるようになりました

バージョン1.1をダウンロードする

(一部の環境でうまく動かないかもしれないので、その場合は1.0を御利用ください。)

2009年9月16日 バージョン1.0公開

バージョン1.0をダウンロードする

スポンサード リンク