07
3月
twitterでbotをGAE/Java+phpで動かしてみたよ
http://twitter.com/bot_neko という猫botを作ってみたよ。レンタルしてるサーバーさんから怒られても知りません!自己責任でどうぞ!><[2010年3月9日@追記]上手く動かないようならGAE-cronというサービスを利用してみて下さい。GAE-cron:http://d.hatena.ne.jp/furyu-tei/20100115/gaecronclub必要なもの- Eclipse(Java開発環境/Java)
- Easybotter(botの中身/php)
- Twitterアカウント(bot投稿用)
- Googleアカウント(GAE用)
- BOTの中身となるphpをダウンロード。@プログラミングができなくても作れるTwitter Botの作り方http://pha22.net/twitterbot/phpの設定などは上記サイトを参照。phpをサーバーにアップロードして動作確認しておく。
- Eclipse をダウンロード。http://mergedoc.sourceforge.jp/下部「ダウンロード」からこのボタンを押してDL。「Eclipse 3.4 Ganymede Pleiades All in One」※すごく重い。723MBもあるので注意。※オールインワンはEclipseが既に日本語化されています。
- ↑をダウンロード中に、アカウント取得を済ませる。GAEのために「Google App Engineアカウント」を取る。http://code.google.com/intl/ja/appengine/
- Eclipseを適当な場所に解凍する。eclipseフォルダの中のEclipse.exeを起動。※Eclipseはディレクトリ作成/削除で簡単にインストール/アンインストールできます。プログラムの追加と削除とかは不要。 ※以降ここに沿って設定していきます。http://code.google.com/intl/ja/appengine/docs/java/tools/eclipse.html
- Eclipseのメニュー>ヘルプ>ソフトウェア更新>使用可能なソフトウェア>サイトの追加をクリック。
ロケーション:http://dl.google.com/eclipse/plugin/3.4OKボタンを押す。一覧に「Google Update Site for Eclipse 3.4」が増える。左側の+をクリックしツリーを開いて、・プラグイン>Google Plugin for Eclipse 3.4・ SDK>Google App Engine Java SDK 1.3.1この二つにチェックを入れて、右上のインストールをクリック。インストール後、再起動か変更を適用しリフレッシュ。 - ツールバーの「新規Webアプリケーション・プロジェクト」をクリック。
プロジェクト名・パッケージを入力。
「Google Web ツールキットを使用」のチェックを外す。完了ボタンを押す。 ※ここでは便宜上どちらも「nekoxbot」と入力したことにします。 - 左側のパッケージ・エクスプローラ>nekoxbot>src>nekoxbot>NekoxServlet.javaを開く。
package nekoxbot; import java.net.MalformedURLException; import java.net.URL; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import javax.servlet.http.*; @SuppressWarnings("serial") public class NekoxbotServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); try { URL url = new URL("http://Easybotterがあるとこ/bot.php"); BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); String line; while ((line = reader.readLine()) != null) { resp.getWriter().println(line); } reader.close(); } catch (MalformedURLException e) { resp.getWriter().println("URL faild : " + e); } catch (IOException e) { resp.getWriter().println("URL faild : " + e); } } }1行目「nekoxbot」の部分、10行目「NekoxServlet.java」、16行目を書き換える。上書き保存。 - nekoxbot>war>WEB-INF>libを右クリック>新規>ファイル>cron.xml
cron.xmlを右クリック>アプリケーションから開く>テキスト・エディター![screen[2].jpg](http://lh5.ggpht.com/_i0VhcSUhLoI/S5Weww-U2PI/AAAAAAAABUU/ACbOLEhyOK4/screen%5B2%5D.jpg?imgmax=160)
<cronentries> <cron> <url>/nekoxbot</url> <description>nekoxbot the run every 10 minutes</description> <schedule>every 10 minutes</schedule> <timezone>Asia/Tokyo</timezone> </cron> </cronentries>3行目、4行目の「nekoxbot」の部分をすべて書き換える。更新時間を設定する。最低1分間隔(推奨:2分以上)上書き保存。 - ツールバー>App エンジン・プロジェクトのデプロイをクリック。
プロジェクト名、Gmailアドレス、パスワードを入力する。「App Engine project settings…」をクリック。
デプロイメントでアプリケーションID(GAEアカウントのhttp://<your application ID>.appspot.com/の部分)を入力。「配置」を押す。![screen[3].jpg](http://lh6.ggpht.com/_i0VhcSUhLoI/S5We0Elo6TI/AAAAAAAABUw/k4-rgtK6Fj0/screen%5B3%5D.jpg?imgmax=160)
- デプロイ後、動作確認する。https://appengine.google.com/左側メニューの「Cron Jobs」をクリック。指定した時間間隔(2分間隔なら2分間)更新されるまで待つ。「2010-XX-XX xx:xx:xx on time Succeed」と表示されればcronは無事に動作しています。
- 以上おわり。
関連記事はありません。