上一章介绍了如何以Wave Gadgets的形式在wave中插入互动内容。这一章介绍了Wave插件的另一个特别成员:机器人。机器人看起来与一个普通的wave用户并无不同,但是它们被程序设定好以修改和更新wave的内容。Wave机器人就像即时通讯机器人——但是鉴于Wave的协作能力,它可以提供更多的可能性。

Wave扩展:什么是机器人?

机器人看起来就像一个普通的wave参与者和联系人。它有一个形如[email protected]的wave账号,你可以像添加其它wave用户一样把一个机器人添加到自己的联系人列表中。机器人和真实的人类用户唯一的不同之处在于机器人被设定好在wave中自动执行特定的功能。机器人是一个自动化的wave参与者,检测wave的添加,更新并根据程序的设定添加内容。

例如,自动删除wave中空白发言(blip)的机器人或者将@usernames转换为Twitter用户链接的机器人。在以下的”一些值得一试的机器人” 章节里会介绍更多的机器人账号和用途。

从wave中添加或移除机器人

至这篇文章写作之时,Wave机器人还是你可以从wave中移除的唯一的参与者。 (单击一个wave上方参与者的头像,在弹出的菜单里,只有wave机器人的“移除用户”按钮是可用的,其他真人用户则无法移除。)

要使用机器人,首先要添加Wave账号到你的联系人列表,步骤和添加其他联系人是一样的。(参考第三章Manage Your Wave Contacts,获得在wave中添加联系人的消息步骤。) 创建一个新的wave,然后添加机器人到这个wave,试验它们的功能。

一些值得一试的机器人

每天,都有新的wave机器人诞生。这一章节把重点放在我们最喜爱的几个机器人上,基于他们的目的以及他们诞生于wave产生初期这个事实,它们并不总是能很好的实现我们期待的功能。

要试验这几个wave机器人的功能,添加它的Wave账号 (在名字后的括号里) 到你的联系人列表,然后添加机器人到一个新的wave。

Wikify ([email protected])

Wikify将与特定话题相关的Wikipedia中的链接和描述添加到你的wave中。将Wikify添加到wave后,它会提供使用说明,告诉你如何为一个话题添加到Wikipedia的链接,或者与这个话题相关的描述。图 8-1展示了Wikify的功能。

Fg0803-wikifybot

图 8-1. 在加入Wikify的wave中输入 或 —— topic为关键词——Wikify 自动从Wikipedia获得链接或描述,取代上面的代码。

机器人现状: Wikify功能有限,目前很稳定并且名副其实。

CleanTXT ([email protected])

CleanTXT具有自动校正功能,在有很多参与者的wave中,如公开wave中,特别有用。CleanTXT可以自动删除空白的发言,删除发言中重复的空行,自动校正错误的拼写 (比如把输入错误的 “teh” 替换成 “the”),在逗号和分号后面自动插入空格。

CleanTX 也为Approver gadget提供了一个钩子,Approver让参与者可以使用“向上向下的大拇指”为发言评分。输入 !approver 为发言添加 Approver gadget;输入 !approver++ 可以使 CleanTXT 为每一个新的发言添加 Approver gadget 。

CleanTXT在公开wave中,特别有用,因为会有很多空白的发言和笔误。到这个机器人的主页查看详细的使用说明 http://cleantxt.appspot.com.

机器人现状: 稳定,可用

Polly the Pollster ([email protected])

这是wave预览版中最有前途的可用机器人之一,Polly the Pollster 可以创建多选项的调查问卷,在不限数目的Wave联系人中分发。当联系人点击单选按钮并提交问卷 ,你可以实时的看到以图表显示的调查结果。 一个Polly-generated调查表和结果图表如图 8-2。

Fg0801-pollythepollster

图 8-2. 民意调查家Polly(Polly the Pollster)是一个可以以帮助你创建、分发多选项的调查问卷,并将调查结果以图表显示的wave机器人。

机器人状态: 大部分情况下都能正常工作,但有时会不稳定,不可靠,特别是在有很多参与者的wave中。

使用说明: 要在全新的wave中,加入Polly;如果wave已经在使用过程中,再添加该机器人,机器人将无法正常工作。

Yelpful ([email protected])

The Yelpful 机器人可以提供基于商业列表网站Yelp.com的互动内嵌式的搜索界面。将Yelpful加入一个wave,他会在一个新的blip中显示问候语并且显示如下的使用说明:

Hello there! Usage: /yelp [location] [keyword] Example: /yelp sunnyvale ca mexican

以形如 /yelp Brooklyn NY Sushi 的方式查询“Brooklyn NY Sushi”,Yelpful机器人会在新的blip中显示搜索结果。

机器人状态: Yelpful机器人返回到blip中的结果以HTML标记显示,可读性不够好。

TwitUsernames ([email protected])

TwitUsernames机器人审查他参与的wave的内容,将以@符号开头的词转换成Twitter用户链接。例如,如果你添加TwitUsernames机器人并在wave里键入@malcolmreynolds,该单词将转换为可点击的链接,链接地址为http://twitter.com/malcolmreynolds。

Fg-802-twitusernames

图 8-3. TwitUsernames机器人将形如 @twitter_usernames 的内容转换为Twitter链接。

机器人现状: 稳定,工作状态良好。

使用说明: TwitUsernames机器人只能将机器人添加以后输入blip的文字 @twitter_username’s 转换成链接。在添加机器人之前的blip中的用户名不会被转换为链接。

XMPP Lite ([email protected])

XMPP Lite机器人通过XMPP(一种即时通信协议)发送wave的更改提示。这意味着如果你运行着Google Talk,而有人修改了你通过XMPP Lite机器人订阅的wave,你会在聊天界面里接到更改通知。

要使用XMPP Lite机器人将它添加到你要接受通知的wave中。机器人会添加一个新的blip,提供订阅(Subscribe)和退订(Unsubscribe)按钮,如图 8-4所示。

Fg-802-twitusernames

图 8-4. XMPP Lite机器人在新的blip中添加订阅(Subscribe)和退订(Unsubscribe)按钮,可以通过他们订阅和退订这个wave的更改通知。

使用XMPP Lite机器人,需要添加 [email protected] 到你的Google Talk, Jabber或者AIM 即时通信客户端。确定你能收到它发来的消息(也就是你没有把这个账户加入黑名单)。然后,点击添加了XMPP Lite机器人的wave中的订阅(Subscribe)按钮。

要退订一个wave,点击退订(Unsubscribe)按钮。获取XMPP Lite机器人使用的更多相关信息请到 http://wave-xmpp.appspot.com/public/xmpplite.htm。

机器人现状:: 稳定正常工作,但是太罗嗦。你会收到对wave的每一个修改的提醒,所以还是想清楚再订阅吧。

Madoqua Wave机器人([email protected])

想要把wave的内容发布到网络上的博客和其他的网络内容发布者们可以尝试一下 Madoqua 机器人。加入到wave后,该机器人机器人提供了自定义的JavaScript代码,你可以复制粘贴代码到任意的网页,嵌入wave的内容,如图 8-5所示。

通过成功使用该机器人可以很方便的通过复制粘贴将HTML和JavaScript的小挂件放到你的网页里。注意如果你嵌入的是一个只有特定的用户才能访问的wave,其他的用户看到的要么是wave的登录页面,要么是一条“你没有访问该wave的权限”的信息。即使你设置该wave为公开并发布到网络上,对没有wave账户(也就是没有得到Wave预览版邀请)的用户依然是不可见的。

机器人现状: 稳定正常工作。Madoqua 机器人是Embeddy机器人的一个克隆。

Fg0804-madoquabot

图 8-5. Madoqua机器人生成将wave嵌入网页所需要的HTML代码。

Emoticony ([email protected])

Emoticony机器人将文本表情符号转换为表情图片。将Emoticony 加入你的wave,在任意的blip (除了第一个blip)中,Emoticony自动转换表情符号为图片,如图 8-6所示。

机器人现状: 稳定正常工作。

使用说明: Emoticony 只能将加入机器人之后保存到blip的文本表情符号转换为表情图片。之前存在于blip中的文本表情符号将不会被转换为表情图片,除非你编辑并(通过点击完成Done按钮或按下Shift+Enter)重新保存表情符号。

Fg0805-emoticony

图 8-6. Emoticony机器人转换文字表情符号,如:),为表情图片。

Inbeddable ([email protected])

你已经知道可以通过拖放图片到wave的方法添加图片,但是要把网络上已有的图片添加到wave,你可能需要保存图片再上传到wave里,Inbeddable机器人帮你解决了这个麻烦。要将网络上的图片插入到wave,你只要在该wave中添加Inbeddable机器人,然后添加图片的网络地址就可以了。当你点击完成Done按钮或按下Shift+Enter , Inbeddable将图片链接替换为图片本身,如图 8-7所示。

机器人现状: 稳定正常工作。

使用说明: Inbeddable只对它被应用之后添加的图片链接起作用。如果一个图片链接在Inbeddable被应用到wave之前就存在,它将不会被转换。只有重新编辑blip,点击完成Done按钮或按下Shift+Enter后,Inbeddable才会起作用。

Fg0807-inbeddable

图 8-7. Inbeddable机器人将图片链接替换为图片本身。

Easy Public ([email protected])

在5章我们学习了通过 [email protected]联系人设置wave公开的方法。(参考how to make a wave public)——我们也知道了它不会常驻联系人列表,所以每一次都要重新添加它为联系人。Easy Public机器人也可以设置wave公开,而且没有[email protected]联系人喜欢不告而别的毛病。将它添加到任意一个wave,可以向每一个使用wave服务的用户开放该wave。Easy Public机器人所做的工作就是帮你添加 [email protected] 到该wave中。

机器人现状: 稳定正常工作。

使用说明: 注意既然Easy Public是机器人,你就可以将它从wave中移除,但是这样并不能使你的wave脱离公开状态。将Easy Public机器人从一个wave移除并不会同时移除[email protected]。公开wave之后,你就没有回头路可走了。

更多(有趣的)机器人

一些Wave机器人展示了机器人的用途,但是多数很有趣却没有太大实际的用处。Eliza the Robot Shrink ([email protected]) 这个机器人是一个程序化的治疗师,可以和你在wave上对话。Swedish Chef([email protected])机器人在你的wave中插入 “Bork bork bork!” 。 Flippy ([email protected]) 机器人将你wave中的文字反序排列(中文字就变成乱码了)——在愚人节用来整人还不错。

这一章只列出了少数可用的wave机器人。到(非官方的)Google Wave机器人维基百科可以查到更多的可用机器人。

参考资料

  1. Google Wave Bots, GoogleWaveBots.info