TwiTalker的代码更新

TwiTalker是个好东西,开源项目,支持在GAE上搭建Gtalk机器人,绑定Twitter帐户到Gtalk上,然后可以在Gtalk界面方便的操作Twitter帐户,非常感谢@kavin_gray的努力。

在使用过程中发现TwiTalker的搜索(-s 搜索内容)和查看list(-list 用户 list名)功能并不能使用,今天特意查了一下代码,经过多方修改和测试,总算把这两个问题解决了。

主要修改apptwitter.py和twi_service.py两个文件,下载链接:dropbox共享(需翻墙),考虑到安全问题本地暂不提供下载,如果需要请在留言处留下邮箱。

修改的地方:

1. 搜索改用官方的搜索API,替换原来的twip代码。

2. 查看list内容更新成官方的API,测试下来发现使用https://twitter.com调用此API不成功,替换成http://api.twitter.com/1就成功,因此修改原来的代码把_api_url由前者改为后者。同时修改订阅列表的相关代码(-live),支持自动推送list内容。

3. 上两步修改完后发现首页无法打开,检查下来发现oauth相关的url不能用在http://api.twitter.com/1,因此增加了一个_oauth_api_url的声明,定义为https://twitter.com,并把包含oauth调用的url由_api_url改成_oauth_api_url,测试下来没有问题。

用法:到TwiTalker开源网下载最新的源码包,解压后把我更新的两个.py文件替换掉原来的文件,然后更新到GAE即可。

注意:考虑到GAE提供的免费资源有限,建议修改cron.yaml,只保留最顶上的dataa和datab两个计划任务,支持最多50个帐户绑定即可,可以多建一些GAE帐户来解决人多的问题,建议有gmail帐户的人自己搭建。

支持Twitter API 1.1的更新(2013-6-13):

前两天发现Twitter已经不支持API 1.0了,因此TwiTalker也就跟着挂了,经过修改测试现在更新的版本功能跟原来一样了,下载链接见前面的dropbox共享。

更新内容:

1. apptwitter.py文件:第32行API改成1.1;第33行的搜索API虽然改了,但已经不再需要;第422行searchTweet改调用_get函数而不是_search函数,因为新的搜索API跟1.0的不一样,需要认证才能搜索,API也沿用了标准的API;修改mentions函数把mentions.json改成1.1的mentions_timeline.json。

2. twi_service.py文件:第828行调用_formatMsg函数时参数改成contents['statuses'],对应的修改了_formatMsg函数第2230行取搜索结果用户名的下标;顺便修改第194行,真正支持“-lt 群组创建者 群组名或群组ID ”。

如果不知道怎么更新GAE的可以参考这里:在GAE里添加Twitter API的步骤

PS. 对于想切换不同的gmail用户上传请删除appcfg的cookies文件,Windows XP在C:\Documents and Settings\%user%\ 目录下,Windows 7在C:\Users\%user%\ 目录下,文件名:.appcfg_cookies,这里%user%指的是你当前的系统登录用户名。

Tags: ,

4 Responses to “TwiTalker的代码更新”

  1. 6mh说道:

    最近出现 错误代码:404 ~ 负载多大,怎么回事,自己搭建的

  2. xiao说道:

    我自己搭建的TWITALKER机器人挂了,显示404 ~,能否指点一二,另外把修改的文件给我把,谢谢

  3. lin说道:

    你好,我的也不能用了,能否发一个最新的能用的包给我。谢谢了

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。