【原创】契约机器人开发教程|契约SDK详解|契约开发文档

完整契约开发基础教程
免费开发软件论坛
契约插件列表

学习内容简介

本教程主要实现:

下载契约SDK
熟悉契约SDK基本结构
编写基础功能收发消息
编译和发布插件

详细内容:
契约群发、私聊 功能的使用
学会发送: 文本、图片、语音、卡片

说明:
本课程源代码支持契约单Q版和多Q版框架

联系我们

如果你有机器人开发问题或有需求,可与我们进行交流
QQ机器人开发交流群

声明

本教程非契约官方教程,为作者学习易语言过程的知识总结,将主要内容整理、汇总后,形成本教程。

致力于进行技术交流,帮助新人快速入门,少走弯路。

请在遵守中华人民共和国法律、腾讯相关规定和契约框架相关说明下进行使用

如您使用本技术,进行包括但不限于如下行为,软件作者并不知情,不承担任何法律风险
1.违法行为
2.违法腾讯规定
3.违法契约框架规定

教程内容

下载插件SDK

首先需要下载契约官方提供的易语言SDK,
易语言SDK

解压文件后文件如下:


1.契约sdk详解.png

QYPluginSDK 文件是SDK源代码
QYPluginSDK.v2018.20190617 是编译好的sdk
com.contract.testapp(v2018.20190617) 是Demo源代码,可以在此文件上进行修改

SDK介绍

QYPluginSDK.e文件详情

1.契约sdk源代码.png

使用易语言编译器 打开com.contract.testapp(v2018.20190617).e 时需要选择QYPluginSDK.v2018.20190617文件


1.契约demo代码.png

打开后看到左侧是契约SDK提供的API信息,所有的代码都从这里开始编写的


1.契约demo代码.png

demo文件是一个完整文件,可以直接编译生成dll插件,如下图所示


1.契约插件编译和发布.png

将文件放到plugin下,运行契约程序。


1.运行契约程序.png

登录QQ后,点击 载入插件,查看到插件的基本信息


1.契约载入插件.png

点击菜单 查看更多的功能


1.契约功能说明.png

开发功能

修改插件配置信息

修改 常量表 -> 应用信息 鼠标点击 即可进行修改

1.契约插件配置信息.png

群消息监控

别人在QQ群里发 良心,机器人回答 良心开发机器人

_eventGroupMsg 进行开发,传递参数如下所示

1.契约群消息函数.png

编写代码如下,QY是全局变量,输入点 可以看到被选中的函数,根据函数名字,基本上可以看出函数功能,每个函数 根据参数即可知道使用方法,传递对应参数到函数中,需要看到对应的参数类型,有长整数型,文本型,代码如下:

1.契约参数查看.png

好友消息监控

好友给机器人发 你好,机器人回复 良心机器人给你打招呼

_eventPrivateMsg 进行开发,传递参数如下所示:

1.契约好友消息函数.png

与群发消息函数相同,代码如下:


1.契约好友消息函数.png

别人加机器人好友时机器人同意

别人加机器人好友时,自动同意

_eventRequest_AddFriend 具体代码如下:

QY.置处理好友添加请求 (QQID, responseFlag, #请求_通过, “测试通过”)

别人拉机器人入群自动同意

_eventRequest_AddGroup 函数

具体代码样例文件都有 ,我们需要将注释去掉 就行,具体如下:


1.拉机器人入群.png

有人退群时 发提示消息

_eventSystem_GroupMemberDecrease 函数

有人退群时发消息,代码如下:


1.有人退群.png

有人加群时,私聊新人

_eventSystem_GroupMemberIncrease 函数

有人加群时,私聊新人 代码如下:


1.群临时会话.png

群消息撤回

契约机器人支持撤回群成员的消息(机器人需要是管理员)
并且给出了样例代码,将其整合 我们做这样的一个功能
群成员发送 良心是坏蛋 则撤回消息,代码如下:
_eventGroupMsg 中加入

.版本 2

.如果真 (msg = “良心是坏蛋”)  ' 匹配到关键词 则启动撤回代码
    .如果真 (fromInfo ≠ “”)
        u.写入 (fromInfo)
        MsgInfo = u.读取 (“MsgInfo”)
        QY.置消息撤回 (QQID, MsgInfo)
    .如果真结束

.如果真结束

契约机器人发送图片功能

契约机器人发送图片非常简单,将本地图片调用
LQ码_本地图片()函数即可

具体功能如下:
在群里发 良心联系方式 将返回一张图片(在源代码中已经有test_pic.png)


1.发送图片.png

_eventGroupMsg 函数 添加代码

.版本 2

.如果真 (msg = “良心联系方式”)
    name = 应用目录 + “test_pic.png”
    .如果真 (写到文件 (name, 到字节集 (网页_访问S (“http://shop.720life.cn/static/mypic/13/17.png”))))
        QY.发送群消息 (QQID, fromGroup, QY.LQ码_本地图片 (name))


同样道理,发送网络图片,更换函数即可,代码如下 发送良心网络 4个字 将返回一个网络图片

.版本 2

.如果真 (msg = “良心网络”)
    QY.发送群消息 (QQID, fromGroup, QY.LQ码_网络图片 (“http://shop.720life.cn/static/mypic/13/17.png”))

契约机器人发语音

发语音更多时候是为了防止消息被屏蔽,同时也可以让群成员看起来 正像是一个真人,所以备受喜爱的一个功能 ,实现上也非常的方便
样例代码:发送语音 4个字 则发送一条语音 详细代码如下:

.版本 2

.如果真 (msg = “发送语音”)
    name = 应用目录 + “test_mp3.mp3”
    .如果真 (写到文件 (name, 到字节集 (网页_访问S (“http://shop.720life.cn/static/mypic/13/17.mp3”))))
        QY.发送群消息 (QQID, fromGroup, QY.LQ码_本地语音 (name))

契约机器人发卡片

契约机器人支持发送xml和json格式的代码,简称卡片功能,主要依赖于 LQ码_特殊消息 函数

实现简单的功能,发送我的卡片,机器人返回一个卡片代码

.版本 2

.如果真 (msg = “发送我的卡片”)
    name = 网页_访问S (“http://shop.720life.cn/static/mypic/13/17.txt”)  ' 获得json代码

    QY.发送群消息 (QQID, fromGroup, QY.LQ码_特殊消息 (#特殊消息_轻应用消息, name))

实际测试

编译、加载插件,进行测试

私聊机器人 你好:

1.私聊机器人.png

群内消息测试:

1.群内消息.png

[图片上传失败...(image-bf5685-1594304196778)]


1.群内消息.png

完整源代码下载地址

契约SDK详解样例代码

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353