Della Gtalk Bot

Mar 28th, 2009 – 4:40 pm | Design

最近杂事很多,都是学校课程设计项目之类的东西,所以三周前开始自己做的这个Della机器人一直拖到现在才算是基本完成了。这是用Python的Xmpppy模块做的一个Gtalk查询机器人,暂时实现了天气情况,星座运程,公交路线(暂停实现),股票走势,中英词典,资讯新闻,美剧节目表的功能查询,而且,我特意将饭否机器人绑定到Della上,这样她就可以接收饭否上的查询信息并作出回应,本来想把Twitter也给绑定了,但Twitter的官方gtalk机器人一直不在线,其他非官方的bot也很不稳定,所以也就没有实现绑定Twitter。

update: 更新至1.2.1版本,通过GAE实现了饭否和Twitter上的查询,程序做了比较大的调整,一分为二,Gtalk上还是以Xmpppy实现,饭否和twitter上通过GAE实现永久在线,每分钟统一处理查询请求。如果你对Della的原理感兴趣,请移步:http://www.kavingray.com/blog/miniblog-bot/

Della信息:

版本: 1.2.1 Beta

语言平台: Python 2.5 + xmpppy 0.4.0 + google app engine

最近更新: Aug 15, 2009

查询功能:天气,股票,公交,星座,词典,资讯 New,美剧 New

有三种添加方法:

通过Gtalk:直接添加 IDella001[at]gmail.com 好友,就可以在Della在线时候进行查询

通过饭否: 添加Della为好友,并等待Della回加你为好友后方可进行查询

通过Twitter: 添加Della为好友,可开始进行查询

如何查询:

对于Gtalk用户只要在Della上线时候发送查询请求给她就可以查询了,但由于本人原因不能保证Della经常在线,对于饭否Twitter用户,除非GAE挂掉了,任何时候都可进行查询。

查询请求格式:

获取全部帮助:输入”?” , 输入 “HELP” 或者输入 “帮助”

天气查询格式:【”天气”(或”weather”) + 空格 + 城市名(中文) 】

此功能的信息来源站点是新浪天气,可查询最近三天的天气情况,如果只输入”天气”或”weather”将返回天气查询帮助,如果查询的是国内城市,那么城市名还可以使用拼音

例: 天气 广州weather 东京weather guangzhou
获取天气帮助: 输入 “天气” 或 “weather”

股票查询格式:【”股票”(或”stock”) + 空格 + 交易所 + 股票代码 】

此功能的信息来源站点是新浪的一个内部股票查询API,如果只输入”股票”或”stock”将返回股票查询帮助,交易所代码:上证交易所以sh开头,深证交易所以sz开头,再加上股票代码

例:股票 sh000001 查询上证指数走势 或 stock sz000001 查询深发展A走势
获取股票帮助: 输入 “股票” 或 “stock”

星座查询格式:【”星座”(或”astro”) + 空格 + “星座名” + 空格 + “今天”(或”明天”) 】

此功能的信息来源站点是QQ星座,可查询今日(明日)星座运程,只输入”星座”或”astro”将返回星座查询帮助,如果缺省日期设定则默认为今日运程,

例:星座 射手座 今天星座 射手座 将查询射手座今日运程 astro 处女座 明天 将查询处女座明天运程
获取星座帮助: 输入 “星座” 或 “astro”

因为来源站点改版,需要重新处理编码问题和一些抓取代码,所以公交查询暂停
公交查询格式:【”公交”(或”bus”) + 空格+ 城市名(中文) + 公交线 】

此功能的信息来源站点是bus.58.com,可查询各城市主要公交线路,注意城市名只能是中文

例: 公交 广州 78路bus 汕头 12路
获取公交帮助: 输入 “公交” 或 “bus”

词典查询格式:【”词典”(或”dict”) + 空格 + 中文或英文单词】

此功能的信息来源站点是dict.cn,可实现中文单词英文单词互译

例:词典 Appledict 苹果
获取词典帮助: 输入 “词典” 或 “dict”

资讯查询格式:【”资讯”(或”news”) + 空格 + 所要查询的资讯类别】

此功能的信息来源站点是百度新闻,目前可以查询的资讯类别有:综合,国内,国际,财经,互联网,房产,汽车,体育,娱乐,游戏,教育,健康,科技,社会。每个类别各有10条最新消息(每5分钟更新一次),每次查询即可随机得到该类别的一条资讯的最新信息,如果选择”综合”类别,则在所有130条消息中随机获取一条资讯。

例:资讯 体育News 财经
获取词典帮助: 输入 “资讯” 或 “news”

美剧查询格式:【”美剧”(或”drama”) + 空格 + “节目表”(或”TVList”)】

此功能的信息来源站点是pogdesign,可查询当日美剧节目播出时间表

例:美剧 节目表Drama TVList
获取词典帮助: 输入 “美剧” 或 “Drama”

因为没有服务器,而且这也是个实验性的程序,所以Gtalk版的Della的上线时间主要是在晚上8点到12点,白天上线时间不固定,和本人每天时间安排差不多,没办法,谁叫寡人还是大学生T T。这个项目是我开始步入网络的第一个小程序,发现网络要考虑的问题很多,异常什么的也很多,后台牵涉到的python系统编程问题也很让我头痛,进程管理什么的我都不是很熟悉,也没很多时间去深入研究,所以暂时草草写了个监视程序来确保Della的正常运行。
饭否和Twitter版的Della不受时间影响。

更新:

09.03.29 修补了一些测试时候暴露的细节问题以及帮助文档,解决了词典词组查询出错的bug
09.05.08 版本升级到1.1,增加了资讯,美剧节目表查询功能,更新了失效的新浪天气信息获取代码,实现饭否好友自动添加
09.08.15 版本升级到1.2.1,更新至1.2版本,通过GAE实现了饭否和Twitter上的查询

1 Comment

brycholeMarch 29, 2009

发现你又用Python写了…… 莫非Python就那么好玩?

Leave a comment

Name (required)
Email (required)
Website