在阅读本文章之前,希望您已经看过这篇文章,这相对理解这个文章要更容易一些:http://www.cnblogs.com/Traceless/p/6010574.html

近期由于项目需要,需要对接酷Q,找了很多资料,基本都是E语言的,这对C#程序员就有点过分了。。。

也幸得找到了一个Flexlive.CQP.Framework的框架,针对酷Q的二次封装。

由于该框架是基于加载插件来进行的,需要将我们自己的项目与酷Q对接分离,这并不合理,于是我将其做了一些改动,使它采用C#的事件机制。

首先在你的项目直接引用:Flexlive.CQP.Framework.dll

一、首先调用该框架的UDP协议启动对酷Q的监控:

        /// <summary>/// 启动酷Q UDP协议监控/// </summary>public bool Start(){try{CQUDPProxy.GetInstance().Start();Program.SendLog("启动完成,正在启动酷Q");var myProcesses = System.Diagnostics.Process.GetProcessesByName("CQP");if (myProcesses.Length <= 0){var path = Application.StartupPath + @"\CQP.exe";Process.Start(path);}}catch (Exception ex){return false;}  }return true;}

二、对框架中的CQMessageAnalysis类的事件订阅(该类为静态类)

  /// <summary>/// Type=21 私聊消息。/// </summary>public static event EventPrivateMessage EventPrivateMessage;/// <summary>/// Type=2 群消息。/// </summary>public static event EventGroupMessage EventGroupMessage;/// <summary>/// Type=4 讨论组消息。/// </summary>public static event EventDiscussMessage EventDiscussMessage;/// <summary>/// Type=11 群文件上传事件。/// </summary>public static event EventGroupUpload EventGroupUpload;/// <summary>/// Type=101 群事件-管理员变动。/// </summary>public static event EventGroupAdmin EventGroupAdmin;/// <summary>/// Type=102 群事件-群成员减少。/// </summary>public static event EventGroupMemberDecrease EventGroupMemberDecrease;/// <summary>/// Type=103 群事件-群成员增加。/// </summary>public static event EventGroupMemberIncrease EventGroupMemberIncrease;/// <summary>/// Type=201 好友事件-好友已添加。/// </summary>public static event EventFriendAdded EventFriendAdded;/// <summary>/// Type=301 请求-好友添加。/// </summary>public static event EventRequestAddFriend EventRequestAddFriend;/// <summary>/// Type=302 请求-群添加。/// </summary>public static event EventRequestAddGroup EventRequestAddGroup;

这些事件分别的参数和注释:

    /// <summary>/// Type=21 私聊消息/// </summary>/// <param name="subType">子类型,11/来自好友 1/来自在线状态 2/来自群 3/来自讨论组</param>/// <param name="sendTime">发送时间(时间戳)</param>/// <param name="fromQQ">来源QQ</param>/// <param name="msg">消息内容</param>/// <param name="font">字体</param>public delegate void EventPrivateMessage(int subType, int sendTime, long fromQQ, string msg, int font);/// <summary>/// Type=2 群消息。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群号。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="fromAnonymous">来源匿名者。</param>/// <param name="msg">消息内容。</param>/// <param name="font">字体。</param>public delegate void EventGroupMessage(int subType, int sendTime, long fromGroup, long fromQQ, string fromAnonymous, string msg, int font);/// <summary>/// Type=4 讨论组消息。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromDiscuss">来源讨论组。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="msg">消息内容。</param>/// <param name="font">字体。</param>public delegate void EventDiscussMessage(int subType, int sendTime, long fromDiscuss, long fromQQ, string msg, int font);/// <summary>/// Type=11 群文件上传事件。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群号。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="file">上传文件信息。</param>public delegate void EventGroupUpload(int subType, int sendTime, long fromGroup, long fromQQ, string file);/// <summary>/// Type=101 群事件-管理员变动。/// </summary>/// <param name="subType">子类型,1/被取消管理员 2/被设置管理员。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群号。</param>/// <param name="beingOperateQQ">被操作QQ。</param>public delegate void EventGroupAdmin(int subType, int sendTime, long fromGroup, long beingOperateQQ);/// <summary>/// Type=102 群事件-群成员减少。/// </summary>/// <param name="subType">子类型,1/群员离开 2/群员被踢 3/自己(即登录号)被踢。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="beingOperateQQ">被操作QQ。</param>public delegate void EventGroupMemberDecrease(int subType, int sendTime, long fromGroup, long fromQQ, long beingOperateQQ);/// <summary>/// Type=103 群事件-群成员增加。/// </summary>/// <param name="subType">子类型,1/管理员已同意 2/管理员邀请。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="beingOperateQQ">被操作QQ。</param>public delegate void EventGroupMemberIncrease(int subType, int sendTime, long fromGroup, long fromQQ, long beingOperateQQ);/// <summary>/// Type=201 好友事件-好友已添加。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromQQ">来源QQ。</param>public delegate void EventFriendAdded(int subType, int sendTime, long fromQQ);/// <summary>/// Type=301 请求-好友添加。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="msg">附言。</param>/// <param name="responseFlag">反馈标识(处理请求用)。</param>public delegate void EventRequestAddFriend(int subType, int sendTime, long fromQQ, string msg, string responseFlag);/// <summary>/// Type=302 请求-群添加。/// </summary>/// <param name="subType">子类型,目前固定为1。</param>/// <param name="sendTime">发送时间(时间戳)。</param>/// <param name="fromGroup">来源群号。</param>/// <param name="fromQQ">来源QQ。</param>/// <param name="msg">附言。</param>/// <param name="responseFlag">反馈标识(处理请求用)。</param>public delegate void EventRequestAddGroup(int subType, int sendTime, long fromGroup, long fromQQ, string msg, string responseFlag);

Flexlive.CQP.Framework类库及源码下载地址:http://download.csdn.net/detail/my_only/9729193

基于Flexlive.CQP.Framework的C# 酷Q UDP实现相关推荐

  1. QQ聊天机器人--基于酷Q写的插件

      闲着无聊,百度了一下,在微信上调戏微软小冰,感觉很有趣,于是乎百度了一系列关于自动回复的,最后得知了,图灵机器人和酷Q这两个软件,在找的时候发现酷Q(基于易语言)有C++的sdk,所以就打算借助酷 ...

  2. 基于酷Q的工作秘书机器人

    代码地址如下: http://www.demodashi.com/demo/14617.html 环境准备 名称 版本 Jdk 8 groovy 2.4.12 gradle 4.6 酷Q 5.12.3 ...

  3. 怎么用c语言编辑酷q,GitHub - traceless0929/Native.Cqp.Csharp: 完全由 C# 语言编写的 酷Q 插件SDK...

    代码库介绍 base分支为我自用的新建App的模板,引入了一些自己的机制简化开发流程 增加指令消息解析类,采用 (wwh) what who how模式 反射机制优化流程 同步更新Native.SDK ...

  4. python开发酷q插件_基于python和酷Q的QQ机器人开发实践(1)

    基本框架 (1) 酷Q:目前最常用的QQ机器人软件(尤其是在smartQQ失效以后). (2) 酷Q HTTP插件:通过HTTP对酷Q的事件进行上报以及接收HTTP请求来调用酷Q的DLL接口,从而可以 ...

  5. python开发酷q插件gui_基于python和酷Q的QQ机器人开发实践(1)

    基本框架 (1) 酷Q:目前最常用的QQ机器人软件(尤其是在smartQQ失效以后). (2) 酷Q HTTP插件:通过HTTP对酷Q的事件进行上报以及接收HTTP请求来调用酷Q的DLL接口,从而可以 ...

  6. 基于酷Q的崩坏三抽卡模拟_C++入门级酷Q插件开发

    插件简介 为了高仿官方抽卡概率,我设计调整了数据,在一定程度上满足了出货期望和官方概率近视相等~(注意:不同十连间抽卡保底事件是相互独立的,同卡池单抽十连共享保底,抽卡保底不与抽卡的人有关)(Pro和 ...

  7. 利用NoneBot结合酷q打造qq机器人

    项目叙述 Smart QQ在2019年1月13日停止服务了,所以qqbot库不能用了. 所以我们选择利用NoneBot结合酷q打造qq机器人 NoneBot NoneBot 是一个基于 酷 Q 的 P ...

  8. 酷q java_组件-酷Q(QQ)-HTTP TO CQ(失效)

    # :-: HTTP API组件文档 :-: **\[ HTTP TO CQ FOR JAVA \]** :-: [![](https://img.shields.io/badge/simple--r ...

  9. NoneBot集成酷q打造qq机器人

    作者 原文传送 littley www.littley.top 简介 NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件 ...

最新文章

  1. SpringMVC异常处理之分析和搭建环境
  2. 列表-列表统计及删除方法扩展
  3. linux认令牌操作错误,验证令牌操作错误
  4. 【PyTorch】torch.cat==>张量拼接,在图像的应用上可以有效利用原始图像结构信息
  5. Windows DDK要点指南
  6. 小数变百分数_小数除法三要“点”
  7. 2018年蓝桥杯C++B;乘积尾零(拆分法)
  8. 扫描仪scanner接口_QR Code Scanner –适用于Android的条形码扫描仪
  9. linux VM中复制虚拟机后eth0变成eth1
  10. [SharePoint 2010] Visual Studio 2010內撰寫視覺化WebPart超簡單
  11. Qt QDataVisualization 三维图 坐标轴 显示比例
  12. 鲁棒控制——线性矩阵不等式处理(俞立)(1)
  13. SSD【目标检测篇】
  14. ①编写一个程序,实现文件的复制。②写一个加密程序,对文件1.txt进行加密。它从输入流中读入一个密钥,并将文件密文输出。③ 编写一个应用程序,向数据文件out.dat中输入100个1000以内的随机整
  15. EndNote20 for Mac 与搭载Apple M1芯片Mac版Word不兼容的解决方案(新发布的EndNote 20.1更新版可适配Apple M1)
  16. 简化函数调用之五 :Parameterize Method(令函数携带参数)
  17. PHP拼团人数不能超过,怎么解决拼团、抽奖难以凑齐人数这个大问题?
  18. 使用photoshop对图片像素级的标注
  19. Linux下如何安装MySQL 5.0
  20. APP性能测试关注点详细介绍

热门文章

  1. 面试中如何化解懵逼,从一个短网址服务说起
  2. 【leedcode刷题1】两数之和
  3. 全球及中国足病鞋垫行业销售情况及营销渠道策略报告(2022-2027年)
  4. Code Contracts - Precondition Failed
  5. HDU 3518 HDU 4416【后缀自动机len的使用】
  6. pyltp包下载及使用
  7. 爱马仕手表如何鉴别真假?
  8. _exit(0) exit(0) exit(1) return区别
  9. Centos7 添加大于2T磁盘,使用GPT硬盘格式和XFS文件系统
  10. python程序应用经典实例-Python实例应用经典讲解