找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3406|回复: 3

QQ机器人介绍_什么是QQ机器人

[复制链接]
发表于 2012-4-26 23:11:18 | 显示全部楼层 |阅读模式 来自 中国–浙江–丽水
本帖最后由 如此低调 于 2012-4-28 18:40 编辑

什么是QQ机器人?
您可以把QQ机器人当成一个普通的QQ客户端。但是这个QQ机器人具有扩展性,机器人会把收到来自其他QQ的消息转发给您的网站,然后您的网站对该消息处理以后,返回处理结果给QQ机器人,QQ机器人再把收到的处理结果发送给用户的QQ。QQ机器人起到一个桥梁、纽带的作用。

QQ机器人能做什么?
QQ机器人从本质上来说就是一个通信软件。因此其主要功能是围绕通信。比如您网站上有订单了,QQ机器人就可以立即通知您的QQ(手机qq也可以),这样您就不必整天守着网站后台,看有没有订单。还比如每个网站都会被用户遗忘,我们可以隔一段时间通过QQ告知用户网站发生了什么最新消息、事件,提醒用户回访网站,以此激活这些“死”用户。也可以让用户通过QQ发帖、写BLOG、认证等等。

QQ机器人能跟我聊天吗?
就QQ机器人本身来说,他是不能跟您聊天的。比如您问QQ机器人:“吃饭了吗?”,机器人该回答吃了还是没吃,机器人也不知道,他没有智能,不会思考问题。那机器人有什么具体作用呢?上面第一个问题说了,机器人会把收到的“吃饭了吗?”转发给您的网站,您的网站可以处理这个问题,如果您的网站返回“吃过了”,那机器人就会把“吃过了”发送给用户QQ。同理如果您问机器人“1+1=?”,机器人也是把问题“1+1=?”发送给你的网站(也就是接口),然后接口返回2,那机器人也会原封不动把收到的2发送给用户QQ。

QQ机器人可以群发消息吗?
关于群发的问题,群发速度肯定不能太快,即使你用QQ去手动发,发多了、发快了,服务器都认为你中了病毒,提示你下线,让你输入验证码等问题。但是如果你10秒钟发一条甚至1分钟发一条,我想如果24小时发送也一样可以达到群发目的,另外还有个好办法,就是用户上线的时候发送,这样既能解决群发拥堵的问题,又能提高阅读率,一举两得!

QQ机器人功能演示

单聊演示请加QQ机器人为好友,406001014   群聊演示请加群:71377165

QQ机器人有好友数量限制吗?
机器人不受好友数量限制,因为机器人不需要加好友,因此不用担心好友满了怎么办。

QQ机器人可以用多久?
机器人历经2005、2009sp1、2009sp6、国际版、2011、2012b1等多个版本,目前是2012b1,最新协议。请放心使用。

QQ机器人可以实现那些功能?
QQ机器人可以实现很多功能,比如网站产生订单后通过QQ机器人通知客服人员处理订单、发货。或者发货后,通过机器人告知买家已发货及单号等。
QQ机器人还可以给您网站带来更多的回访用户。您可以隔一段时间给您的老用户发送消息,提醒他回访您的网站。
QQ机器人可以做SNS网站上的一些功能,比如记录QQ签名。
QQ机器人也可以监控您的网站,如果您的网站有人发表评论或者文章等,提醒您立刻审核,以免出现非法信息。
总之QQ应用范围很广,可以给您的用户带来意想不到的惊喜。几乎每个网友都会使用QQ,所以如果您网站安装了QQ机器人,就相当于您网站跟网友建立一个高速通道,您可以随时通知您的用户,您网站上发生的事情。

QQ机器人是怎么跟我网站互动(通信)的?
上面多个问题已经谈到通信过程。具体通信协议如下:
机器人有两个主要操作,一个是网站主动发送消息给QQ用户。另一个是网站收到QQ消息后如何来处理。
我们是分别通过机器人GET数据到接口和POST数据到接口来通信。
GET返回的数据格式是:群号码\nQQ号码\n消息内容
POST方式通信过程:机器人发送3个参数:ExternalId、Sender、Message,分别表示群号码、QQ号码、消息内容。提交后,接口返回结果用于回复QQ好友或者群消息。
接口支持任何网页编程语言,例如asp、php、asp.net、jsp等等所有网站语言,因为接口是基于HTTP协议,因此只要是网站,就可以用QQ机器人。(接受订制,不是网站也可以)

我怎么用这个QQ机器人?
QQ机器人是基于.net 2.0的应用程序,如果您的电脑中没有安装.net 2.0,请先下载安装:http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=zh-cn,机器人软件下载后解压缩到本地硬盘,然后用记事本修改QQRobot.exe.config,按照里面注释完成配置即可使用。你需要先有一个QQ号码和QQ密码(可以到http://reg.qq.com注册),然后给QQ机器人软件设置好QQ号码和QQ密码,设置好您的网站接口地址。所谓接口就是能处理QQ消息的网页地址(通常会是asp/php/asp.net/jsp等等网页编程语言写的动态网页。它能够接收QQ机器人转发给他的QQ聊天内容,收到聊天内容后通过该接口的某些处理,然后输出处理结果。),设置好上面3个参数,您就可以启动QQ机器人软件了。

asp、php、asp.net语言接口示例


QQ机器人运行环境是什么样的?
机器人试用C#语言开发,运行于.net环境,因此只要能安装.net框架,例如windows服务器、linux服务器都可以运行机器人软件。另外机器人软件也可以运行在您个人电脑上。不是必须在服务器上。如果您是站长,我建议您最好让QQ机器人软件24小时在您的服务器上运行,以保证能及时处理用户的消息。

QQ机器人是网页程序吗?
QQ机器人是一个windows桌面程序,类似DOS命令行,不能运行在虚拟主机上(网上购买那种100M、200M空间那种),但是可以运行在VPS,独立服务区上。

QQ机器人支持数据库吗?
其实QQ机器人谈不上支不支持数据库,也许您会认为不支持,实际上QQ机器人是跟您的网站接口通信,QQ机器人不知道您接口后面会怎么操作,它也不关心您的操作。接口只要按照机器人通信协议通信就可以了。您的接口可以做任何运算:连接数据库、访问其他服务器、调用其他软件,等等,凡是网站具有的功能,接口就具有,同理QQ机器人也就支持。这么做可以保证接口最大的灵活性,方便扩展功能。

如何购买?
联系QQ:915271014或者发送邮件:915271014@qq.com购买,一套软件一个序列号,先付款后发软件、序列号(如果担心先付款受骗可以长期测试、观察,几个月都可以,满意后购买,软件从09年8月稳定运行至今)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2012-4-26 23:12:41 | 显示全部楼层 来自 中国–浙江–丽水
接口的开发方法:接口文件可以用asp、php、asp.net等语言完成。下面是asp.net语言范例:

  1. using System;

  2.     using System.Collections;

  3.     using System.Configuration;

  4.     using System.Data;

  5.     using System.Linq;

  6.     using System.Web;

  7.     using System.Web.Security;

  8.     using System.Web.UI;

  9.     using System.Web.UI.HtmlControls;

  10.     using System.Web.UI.WebControls;

  11.     using System.Web.UI.WebControls.WebParts;

  12.     using System.Xml.Linq;

  13.     using System.IO;

  14.     using System.Text.RegularExpressions;



  15.     namespace Web

  16.     {

  17.     public partial class qqinterface : System.Web.UI.Page

  18.     {

  19.     public static Queue que = Queue.Synchronized(new Queue());

  20.     public static Hashtable hashFriends = Hashtable.Synchronized(new Hashtable());

  21.     protected void Page_Load(object sender, EventArgs e)

  22.     {



  23.     if (Request.RequestType.Equals("post", StringComparison.InvariantCultureIgnoreCase))

  24.     {

  25.     string ExternalId = Request.Form["ExternalId"];

  26.     string Sender = Request.Form["Sender"];

  27.     string Message = Request.Form["Message"];



  28.     if (ExternalId == "0")

  29.     {//qq消息

  30.     Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到QQ:{0}的消息:{1}", Sender, Message);

  31.     Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到QQ:{0}的消息:{1}", Sender, Message));

  32.     }

  33.     else if (ExternalId == "-1")

  34.     {//加好友消息

  35.     Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到加好友的请求:{0}的消息:{1}", Sender, Message);

  36.     que.Enqueue("0\n915271014\n" + Sender + "加机器人为好友");

  37.     Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到加好友的请求:{0}的消息:{1}", Sender, Message));

  38.     }

  39.     else if (ExternalId == "-2")

  40.     {//好友列表

  41.     StringReader reader = new StringReader(Message);

  42.     string line = reader.ReadLine();

  43.     while (line != null)

  44.     {

  45.     Match m = Regex.Match(line, @"^(\d+) (ONLINE|OFFLINE|AWAY|HIDDEN) (.*?)$", RegexOptions.Compiled | RegexOptions.IgnoreCase);

  46.     string qq = m.Groups[1].ToString();

  47.     string status = m.Groups[2].ToString();

  48.     string nick = m.Groups[3].ToString();

  49.     hashFriends[qq] = new string[] { nick, status };

  50.     line = reader.ReadLine();

  51.     }

  52.     }

  53.     else if (ExternalId == "-3")

  54.     {

  55.     //qq签名改变

  56.     Cache["receive"] = string.Format("收到QQ:{0}的签名:{1}", Sender, Message);

  57.     Response.Write(string.Format("{0},您的新签名很有意思:{1}", Sender, Message));

  58.     }

  59.     else

  60.     {//群消息处理

  61.     Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到群:{0}的消息:{1}", ExternalId, Message);

  62.     Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到群:{0}的消息:{1}", ExternalId, Message));

  63.     }



  64.     }

  65.     else

  66.     {

  67.     if (que.Count>0)

  68.     {

  69.     Response.Write(que.Dequeue() as string);

  70.     }

  71.     //Response.Write("71377165\n0\n现在时间是:" + DateTime.Now.ToString());//主动给群71377165发送消息

  72.     //Response.Write("0\n915271014\n现在时间是:" + DateTime.Now.ToString());//主动发送QQ消息给915271014

  73.     }

  74.     }

  75.     }

  76.     }
复制代码


注意qqinterface.aspx内容只有一句:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="qqinterface.aspx.cs" Inherits="Web.qqinterface" %>

asp接口示例 :

   
  1. <%

  2.     Response.Charset="utf-8"

  3.     If request.Form("Sender") <> "" Then

  4.     if request.Form("ExternalId")<>"0" Then

  5.     Response.Write "收到来自群" + request.Form("ExternalId")&"的消息:"&request.Form("Message")

  6.     else

  7.     Response.Write "收到来自"&request.Form("Sender")&"的消息:"&request.Form("Message")

  8.     end if

  9.     Else

  10.     //Response.Write "0"&vbcrlf&"915271014"&vbcrlf&"你要发送的信息"

  11.     End If



  12.     %>
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2012-4-27 07:05:42 | 显示全部楼层 来自 中国–河北–唐山
力挺此文章

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2012-5-5 14:13:06 | 显示全部楼层 来自 中国–辽宁–葫芦岛
关机了 是不是就不运行了呢?

点评

如果你的机器人运行到自己的电脑上那关机了是不能运行的,你需要运行在网络服务器上才能长期运行,给你推荐一个vps挂机宝,加他QQ自己问一下他:7149322  发表于 2012-5-5 15:27

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 04:21 , Processed in 0.050810 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表