[转]支持V4协议飞信机器人发布(20101205002服务/命令模式均支持)

[转]支持V4协议飞信机器人发布(20101205002服务/命令模式均支持)

支持V4协议飞信机器人发布(20101205002服务/命令模式均支持)

看到论坛上有人质疑 飞信 机器人 弹出图形验证码的行为是为了赚钱,见该贴: http://bbs.it-adv.net/viewthread.php?tid=1096 (请 飞信机器人 学学360啦)

在此声明,弹出图形验证码是官方飞信服务器需要的,不是我程序的行为。不信的话,可以自己去抓包分析。请不要在论坛上抗议图形码的事情,要抗议,打10086去抗议。飞信机器人命令行版本永久免费使用。





移动发布公告( http://feixin.10086.cn/bulletin/2521/1 ):11月20日之后,将停止3.5及以下版本飞信的支持。特此发布新版支持V4协议的机器人程序,请使用原09版机器人的朋友迅速测试并升级。

新版飞信机器人版本号起于 20101113002,凡之前版本的飞信机器人,11月20日之后将不能使用。

1. 遇到输入图形验证码时,自动生成图形验证码, 用户 可以手工输入识别后的验证码(解决之前的422问题,识别及输入方法见Q&A)。
2. 可以设定遇到图形验证时的行为,退出( --exit-on-verifycode=1)或者手工输入(当机器人后台执行时,如果等待输入将导致程序无限期等待)
3. 第一次运行时将缓存配置数据(文件名:登录账号.cache),之后运行自动加载缓存,提高发送速度。
4. 集成推立方( http://www.tui3.com )短信发送协议,发送到联通、电信手机或遇飞信服务器不可用时,可以直接使用本客户端进行发送(注:该服务为收费服务,详细情况请见: http://www.tui3.com/page/tuixin  )


和下载以往版本一样,先回复后下载噢。

>> 安装 <<
    本程序为绿色程序,无需安装,下载解压后即可使用。
    1. 根据您的需求,分别下载附件中的windows或者linux版本的机器人主程序(回贴后才能下载噢,请别嫌麻烦),解压(注意:主程序所在目录的路径中不要存在空格,如   c:\Program files\... 这样的目录)
    下载:
   
以下内容需要回复才能看到

windows版本:    fetion.rar (156.81 KB)    linux版本:    fetion (491.63 KB)  





    2. 下载机器人支持库(使用机器人以前版本的朋友可以直接忽略),把压缩包中的文件解压到主程序相同的目录
    windows 版本: http://www.it-adv.net/fetion/win32dll_20101113.rar
    linux版本: http://www.it-adv.net/fetion/linuxso_20101113.rar  (在Redhat4 下编译,其它LINUX发行版的朋友请测试)
    linux64位(centos5.4)版本:  http://www.it-adv.net/fetion/cenos54X64_20101113.rar  (感谢QQ“走過你的風”网友提供。Centos5.4 64位linux系统下,如果用上面提供的linux版本动态库,会提示Segmentation fault,程序异常退出)

    (为何分开下载?因为机器人主程序经常更新,而支持库不会更新)
   注意:linux用户,请不要把支持库中的 lib* 复制到 /usr/lib 下,因为发行版本不同,可能会覆盖您机器中的核心库,导致严重系统问题。您可以把库解压到主程序的相同目录,然后以 LD_LIBRARY_PATH=. ./fetion 来运行)

>> 使用说明 <<

     以下参数提供登录用的账号密码(三种方式,手机号-密码 飞信号-密码 文件--索引)
    
    --mobile=[手机号]       登录手机号
    --sid=[飞信号]        登录飞信号
    --pwd=[密码]         登录密码
    --config=[文件名]       存储手机号、密码的文件。
    --index=[索引号]       索引

    以下参数提供接收者
    --to=[手机号/飞信号/URI]   接收消息的手机号/飞信号/URI.如果知道对方URI,则只需自己在对方好友列表,无需对方在自己好友列表就能发送。
             支持多个号码,中间用,逗号分隔
    --msg-utf8=[信息]  
     发送的消息,UTF8编码
    --msg-gb=[信息]  
      发送的消息,GB编码
    --file-utf8=[文件utf8格式]
      发送文件内容
    --file-gb=[文件gb格式]
      发送文件内容
    --msg-type=[0/1/2] 
      发送消息类型:普通消息 长消息 智能短信

     小工具   
     --query-cmcc-no  查询移动公司手机段

     以下为可选项
    --debug  
    显示 调试 信息
    --hide     
    隐身登录
     --exit-on-verifycode
    服务器需要进行图形验证时,程序退出(1)或者等待用户手工输入识别信息(程序默认)


    --proxy-ip=http 代理 ip
    --proxy-port=http代理端口
    (机器人需要   HTTP  CONNECT代理,大家常用的 ccproxy 是支持的)

>> 举例 <<

     以下为 windows 下举例:
    fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
    fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
    fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-gb=测试

     linux下,请使用如下命令:
    LD_LIBRARY_PATH=. ./fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
    LD_LIBRARY_PATH=. ./fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
    LD_LIBRARY_PATH=. ./fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-utf8=测试

  
    发送消息中如果需要换行,请用 \n 

  // 以下为 sample.conf 内容,文件内容中, #号为注释行 

  # This config file is for fetion robot tool.
   # Usage demo: ./fetion --config=/etc/fetion.conf --index=1
   # ID Mobile  Password
   1  137xxxx  1234234

使用推立方收费短信服务:
  fetion --mobile=接收人手机 --t3key=推立方APIKEY --msg-gb=gbk编码的发送内容( 或者 --msg-utf8=utf8格式的内容 )
  推立方APIKEY:到推立方官方网站( http://www.tui3.com/ ) 注册 会员(注册成功后,赠送10条短信),进行产品配置,则可以获取该KEY。

新版提示:
1. 使用复杂的密码(数字+字母+符号),将不会弹出图形验证码(我测试时是这种表现)。
2. 第一次使用机器人时,即使是复杂密码,也可能会弹出图形验证码,以后将不再提示。
3. 如果您是使用其它程序调用本程序,请在运行时,指定 --exit-on-verifycode=1, 否则,程序将无限期等待。当您以该参数运行机器人时,当弹出图形验证码时,程序将以退出码29结束( 在 linux 中,通过$?获取,在 windows中,通过 %ERRORLEVEL% 获取)
4.  请确保目录权限可写




补充Q&A:
1.WIN2003不能使用:感谢32楼lvjinhua提供的解决办法“win2003不能用的问题,安装 vs2008 sp1的vcredist_x86.exe( http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en ) 就好了!”
2.运行时显示的中文乱码:程序运行时,LINUX环境以UTF8编码输出,WINDOWS环境以GBK编码输出,请注意您使用控制台的编码方式。另外,即使中文乱码也不影响您的使用,那句话的提示就是让您打开 图形文件,输入图片识别码。
3.WINDOWS下密码中如果有 特殊字符 如何输入,比如&|: 请用 ^ 进行 转义 ,如密码中有 &,请输入 ^&
4.输过一次验证码以后,以后还会再要求输入吗?目前的表现是这样(如过一次,再登录就不会输入),但不保证以后移动飞信服务器修改验证规则以后,会不会再强制你输入(比如飞信服务器认为你的账号有异常,或者你的账号频繁登录、频繁发短信)。
5.如何输入图片验证码?因为飞信机器人是控制台程序,无法显示图片,所以,请把生成的图片用查看图片的办法打开后进行识别。如果您的环境是在linux下,并且没有X环境,那么您可以把图片下载到WINDOWS机器中查看。人工识别后,把识别后的内容输入即可。
6.494错误:发送U到12520,就可以解除受限。

更新日志:
20101205002:支持服务模式
20101115005:FIXBUG:某些环境下,不能获取图形验证码,提示:getpiccodev4 return  error  xml(感谢网友QQ五斗米的协助)
20101113002:支持飞信最新V4协议初始版本





服务模式开发使用指南

在服务模式下,飞信机器人将长期在线,可以用来构造交互性的机器人应用。具体演示可以加蓝色理想网站飞信机器人:806908614。

服务模式运行方法:
fetion --mobile=手机号 --pwd=密码
fetion --sid=飞信号  --pwd=密码

服务模式支持电子邮箱注册的飞信号码

服务模式开发使用资料导航:

1.飞信机器人服务版配置视频教程: http://bbs.it-adv.net/viewthread.php?tid=188&extra=page%3D1
    (该视频教程为windows版本,linux版本和此类似)
2. 飞信机器人框架配置指南: http://bbs.it-adv.net/viewthread.php?tid=174&extra=page%3D1
3. 自带演示框架数据库说明及操作指南(PDF): http://bbs.it-adv.net/viewthread.php?tid=172&extra=page%3D1 
4. 插件原理: http://bbs.it-adv.net/viewthread.php?tid=28&extra=page%3D1
5. 机器人PHP框架及数据库SQL文件: http://www.it-adv.net/fetion/downng/plugins_sql.rar
6. 控制指令集: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E6%8E%A7%E5%88%B6%E6%8C%87%E4%BB%A4%E9%9B%86
7. 事件插件: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E4%BA%8B%E4%BB%B6%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E8%AF%B4%E6%98%8E
8.蓝色理想飞信机器人WIKI: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA

服务版本未授权的用户使用时,有如下限制:
1、不支持加好友请求事件(handle_contact_request)
2、不支持删除指令(buddy-delete)
3、不支持获取好友信息指令(contact-info)
4、发送消息时,后面有网站信息

新版变化:
1、新版插件第一个参数传递的飞信号码(以前传递的是手机号,由此带来的问题是:如果还是用原来的框架,那么生成的cmd文件,前面是飞信号。但是飞信机器人主程序认的命令文件是 手机号_id.cmd, 所以,请修改相应代码,把飞信号换成手机号)
2、handle_contact_request,传递的userid(之前是uri)
3、buddy-delete 使用 userid
4、accept_contact_request: 使用 userid
5、buddy-data: 新增加一个字段:carrier-region,例如:CN.bj.10.

升级注意事项:
1、以前使用飞信机器人服务版框架的朋友进行升级时一定注意:因插件的第一个参数由以前的手机号改成了飞信号, plugin_buddy_data 中一段代码需要删除,否则会造成好友等几个数据表清空。
2、V4协议中,用户所属城市信息由以前的 省+市 改成了 carrier-region ,plugin_buddy_data 中的 province  和 city 不在有效


你可能感兴趣的:([转]支持V4协议飞信机器人发布(20101205002服务/命令模式均支持))