1.这里使用的是易语言的SDK,所以请看不惯的人自行离开。{wymbf.}

  1.2 这里不会直接给你工程,请用动手打代码,动脑思考。

    1.3 不知道、不了解酷Q是干嘛的,请访问:https://cqp.cc/forum.php

2. 请阅读文档[请用一两分钟的时间仔细阅读以下条例] :

限制行为(开发者、用户):

2.1 [×] 禁止在任何地方发布或使用违反法律的应用(相关公告)。一经发现,社区团队将直接删除应用、停用相关账号,并配合公安机关调查取证。

2.2 [×] 禁止在任何地方发布或使用下列包含高风险功能的应用。一经发现,社区团队将直接删除应用、停用相关账号:
  2.2.1 主打批量发送或定时批量发送功能的
  2.2.2 用于按顺序发送特定内容的
  2.2.3 主打广告发送的
  2.2.4 违反社会道德规范的(如骂人应用等)
  2.2.5 涉及彩票相关功能的(若违反 2.1 条,则直接按 2.1 条进行处理)
  2.2.6 涉及赌博性质游戏,但不涉及财物的(若涉及财物,则直接按 2.1 条进行处理)
  2.2.7 涉及破坏网游公平性的(如网游修改器等,若违反 2.1 条,则直接按 2.1 条进行处理)
  2.2.8 涉及收发红包功能的

2.3 [!] 不要在社区发布下列类别的应用。一经发现,社区团队将采取对应措施。
  2.3.1 在应用所发消息中包含广告、推广性质信息的:归档或删除应用
  2.3.2 邀请加群(如邀请统计等):归档或删除应用
  2.3.3 引流、薅羊毛等:归档或删除应用
  2.3.4 涉及漏洞利用:归档或删除应用

2.4 对于诸如下列不违反 2.1 至 2.3 条,但包含风险功能的应用,社区团队可能会视情况采取关闭回复、归档或删除应用的措施:
  2.4.1 采集、发送影视链接
  2.4.2 好友点赞
  2.4.3 购物商品推荐

2.5 不推荐在社区发布需加群授权/推广使用类的应用。在明确注明使用限制的情况下,此类应用可以发布,但社区团队将关闭回复。(请阅读详细公告)

————————————————————————————————————————————

2. |鉴于工具的不同使用方式|使用者与开发者有可能违法上述条例中的2.2 | 有可能对社区造成不好的影响|

      |请大家勿将其用于任何非法途径,这将对支持酷Q社区及其团队的长期发展是很好的帮助。

2.1|因开发规范的限制,将不会发布工程文件。

3.入门

3.1 为什么选择了易语言

  易语言是我小时候的玩具,这是一项非常方便的开发工具。从小学到初中,我曾经将它爱不释手,带着它经历了windowsxp,7,8,10四个版本的变更。直到2016年还有在断断续续的使用。当然四五年之后,我再次面对它shi,我是这样的:

    Dim get_time as .... !!! 下拉菜单不见了?

沙雕,这是Basic的语法好不啦。

  哦对,那个时候,酷Q机器人貌似才诞生不久来着。[忙着做外挂,哪里知道这些,而且那时候的我还小,只是为了开心而去玩弄而已]

 这么多年发展过来,真的佩服吴涛,居然带着易语言撑下来了。而且易语言的社区空前的壮大[/ 。。。什么时候vb6也能被孩子们多重视。]

  扯远了,所以选择易语言一方面是因为眼瞎,没看到提供的其他语言SDK,一方面是想重温一下。而且,易语言与VB6类似,IDE秒开秒编译秒运行,死气沉沉的VS....你走吧,不爱你了。

3.2 我们需要准备什么:

   易语言开发工具

   SDK【由官方和其他开发者建立的】 的下载地址:https://cqp.cc/t/15124

   开发文档:https://d.cqp.me/Pro/开发 [这里仅有几个说明......  显然对我这种把易语言关键字忘光了的人没有卵用。]

   酷QAir 小i版 [貌似是没有区别的。] https://cqp.cc/t/23253#pid873447

   两个/一个QQ账号:  https://ssl.zc.qq.com/v3/index-chs.html

3.3  使用酷Q并打开开发模式:

  将酷Q下载并解压下来。

  将SDK下载并解压下来。

  打开酷Q,登录它。

  在悬浮窗/酷Q托盘 右键鼠标弹出菜单,选择 应用-->应用管理-->在弹出来的这个窗体 疯狂的按关闭按钮左边的版本号!

  这个时候打开根目录,你将发现多了一个/dev的文件夹。

3.4 了解APPID

  https://d.cqp.me/Pro/开发/基础信息

去上面这个链接,你能知道appid该怎么设置。

3.5 打开DEMO!

  解压下载下来的DEMO之后,可以看到三个文件夹和一个E语言模块源码以及模块文件和其他声明文本文档。

  打开 com.example.demo/

  我们将看到文件夹下有两个东西 一个是 json 文件 一个是E语言源码文件

  使用易语言工具打开源码文件,我们来看一下里面的东西。

  注意 :打开的时候可能会有一个易模块丢失的提示框,找到前面的根目录,将那个EC文件替换引用就好了。

3.6  分析代码:

  虽然做好了心理准备,但是打开这个DEMO的时候,我还是懵了。

  【这些表格和中文是个啥!!!!!   30分钟后: 欸,真香。】

  单击左边的 【程序】——》程序数据——》展开CQ应用

    再右边的代码窗口,右键菜单,展开所有子程序。

这就是酷Q插件中的事件,并且它的声明已经很完整了,|代码注释是中文这一点倒是很直观

你可以花费一分钟的时间将它看一下。

——————————————————————

我们主要来关心这个函数    |   Function AppInfo ×

                   |    子程序    AppInfo  √

.版本 2

.子程序 AppInfo, 文本型, 公开, [请填写] 应用的ApiVer、Appid //请不要在本子程序添加其他代码
.局部变量 ApiVer, 整数型
.局部变量 AppID, 文本型

ApiVer = 9 ' Api版本号
AppID = “com.example.demo” ' AppID,规则见 https://d.cqp.me/Pro/开发/基础信息
返回 (到文本 (ApiVer) + “,” + AppID)

根据之前了解的AppID,我们很容易将这里的appid改成自己的。

例如

        me.cqp.inkhin.groupsend

      _______________________________________

为了确保唯一性,请不要照抄我的设置,欸?我怎么绿了。

当你改好了Appid的时候,大概就完成了第一步。

打开_eventPrivateMsg这个函数,我们可以看到下面写了什么。

.子程序 _eventPrivateMsg, 整数型, 公开, Type=21 私聊消息
.参数 subType, 整数型, , 子类型,11/来自好友 1/来自在线状态 2/来自群 3/来自讨论组
.参数 msgId, 整数型, , 消息ID
.参数 fromQQ, 长整数型, , 来源QQ
.参数 msg, 文本型, , 消息内容
.参数 font, 整数型, , 字体

' 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。

CQ.发送私聊消息 (fromQQ, CQ.CQ码_At (fromQQ) + “你发送了消息:” + msg)

' 如果要回复消息,请调用 api 发送,则 返回(#消息_拦截) - 拦截本条消息,不再由其他应用继续处理 //注意:应用优先级设置为"最高"(10000)时,无法使用本返回值
' 如果不回复消息,交由之后的应用处理,则 返回(#消息_忽略) - 忽略本条消息
返回 (#消息_忽略)
'''

这是一个接受私聊消息的事件,其中有一个要提到,CQ码,在这里是转义“@”的意思,fromQQ参数就是发给你私聊消息那个人的QQ。你可以在右边的文档链接里了解到。https://d.cqp.me/Pro/CQ%E7%A0%81

哦,对了,这也是我说为什么要两个QQ的原因,不然你在尝试加载插件后,可能会出现下面的场景:

3.7 尝试编译并载入插件

  使用 静态编译 生成 app.dll

  复制你的appid,将目录名称com.example.demo,修改为你的appid。

  将它这个目录移动到/dev下,确保这个路径里有以下两个文件 app.dll app.json.

  按照之前的步骤打开应用管理,你将看到这样一些属性。

  

  在菜单里,还能看到 设置A和设置B,点击它,居然出现了弹框,哇好神奇啊!再仔细比对代码,咦,这不就是_menuA和_menuB么。

  但是你找遍代码也没找到设置的点对不对?

  没错,是时候打开/dev/appid/下的app.json了!

3.8  分析Json

  【又见vs..... 谁让你是我的默认编辑器呢。】

很明显了,所有的参数都在里面,包括函数的使用。

  

我懒得讲...你也懒得看。

3.9 修改DEMO。

这个也不说了,这是编程最好的学习方式。

4.通过上面的这些介绍,于是你很容易就能做出各种各样的插件:

以下是昨天制作的群消息定时发送插件,但是据开发规范2.2,此类工具具有非常高的风险,所以不会公布源文件。请大家理解并支持CQ。

  

使用效果。

  以上仅总结我的个人经验,单纯的为了出于学习的目的,由于没有了解到到CQ的开发者规范,造成了不好的影响,非常抱歉。

    

酷Q插件_SDK———入门与使用的更多相关文章

  1. 【酷Q插件制作】教大家做一个简单的签到插件

    酷Q插件已经有很多了,社区分享一大堆,不过还是自己写才有乐趣,哈哈.不得不吐槽一下,酷Q竟然不更新了,出了个酷Q pro,还收费!!诶.不过这也影响不了咱写插件的心情,今天教大家写一个酷Q签到插件,虽 ...

  2. 使用酷Q SDK开发QQ机器人

    酷Q SDK下载地址:https://github.com/CoolQ/cqsdk-vc 打开工程,编辑appmain.cpp 将“私聊消息”处的代码 更改为 CQEVENT(int32_t, __e ...

  3. 酷Q机器人,QQ机器人使用教程

    软件介绍: 酷Q,软件酷Q机器人是一款基于webqq开发的一款自动接收.处理qq消息的软件. 改程序使用易语言编写,精简大量不必要代码,减小了软件体积,优化程序速度,使得酷Q更加轻巧好用. 在消息处理 ...

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

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

  5. 【酷Q&C++】如何利用酷Q制作一个机器人?

    ——酷Q Air教程 要想阅读本篇教程,读者需要基本的C++知识以及Visual Studio 2010/2015/2017 首先,需要从官方网站下载软件 https://cqp.cc/t/23253 ...

  6. NoneBot+酷Q,打造QQ机器人

    NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...

  7. IntelliJ IDEA(九) :酷炫插件系列

    最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能提高我们的与众不同. 1.插件的安装 打开setting文件 ...

  8. IntelliJ IDEA,酷炫插件系列,提高你的工作效率

    今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 1.插件的安装 打开setting文件选择Plugins选项 Ctrl + Alt ...

  9. Gulp:插件编写入门

    之前挖了个坑,准备写篇gulp插件编写入门的科普文,之后迟迟没有动笔,因为不知道该肿么讲清楚Stream这货,毕竟,gulp插件的实现不像grunt插件的实现那么直观. 好吧,于是决定单刀直入了.文中 ...

随机推荐

  1. PHP mysqli_fetch_object() 函数

    定义和用法 mysqli_fetch_object() 函数从结果集中取得当前行,并作为对象返回. 注释:该函数返回的字段名是区分大小写的. <?php // 假定数据库用户名:root,密码: ...

  2. Makefile(三)

    在平时使用中,可以使用以下的makefile来编译单独的代码 src = $(wildcard *.c) obj = $(patsubst %.c, %.o, $(src)) CC = gcc CFL ...

  3. 如何利用新浪官方的短网址API接口实现T.cn短链接的压缩生成

    短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,当请求某个短网址时,程序跳转到对应的实际网址上去,从而实现网址的访问.目前国内最稳定最好用的是新浪T.cn短链接. 之前新浪提供了 ...

  4. OUC_Summer Training_ DIV2_#2之解题策略 715

    这是第一天的CF,是的,我拖到了现在.恩忽视掉这个细节,其实这一篇只有一道题,因为这次一共做了3道题,只对了一道就是这一道,还有一道理解了的就是第一篇博客丑数那道,还有一道因为英语实在太拙计理解错了题 ...

  5. 报错1251 - Client does not support authentication protocol 解决办法

    # 1.容器中登录mysql,查看mysql的版本 status; # 2,进行授权远程连接(注意mysql 8.0跟之前的授权方式不同) GRANT ALL ON *.* TO 'root'@'%' ...

  6. 操作系统 | 结合 CPU 理解一行 Java 代码是怎么执行的

    根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单 ...

  7. Android性能优化-电量优化

    前言 电量优化,这个名词在传统PC时代,我们基本很少听见.然而到了诺基亚时代,我们也同样很少关注.直到了移动互联的智能机时代.电量优化才被慢慢的重视起来.可能的原因如下: 移动设备,不能一直使用电源供 ...

  8. [Java复习] 多线程&并发 知识点补充

    0. wait/notify/notifyAll的理解? wait:让持有该对象锁的线程等待: notify: 唤醒任何一个持有该对象锁的线程: notifyAll: 唤醒所有持有该对象锁的线程: 它 ...

  9. JVM学习笔记之初识JVM(三)

    一.JVM在计算机中的位置 JVM调用操作系统,操作系统调用硬件,硬件反馈信息至操作系统,操作系统反馈信息至JVM 二.JVM的体系结构 JVM在执行过程中对内存的管理分为5个区域: 1.PC寄存器 ...

  10. 006-数据结构-树形结构-二叉树、二叉查找树、平衡二叉查找树-AVL树

    一.概述 树其实就是不包含回路的连通无向图.树其实是范畴更广的图的特例. 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合. 1.1.树的特性: 每个结点有零个或多个子 ...