charactorbot (v1.07.000) | 2014-01-11 18:05 |
FrontPage(wikiのトップページ)の表示
このwikiはSourceForge.JP、mixi、Yahoo!、Google、はてな等のアカウントでログインすれば自由に編集することができます。
Google App Engineのアカウントを作成の後、SVNからソースをダウンロードし、自分のGoogle App Engineのアプリケーションのデプロイすることで新たに運用することができます。動かすと、http://charactorbot.appspot.com/?locale=ja と同様のサービスを提供することができます。
なおソースコードを編集したり、デバッグすることはないという方は、ダウンロードのサイトから簡易デプロイ用のパッケージをダウンロードすることができます。こちらを利用することで開発環境をインストールせずともすぐにキャラボットのサービスを立てることが可能です。
ソースを編集したり、デバッグをしたり、動きを少し変えたいなどある際には以下のインストール及びデプロイ手順の方を活用下さい。
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/installing.html
このサイトに書いてある手順でJDK、Eclipse, Google Plugin for Eclipse(GWTを含む), Google App Engine SDKをすべてインストールしてください。 Google App Engine SDKは、charactorbot_1_002_003では、Google App Engine SDK for Java 1.3.4を使っています。
から1.3.4をダウンロードして使ってください。
charactorbot | Google App Engine SDK for Java | JDK | GWT | 備考 |
1_07_000 | 1.8.8 | 1.7 | 2.5.1 | twitter4j 3.0.5へのバージョンアップ。 |
1_06_001 | 1.7.3 | 1.6 | 2.4.0 | home_timelieの取得数を20→200に変更。 |
1_06_000 | 1.7.3 | 1.6 | 2.4.0 | TwittterAPI1.1対応。自分宛返信に失敗する不具合を修正。 |
1_05_004u3 | 1.6.5 | 1.6 | 2.4.0 | GAE1.6.5対応。改行置換タグ#br#を追加。ランダム投稿の仕様を変更。 |
1_05_003 | 1.6.1 | 1.6 | 2.3.0 | GAE1.6.1対応。不具合修正。保存数500→2000に変更。 |
1_05_002 | 1.5.3 | 1.6 | 2.3.0 | GAE1.5.3対応。不具合修正。 |
1_05_001 | 1.5.2 | 1.6 | 2.3.0 | GWT2.3.0対応。不具合修正。 |
1_05_000 | 1.5.2 | 1.6 | 2.0.4 | GAEのQuota削減に対応するための設定を追加。 |
1_04_001u1 | 1.4.2 | 1.6 | 2.0.4 | LogEntryのインデックス作り忘れ防止のためにインデックス不要に修正。 |
1_04_001 | 1.4.2 | 1.6 | 2.0.4 | GAEのDatastoreメンテナンス時に多重投稿するバグを修正等。 |
1_04_000 | 1.4.0 | 1.6 | 2.0.4 | GAE1.4.0対応。キーワードの移動機能、改行後のキーワード対応等。 |
1_03_011u1 | 1.3.8 | 1.6 | 2.0.4 | 返信時の自身のID判定、無視IDの判定を大文字小文字無視に変更。 |
1_03_011 | 1.3.8 | 1.6 | 2.0.4 | ボット登録時の不具合を修正。memcacheによる多重投稿対策追加。 |
1_03_010 | 1.3.8 | 1.6 | 2.0.4 | 返信内容の全表示機能を追加。 |
1_03_009 | 1.3.8 | 1.6 | 2.0.4 | v1.3.8のGAEの利用規約に反する部分を修正。 |
1_03_008 | 1.3.8 | 1.6 | 2.0.4 | GWT1.3.8、twitter4j2.1.7に対応。バグ修正。 |
1_03_007 | 1.3.7 | 1.6 | 2.0.4 | ボットごとにエラーログを表示する機能を追加。 |
1_03_006u1 | 1.3.7 | 1.6 | 2.0.4 | IEでログインできない問題を修正。 |
1_03_006 | 1.3.7 | 1.6 | 2.0.4 | GWT1.3.7に対応。英語文言の改善。 |
1_03_005 | 1.3.6 | 1.6 | 2.0.4 | GWT1.3.6に対応。remote_apiの設定を追加。 |
1_03_004 | 1.3.5 | 1.6 | 2.0.4 | #favorite#タグを実装の他、Twitter4Jに対応 |
1_03_003 | 1.3.5 | 1.6 | 2.0.4 | cronの短期間多重実行を未然防止 |
1_03_002 | 1.3.5 | 1.6 | 2.0.4 | GAE1.3.5とGWT2.0.4に対応 |
1_03_001 | 1.3.4 | 1.6 | 2.0.3 | 私信とTLの返信間隔が違うと出るバグ修正 |
1_03_000u1 | 1.3.4 | 1.6 | 2.0.3 | Botのmemcacheが更新されない問題を修正 |
1_03_000 | 1.3.4 | 1.6 | 2.0.3 | キーワード全削除する機能を追加 |
1_02_005 | 1.3.4 | 1.6 | 2.0.0 | 無視するIDを設定する機能を追加 |
1_02_004 | 1.3.4 | 1.6 | 2.0.0 | 正規表現のグループの置換タグに対応 |
1_02_003 | 1.3.4 | 1.6 | 2.0.0 | 全ての投稿で時間帯タグ対応 |
1_02_002u1 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_02_002 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_02_001 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_02_000 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_01_002 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_01_001 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_01_000 | 1.3.3.1 | 1.6 | 2.0.0 | タグ付け失敗で閲覧不能 |
1_00_002 | 1.3.2 | 1.6 | 2.0.0 | |
1_00_001 | 1.3.2 | 1.6 | 2.0.0 | |
1_00_000 | 1.3.2 | 1.6 | 2.0.0 |
http://sourceforge.jp/projects/charactorbot/svn/view/tags/?root=charactorbot
から最新のバージョンを選択してください。ここではcharactorbot_1_00_000を選択します。申し訳ないことに、1_01_00〜1_02_002まで正しくバージョンが作成できていませんでした。できるだけ最新のものを取得してもらうようお願いします。
charactorbot_1_00_000の階層以下をtarball形式でダウンロードします。
このように.tar.gz形式のファイルがダウンロードされます。
予め解凍しておきましょう。MacならばStuffit、WindowsならばWinRARなど適当な解凍ツールで解凍してください。このように解凍されます。
Eclipseを起動し、適当なワークスペースにダウンロードしたプロジェクトをインポートします。 まず、ワークスペースのパッケージエクスプローラーなどで、右クリックインポートを選択します。
インポートウィザードにて「既存プロジェクトをワークスペースへ」を選択して、次へボタンを押します。
ルートディレクトリの選択のラジオボタンが選ばれていることを確認し、参照ボタンを押します。
選択ダイアログで、先程ダウンロードして解凍したフォルダの中のcharactorbotフォルダを選択し、終了を押します。
プロジェクトをワークスペースにコピーのチェックボックスをオンにして、終了ボタンを押します。
以上でインポート作業は終了です。以下のような状態になると思います。
インポートしたプロジェクトのツリーの第一階層を開いてApp Engine SDKのバージョンが対応するcharactorbotのバージョンと合っているか確かめてみてください。(charactorbot_1_00_000はGoogle App Engine SDK for Java 1.3.2等)
まずコンパイルを開始します。先程インポートしたプロジェクトを選択して、GWT compile projectのアイコンを押します。
GWT Compileダイアログにて、Compleボタンを押します。
無事コンパイルが終わると、コンソールビューに以下のように表示されます。
次に開発環境で起動してみましょう。先程インポートしたプロジェクトを選択して、右クリック > デバッグ > WebApplicationを選択します。
HTMLページの選択が求められるので、Charactorbot.htmlを選択しましょう。
すると、起動が開始します。早速起動しているかサイトを確認していましょう。 MacだとGWTのデバッグができるプラグインが入れられるブラウザがFirefoxしかないため、Firefox。WindowsならばFirefoxかChromeかIEなどのブラウザを用意してください。
さてブラウザが用意できたら、Delopment Modeビューに表示されているURLをコピーしてブラウザにて表示させてみてください。
デバッグ用のプラグインのインストールが終わった後、以下のようなサイトが表示されるはずです。
ちゃんとサイトの右上にLoginの項目ができていれば成功です。ちなみに日本語で表示させたい場合には、先程URLの末尾に&locale=jaを足してあげることによって、日本語のサイトになります。
ログインはデバッグ用のログイン画面が出てくるはずですが、問題なくログインできるか確かめてみてください。一度twitterのアプリケーションを作成して、ボットを作成してみても良いと思います。なおこのcharactorbotでは、ボットの動きを、管理者ログインをした状態で、一分置きに/charactorbot/twitterbotにcronを使ってアクセスすることで実現しています。ボットを動かす際には、
http://localhost:8888/charactorbot/twitterbot
に管理者ログインした状態で随時アクセスして動かしてみてください。
なお初期起動で失敗などする場合は、デバッグビューで起動しているアプリケーションを、終了して再起動してみるほか、Eclipseのメニュー > プロジェクト > クリーンを実行し、GWTのコンパイルをもう一度実行したりして試してみてください。それでもダメなときはエラーログを見ながらデバッグしてみる必要があります。
以上で開発環境での起動は終了です。
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/uploading.html
を見ながらアプリケーションを作成するところまで実行してください。
アプリケーションを無事作成したら、作成したプロジェクト名に合わせて、Eclipseのcharactorbotのプロジェクト名を変更します。 Eclipseのパッケージエクスプローラーで、charactorbotを選択し、名称を変更します。ここでは、charactorbot2に変更します。
次に
/charactorbot2/war/WEB-INF/appengine-web.xml
の3行目
<application>charactorbot</application>
の値のcharactorbotを今後デプロイするアプリケーションの名称に変更してください。 <application>charactorbot2</application>
などとします。
さらに最後に、
/charactorbot2/WEB-INF/appengine-generated/datastore-indexes-auto.xml
のxmlのデータを
/charactorbot2/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml
にコピーまたは上書きます。 これは、開発環境では必要なdatastoreのインデックスが自動的に作られてしまうため、適切なindexの設定にする処理になります。
そして最後に、以下のDeploy App Engineのアイコンをクリックして、先程名称を変更したプロジェクトを作成したアプリケーションへデプロイします。
なお、デプロイ直後はインデックス構築中のため、読み込みに失敗してしまいます。
から作成したアプリケーションを見て、Datastore Indexの項目からすべてのインデックスがServingになるまで待ってください(長くても1時間ほど、5分程度で終わることもある)。無事インデックスが準備出来次第、アプリケーションのサイトへアクセスすることで問題なく動いていることを確かめることができます。
インデックスが作成されると、以下の画像のように、Servingになっていきます。
以上で、charactorbotのデプロイは終了です。お疲れ様でした。あとは自由にボットを作成したり、改造したりしてみてください。
現在、無料のQuotaでは約23ボットを動かすことができることがわかっていますが、もっと多くのボットを動かしたい際には、有償版にしたり、タスクの分散のさせ方やTask Queueの実行のさせ方などをチューニングしてみてください。詳しい、チューニングの仕方については、割当リソース(Quota)の制御についてをご覧ください。
デバッグ方法にデバッグのためのGQLやログのフィルターなどがまとめてあります。ご活用ください。
[PageInfo]
LastUpdate: 2014-01-11 18:00:58, ModifiedBy: sifue
[License]
GNU Free Documentation License
[Permissions]
view:all, edit:login users, delete/config:members