酷Q插件_SDK———入门与使用

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的开发者规范,造成了不好的影响,非常抱歉。

 

 

 

 

    

posted @ 2019-07-11 08:53  风陵  阅读(6693)  评论(0编辑  收藏  举报