Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用Google Wave机器人做简单的事情_Python_Google Wave - Fatal编程技术网

Python 用Google Wave机器人做简单的事情

Python 用Google Wave机器人做简单的事情,python,google-wave,Python,Google Wave,我想在本教程中为机器人添加3个功能: 在添加所有这些功能之前,我的机器人正在按预期工作。 现在奇怪的特性仍然出现(在blip内容的bck处有“v2”),但两个新特性都没有出现!我已经尝试过不同的方法,但仍然不起作用。下面是我认为更符合逻辑的代码。 有人能告诉我为什么没有一个能起作用吗 功能1--想试用AppendText 功能2——希望机器人检测到一个光点已提交 功能3——希望机器人添加一个删除旧光点内容的光点。 from waveapi import events from waveapi

我想在本教程中为机器人添加3个功能:

在添加所有这些功能之前,我的机器人正在按预期工作。 现在奇怪的特性仍然出现(在blip内容的bck处有“v2”),但两个新特性都没有出现!我已经尝试过不同的方法,但仍然不起作用。下面是我认为更符合逻辑的代码。 有人能告诉我为什么没有一个能起作用吗

功能1--想试用AppendText
功能2——希望机器人检测到一个光点已提交
功能3——希望机器人添加一个删除旧光点内容的光点。

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()
编辑(重要) 我只是注意到它在正常模式和沙箱模式下的行为似乎有所不同。在正常模式下,我看到两个光点“我还活着!v2”和“大家好!v2”,但在沙箱模式下,我只能看到第一个。在这两种情况下,我都看不到附加的文本

我评论这部分的原因是什么 “”“myRobot.RegisterHandler(events.BLIP\u sumbited,OnBlipSubmitted) myRobot.RegisterHandler(events.BLIP_已删除,OnBlipDeleted)”“”
因为不加评论,机器人什么都不做

events.BLIP\u sumbited
应该是
events.BLIP\u SUBMITTED
events.BLIP\u sumbited
在我看来似乎拼错了。我投票决定关闭它,因为解决方案是修复一个拼写错误。