在GAE上架设GTalk机器人

PYTHON2010-12-04 06:36

玩过GAE的人都知道,GAE很强大而且很实用,只要会写Python或Java就可以将应用放在云端。笔者一直用的英汉互译就是Google的GTalk机器人,但这个机器人并不能达到我想要的最基本功能--互译可在同一个机器人中完成。也就是说Google的机器人,汉译英要一个Bot,英译汉又要再添一个Bot,选择时还要麻烦地先想想究竟点哪个~

好了,既然GAE如此强大简单,那就自己写一个吧,反正有时间。下面先介绍一个GTalk机器人DEMO,分两个文件。

1、[app.yaml]文件

application: YOUR-APP-ID
version: 1
runtime: python
api_version: 1

handlers:
- url: /_ah/xmpp/message/chat/
  script: dict.py

inbound_services:
- xmpp_message

2、[dict.py]文件

from google.appengine.api import xmpp
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class XMPPHandler(webapp.RequestHandler):
    def post(self):
        message = xmpp.Message(self.request.POST)
        message.reply(message.body[::-1])

application = webapp.WSGIApplication([('/_ah/xmpp/message/chat/', XMPPHandler)])
run_wsgi_app(application)

好了,Update到GAE上就可以看到机器人正确运行了,这个机器人的功能是将你发的信息反转并回复给你,当然了,前提是你已经在GTalk中添加YOUR-APP-ID@appspot.com这个帐号的机器人为你的好友,下面来张截图~
gtalk-bot-demo.png

PS:翻译机器人我已经写出来了,但还没有优化,迟些发上来,嗯,当然会是开源的~
DEMO参考自:http://www.keakon.cn/bbs/thread-1622-1-1.html


原文链接: http://blog.jtwo.me/set-up-gtalk-robot-on-gae