颠峰娱乐 发表于 2018-7-4 11:27

酷Q机器人自写web接口的思路


前言
昨天回复了一老哥的晨风机器人的问题,有两位朋友私信我咨询酷Q使用web接口来自定义机器人的问题,正好今天有时间,就简单的说说吧

使用前请确认您拥有以下技能和准备
1. 了解易语言和php
2. 了解酷Q易语言开发包(源码本文下方会有)
3. 拥有web服务器一台,虚拟主机、ecs、vps什么都行

实现过程
使用酷Qe语言插件demo,在相应事件中(接收群消息,接收私聊消息等,我只做了群消息)写上对应接口
在本文结尾会发出我自己使用的插件的源码,大家可以根据自己的需求来进行修改

如图:
首先判断下群号,生效的群,否则加群多的QQ会导致web访问太频繁,当然,有易语言功底的朋友可以写配置,我太懒了,不会写
然后就是使用http请求php接口,将接收到的消息的参数传给php,然后由php接口返回指定格式的文本,插件再解析出对应的操作,实现具体操作,我这里返回格式是这样的
命令_群号_发消息的QQ号_参数||命令_群号_发消息的QQ号_参数
多条命令使用||分割,当然这里的分割符号可以自己随意定,两边一致即可




php文件,因为我只做了群消息的接收,所以就只讲解群消息相关,接受私聊消息也是类似,举一反三即可


首先定义一个key,和插件中的保持一致,为了安全而已,可以没有
酷Q插件访问web的时候传过来的参数
subtype 一般用不到
msgid 撤回消息用到,可以用到检测到违禁词自动撤回
fromgroup 接收群消息的群号
fromqq 收到的群消息的发送者的QQ号
fromanonymous 如果群开了匿名消息,有人发匿名消息,这个参数会是个字符串,普通群员发消息,这个参数为空
msg 收到的群消息的内容,这个内容是被酷Q格式化过的,这个要注意,具体是怎么格式化,可以看酷Q的日志
font 消息的字体,一般没什么用

接下来的所有都是在php中对传过来的msg参数进行解析、判断、分割等等操作,然后返回给插件对应的命令和参数。插件来完成对应操作。


简单举个例子,群员领取自定义头衔(需要机器人是群主)
群员发送 领取头衔 xxx
插件将消息传到php,php获取到msg参数内容就是"领取头衔 52pojie"
我们对消息使用空格进行分割,或者正则匹配都行,确定群员要进行领取头衔,并获取到头衔内容,就是52pojie
接下来将领头衔的命令发送给插件,按指定格式输出文本 领取头衔_123456_123456_52pojie(第一个123456是群号,第二个是QQ号)
插件获取文本会进行解析,获取相关参数后,最后会执行
CQ.置群成员专属头衔 (到长整数 (群号), 到长整数 (QQ), 参数, -1)




以上就是简单的实现过程,大家可以根据自己的需求来进行自己的专属定制

发一下酷Q易语言插件的官方demo和我的插件源码、还有php文件,其中php文件是我使用最简单的一版,读写文件来写入相关配置,相比后来使用的数据库版本简单很多,而且是单文件,适合新手使用,而且大佬并不需要demo
其中http访问使用的网上找的彗星http库,第一个圈是官方demo 第二个是我做的插件 第三个是phpdemo


土豪通道:
穷人通道:链接: https://pan.baidu.com/s/17JjcqtlXcb7nrHUascQmZw 密码: 2333

0772boy 发表于 2018-7-10 16:54

特地把接收到的信息用php处理用意何在。。。
本来只需要一个挂机器人的机器,现在变成还要多一个php的服务器?
。。。没太搞明白

-----------------------------------------

想了一下因为每次重新编译插件很麻烦所以写成php方便修改代码?

颠峰娱乐 发表于 2018-7-30 14:41

dongnan 发表于 2018-7-28 15:39
我需要一款类似酷Q的 软件   楼主能写出来吗

做不出来,我并不擅长协议分析。

颠峰娱乐 发表于 2018-7-4 11:30

排版太tm难看了。。。请原谅我不会排版

torboxin 发表于 2018-7-4 11:35

6666的 楼主很努力 先赞后评为敬 吾爱有你更精彩

hualong1009 发表于 2018-7-4 11:36

学习了,感谢

镇.长 发表于 2018-7-23 10:53

好厉害的感觉。

dongnan 发表于 2018-7-28 15:39

我需要一款类似酷Q的 软件   楼主能写出来吗

小生 发表于 2018-8-5 18:38

厉害了厉害了 学习

余生只爱紫霞 发表于 2018-8-7 19:28

可以De,我刚刚学酷 Q插件编写
页: [1] 2
查看完整版本: 酷Q机器人自写web接口的思路