2010-02-19 23 views
13

tôi muốn thêm 3 tính năng để các robot từ các hướng dẫn ở đây: http://code.google.com/apis/wave/extensions/robots/python-tutorial.htmlLàm những điều đơn giản với một robot Google Wave

Trước khi thêm tất cả các tính năng này, robot của tôi đang làm việc như dự định. Bây giờ các tính năng kỳ lạ vẫn hiển thị (với "v2" tại bck của nội dung blip), nhưng không phải của các tính năng mới xuất hiện! Tôi đã thử nhiều cách khác nhau, vẫn không hoạt động. Vì vậy, bực bội ... Dưới đây là mã tt tôi nghĩ rằng trông hợp lý hơn. Ai đó có thể cho tôi biết tại sao không ai có thể làm việc? Cảm ơn ...

Tính năng 1 - muốn thử AppendText
Tính năng 2 - muốn robot để phát hiện một đốm sáng được gửi
Tính năng 3 - muốn robot để thêm một đốm sáng với nội dung của đã xoá dấu chấm cũ.

from waveapi import events 
from waveapi import model 
from waveapi import robot 

def OnParticipantsChanged(properties, context): 
    """Invoked when any participants have been added/removed.""" 
    added = properties['participantsAdded'] 
    for p in added: 
    Notify(context) 

def OnRobotAdded(properties, context): 
    """Invoked when the robot has been added.""" 
    root_wavelet = context.GetRootWavelet() 
    """feature 1""" 
    root_wavelet.CreateBlip().GetDocument().SetText("I'm alive! v2").GetDocument().AppendText("xxx") 

def Notify(context): 
    root_wavelet = context.GetRootWavelet() 
    root_wavelet.CreateBlip().GetDocument().SetText("Hi everybody! v2") 

    """feature 2""" 
def OnBlipSubmitted(properties, context): 
    blip = context.GetBlipById(properties['blipId']) 
    blip.GetDocument().AppendText("xxx") 

    """feature 3""" 
def OnBlipDeleted(properties, context): 
    blip = context.GetBlipById(properties['blipId']) 
    contents = blip.GetDocument().GetText() 
    root_wavelet = context.GetRootWavelet() 
    root_wavelet.CreateBlip().GetDocument().SetText(contents) 

if __name__ == '__main__': 
    myRobot = robot.Robot('appName', 
     image_url='http://appName.appspot.com/icon.png', 
     version='1', 
     profile_url='http://appName.appspot.com/') 
    myRobot.RegisterHandler(events.WAVELET_PARTICIPANTS_CHANGED, OnParticipantsChanged) 
    myRobot.RegisterHandler(events.WAVELET_SELF_ADDED, OnRobotAdded) 
    """myRobot.RegisterHandler(events.BLIP_SUMBITTED, OnBlipSubmitted) 
    myRobot.RegisterHandler(events.BLIP_DELETED, OnBlipDeleted)""" 
    myRobot.Run() 

Edit: (! Quan trọng) Tôi chỉ nhận thấy rằng nó dường như hv hành vi khác nhau về chế độ bình thường vs chế độ sandbox. Trong chế độ bình thường, tôi nhìn thấy cả hai blips "Tôi còn sống! V2" và "Xin chào mọi người! V2", nhưng ở chế độ sandbox tôi chỉ có thể nhìn thấy cái đầu tiên. Werid ... Trong trường hợp không phải tôi thấy văn bản nối ...

Lý do tại sao tôi nhận xét phần này "" "myRobot.RegisterHandler (events.BLIP_SUMBITTED, OnBlipSubmitted) myRobot.RegisterHandler (events.BLIP_DELETED, OnBlipDeleted) "" " là cos mà không nhận xét nó, robot không làm gì cả!

+2

'events.BLIP_SUMBITTED' trông sai chính tả với tôi. –

Trả lời

1

events.BLIP_SUMBITTED nên events.BLIP_SUBMITTED

Các vấn đề liên quan