dotcloudでも良いんですが、メジャーなGoogleAppEngineで。
pureなpythonでも良いんですが、まぁせっかくフレームワークがあるのでwebappで。
ちなみに、GoogleAppEngineもwebappもdjangoもLingrも触るのは初めて。
なので結構丁寧に書いてみたいと思う(大目に見てねってことじゃなくてむしろツッコミ歓迎)。
さて用意するもの、以下3点。
- Python 2.5.x
- GoogleAppEngineSDK
- Lingrの部屋と登録したbot
LingrのアカウントはちゃちゃっとFacebookで連携認証する(できたよね?)なり
新規で作成したあと、自分用の部屋をひとつテスト用で作成しておきましょう。
settingsでcreate a new botとinvite a new botしたらとりあえずOKです。
ソースはホントにざっくりと書きました。
目的は誰かの発言に対して、固定の反応を(testと発言)させること。
自動生成されるmain.pyの原形をなるべく崩さないようにしてあります。
で、ソースは以下。
from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainHandler(webapp.RequestHandler): def post(self): self.response.headers["Content-Type"] = "text/plain" self.response.out.write("test") application = webapp.WSGIApplication( [('/', MainHandler)], debug=True) def main(): run_wsgi_app(application) if __name__ == '__main__': main()
5〜7行目がキモです。
以下、行番ごとに簡単な解説。
POSTを受け取ったら Content-Typeをtext/plainに指定して responseにtestと出力
各メソッドやらハンドラやらの解説は公式のドキュメント見た方が良い。
たったこれだけでBotに「発言」させることが出来ます。
さて、これで発言させるための枠が出来たので
今度はJSONで渡されたデータからおうむ返しするように改造してみましょうかね。
それでは、電波送信終了ー。
0 件のコメント:
コメントを投稿