参考にさせていただいたサイト、およびコード
以下が実際のコードです。
# coding:utf-8
from waveapi import events
from waveapi import model
from waveapi import robot
from pyzon import AWSECommerceService
ROBOT_NAME = 'amzbot'
PROFILE_URL = 'http://%s.appspot.com/' % ROBOT_NAME
IMAGE_URL = PROFILE_URL + 'icon.gif'
awsecapi = AWSECommerceService(
ACCESS_KEY_ID,
SECRET_ACCESS_KEY,
associate_tag = ASSOCIATE_TAG,
locale = LOCALE
)
DEBUG = True
def get_title_from_asin(contents):
pass
"""
contents の中身を変換するための関数
"""
def OnBlipSubmitted(properties, context):
# blip の取得
blip = context.GetBlipById(properties['blipId'])
logging.info(u'blip (%s -> %s' % (blip.GetWaveId(), blip.GetId()))
# blip のテキストを取得
contents = blip.GetDocument().GetText()
# テキストを変換
result = get_title_from_asin(contents)
# blip に変換後のテキストをセット
if result:
blip.GetDocument().SetText(result)
if __name__ == '__main__':
# ボットの作成
bot = robot.Robot(
ROBOT_NAME.capitalize(),
'1',
image_url=IMAGE_URL,
profile_url=PROFILE_URL
)
# サブミット時のハンドリング
bot.RegisterHandler(events.BLIP_SUBMITTED, OnBlipSubmitted)
bot.Run(debug=DEBUG)
appengine で bot 書いて wave に突っ込むというのは、すっごい楽ですね。メールやチャットでのコミュニケーションではできない、情報に付加価値をつけていくことが wave では可能となると思います。
