2011年2月22日星期二

Fuck GFW 之五 TwiTalker搭建篇

前天的“茉莉花”着实让GFW高潮发威了一把,很多免费空间搭建的api都被墙了,GAE更是不用说。一段时间,甚至连“敏感词”都未能幸免。TL长时间处于冷清状态,很多人不得不翻墙,用web方式看推发推。但这些对我没有产生丝毫影响。这一篇就说说我在PC上最常用的上推客户端——TwiTalker是如何搭建的。

TwiTalker是基于GAE搭建的Gtalk机器人。虽然是基于GAE,但只要Gtalk通讯所依靠的xmpp协议不被干扰(目前还从未出现过这种情况),GAE是否被墙对TwiTalker的使用没有任何影响。这就是TwiTalker的强大之处,但TwiTalker的强大远不止如此。下面就先讲如何搭建,其他功能留待之后再说。

搭建准备

搭建之前需要准备GAE application id、Twitter应用、两个软件和TwiTalker源码。
1. GAE application id——如果没有,可到App Engine首页免费注册一个,并记下这个id名称。
(至于如何申请GAE application id,可参考之前的《GAppProxy搭建篇》)


2. Twitter应用——到http://twitter.com/apps申请一个新的Twitter应用,并记下consumer key和consumer secret。
需要注意的是:
        Application Type选Browser,
        Callback URL填http:// application_id.appspot.com/oauth,
        Default Access type选Read & Write,
        Use Twitter for login不选,
        其他的随便填,如图。


3. Python软件——Google App Engine使用的是Python进行编程,于是首先要安装Python。Python的版本很多,推荐安装Python 2.5,因为这个不新也不旧,App Engine SDK完全支持Python 2.5。
(http://www.python.org/ftp/python/2.5.4/python-2.5.4.msi)
4. GAE 的Python开发包——可到Google Code的官方网站下载msi文件。
(http://code.google.com/intl/zh-CN/appengine/downloads.html#Google_App_Engine_SDK_for_Python)
5. TwiTalker源码——可到twitalker项目的下载页获取。
(http://code.google.com/p/twitalker/downloads/list)

选择语言版本

下载的源码分有cn-version和en-version两个文件夹,这是 TwiTalker 两个语言(cn为简体中文,en为英文)版本,选择你需要安装的版本文件夹,并进行下一步修改。
(注意:只能选择一个版本,千万不要把两个目录都传上自己的GAE)

配置TwiTalker

1. 将所选择的TwiTalker版本的文件夹名和里面app.yaml文件第一行的application名称改为创建的GAE application id,如图。


2. 打开文件夹里的config.py文件,按要求修改其中参数。

# Change the OAUTH_KEY below to the match the consumer key of your twitter app.
# 将你在twitter创建的应用的consumer key替换到下面OAUTH_KEY参数
OAUTH_KEY = '2AjKMgZby3HPfzQDGxccAg'
# Change the OAUTH_SECRET below to the match the consumer secret of your twitter app.
# 将你在twitter创建的应用的consumer secret替换到下面OAUTH_SECRET参数
OAUTH_SECRET = 'd27Cp1hu2XsxSoyV6L6EGsaYdSkGAghgVNjsVC5Js'
# Be aware to change the callback setting to this url on your twitter app: http://your gae app id.appspot.com/oauth
# 注意要在Twitter应用的设置里把callback参数设置为 http://你的gae app id名称.appspot.com/oauth
# ===================== gae settting ======================
# Change the APP_ID account below to your GAE Application Identifier.
# 机器人的地址,将下面参数改为你在GAE创建的应用ID,
APP_ID='itwitalker'
# Initing the bot account.Do not Change this expression
# 不要修改这个参数
ACCOUNT = APP_ID+'@appspot.com'

3. 保存修改的文件。

上传程序

将所选择的文件夹上传到GAE上,假设文件夹在D盘。
1. 点击开始 -> 运行 ->输入cmd回车

         C:\Documents and Settings\your_name> D:
         D:\> appcfg.py update itwitalker

2. 等一下,脚本会提示输入你的Email地址,输入你的Gmail地址,然后会提示输入密码。(注意:输入密码时不会显示,直接输入进去按回车就行了)
3. 等待上传完成,很快的,当出现“Update completed successfully.”表示成功了。

使用TwiTalker

打开http:// application_id.appspot.com/,点击“帮助”,里面有具体的使用方法。

至此,TwiTalker已经完成了搭建。

之前我说TwiTalker的强大远不止不受GFW影响这一点,那是因为TwiTalker全命令操作,简单易上手,功能齐全并且强大得令人发指。

这是TwiTalker V2.0.3所有命令:
● *发推:直接发送140字以内的消息即可*
● 绑定用户:-v 认证码 密钥
● 删除绑定:-remove
● 个人TwiTalker信息:-status 或 -st
● 附加工具:-tool
● 开启完全消息接收(接收好友消息和私信):-on
● 开启自我消息接收(只接受@我消息和私信):-self
● 完全关闭消息接收(屏蔽所有消息):-off
● *直播模式消息接收(接收默认群组消息):-live*
● *设置直播模式默认群组:-live 群组创建者用户名 群组名或群组ID号* _(例:-live kavin_gray test)_
● 设置消息接收刷新时间:-time 分钟数 _(只能取1到5的整数)_
● 查看收藏:-fav 页数 _(页数可省略,页数之前要带字母P,如-fav p2)_
● 查看私信:-d 页数 _(页数可省略,页数之前要带字母P,如-d p2)_
● @我消息:-@ 页数 _(页数可省略,页数之前要带字母P,如-@ p2)_
● 好友RT消息:-rt 页数 _(页数可省略,页数之前要带字母P,如-rt p2)_
● 自己发表的消息:-me 页数 _(页数可省略,页数之前要带字母P,如-me p2)_
● 最近好友更新:-home 页数 或 -ho 页数 _(页数可省略,页数之前要带字母P,如-ho p2)_
● 查看用户更新:-tl 用户名 页数 _(页数可省略,页数之前要带字母P,如-tl twi_talker p2)_
● 搜索消息:-s 关键词 页数 _(页数可省略,页数之前要带字母P,如-s twitalker p1)_
● 查看群组更新:-list 群组创建者 群组名或群组ID 页数 或 -lt 群组创建者 群组名或群组ID 页数 _(页数可省略,页数之前要带字母P)_
● 你创建的群组:-mlist next/pre 或 -mt next/pre _(next或pre可省略,如需翻页则用next或pre分别表示下页或上页)_
● 你关注的群组:-list next/pre 或 -lt next/pre _(next或pre可省略,如需翻页则用next或pre分别表示下页或上页)_
● 关注你的群组:-listed next/pre 或 -ld next/pre _(next或pre可省略,如需翻页则用next或pre分别表示下页或上页)_
● *回复某人:@用户名 内容*
● 回复特定消息:-@ 消息id号 回复内容
● 查看特定消息:-msg 消息id号
● 删除最近发布的一条消息:-del
● 删除自己的消息:-del 消息id号
● 给某人发送私信:-d 用户名 私信内容
● 消息收藏:-fav 消息id号
● 取消消息收藏:-unfav 消息id号
● 消息RT:-rt 消息id号 附加消息(附加消息可省略)
● 官方RT:-r 消息id号
● 查看某人信息:-status 用户名 或 -st 用户名
● 关注某人:-follow 用户名 或 -fo 用户名
● 取消关注某人: -unfollow 用户名 或 -uf 用户名
● 拉黑某人: -block 用户名
● 某人是否关注你: -if 用户
● 开启消息附加ID模式:-idon
● 关闭消息附加ID模式:-idoff
● 查看绑定帐号列表: -bind
● 增加新绑定帐号:-bind 认证码 密钥
● 取消指定帐号绑定:-unbind 帐号名

从这些命令就可以看出TwiTalker的强大,这是我用过的最好的Gtalk机器人,在此要感谢开发者@ kavin_gray。TwiTalker官方已经停止增加新的bot,但完全可以自己搭建。最近在开发同步功能,我测试了一下,似乎不是很好用,期待进一步的更新完善。

TwiTalker也不是没有缺点,不过也算不上是缺点。比如,不支持头像,这是因为GAE不支持。不过,我发现没有头像也挺好,因为有些推友喜欢换头像,换了头像就完全不认识了,这样反而可以熟悉推友的ID。不支持图片,考虑到大多数图床都处于被墙状态,这也算不上缺点。还有就是无法查看follower和following,不过这也算不上什么问题,只是有了这个功能在某些方面会更方便一些。

TwiTalker也可以在手机上用,但是如果手机上复制粘贴不方便的话,就会很麻烦。因为TwiTalker的操作依赖tweet id,如果要自己一个数字一个数字输tweet id的话,那就实在是……

这一篇似乎有点长,就这么多吧,最后放一个我自己搭建的TwiTalker,大家可以去试试(http://twitalkercneeduy.appspot.com/),相信会喜欢上这种上推方式的,enjoy~~~

对了,TwiTalker有250人的上限,如果用不了,就说明人已经满了。

最后,感谢大家的支持!至于下一篇,我还没想好。

本文地址:http://blog.charyun.com/2011/02/fuck-gfw-twitalker_3124.html
如需转载,请注明出处:来自Wake Me Up