契约机器人开发教程|窗体和契约SDK交互|良心人开发工作室
学习内容简介
本教程主要实现:
契约sdk窗体的使用
窗体和sdk交互注意事项
详细内容:
契约SDK和窗体交互方法
说明:
本课程源代码支持契约单Q版和多Q版框架
联系我们
如果你有机器人开发问题或有需求不会开发,可与我们进行联系
QQ机器人开发交流群
声明
本教程非契约官方教程,为作者学习易语言过程的知识总结,将主要内容整理、汇总后,形成本教程。
致力于进行技术交流,协助新人快速入门,少走弯路。
请在遵守中华人民共和国法律、腾讯相关规定和契约框架相关说明下进行使用
如您使用本技术,进行包括但不限于如下行为,软件作者并不知情,不承担任何法律风险
1.违法行为
2.违法腾讯规定
3.违法契约框架规定
教程内容
对于开发新人往往搞不懂,窗体和SDK之间怎样进行交互,这个问题也困扰了作者很久,走了许多弯路,因此将这部分内容单独整理出来 与大家进行分享
打开窗体
契约SDK的_menuA 和_menuB两个函数对应可以打开窗体,具体代码是调用 载入函数,如下图所示:

这样在加载插件后,界面上的菜单 就会显示菜单,点击对应表项就可以打开窗体

修改菜单文本
如果想修改菜单项显示文本,可以在插件配置(常量表->应用配置)最下方看到配置信息,修改对应文字即可

如果你对json比较熟悉,也可以删除一个菜单 只保留一个菜单项
窗体设置群监控关键字进行动态回复
一般窗体中提供配置信息,让机器人主人动态配置,实现动态化,我们来实现一个简单例子:
窗口中配置问题,同时配置问题答案,当有好友发的消息和问题一样,则机器人自动回复问题答案。
通过这个小功能,来学习窗体和契约SDK进行交互
新建窗体
右侧->窗口鼠标右键->插入新窗口

打开窗口界面,窗口的名称超级重大,常常需要用到

设置窗体
在窗体中增加两个文本框,一个接收输入的问题,一个接收输入的答案,如下图所示:

功能实现
如果机器人好友私聊消息,匹配到窗体上设置的问题,则机器人发送窗体上设置的答案
还记得 在哪里开始编写代码么? 在函数 _eventPrivateMsg 中
代码超级简单,主要在 _eventPrivateMsg 中 主要获得窗体上配置的问题和答案?
第一 窗口名称为 窗口2,文本框的名称为 编辑框1,取用户输入的内容 最终是
窗口2.编辑框1.内容,完整的路径
完整代码如下:
.版本 2
.判断开始 (subType = 11) ' /来自好友
.如果真 (msg = 窗口2.编辑框1.内容)
QY.发送好友消息 (QQID, fromQQ, 窗口2.编辑框2.内容)
.如果真结束
如果发送的内容,与窗口设置内容一样,则发送设置的答案
为了能打开窗口,还需要在菜单函数中载入窗口2,代码如下
.版本 2
.子程序 _menuA, 整数型, 公开
' 本子程序会在【主线程】中被调用。
载入 (窗口2, , 假)
返回 (0)
编译插件,加载
测试如下:

使用全局变量 保存窗体设置
如上代码 正常使用没有问题,但如果窗口被关闭,我们在给机器人发消息 良心在么,会发现插件会报如下错误

这是由于使用 窗口2.编辑框1.内容 读取内容时,必须窗口时打开状态,否则会由于找不到窗体进行报错
怎样解决这个问题? 可以将问题和答案保存到全局变量中这样就可以正常使用,为窗体编辑框 设置全局变量:

代码如下:
.版本 2
.子程序 _编辑框1_内容被改变
global_question = 编辑框1.内容
.子程序 _编辑框2_内容被改变
.局部变量 global_answer, 文本型
global_answer = 编辑框2.内容
对应的 _eventPrivateMsg 中的代码修改如下:
.版本 2
.判断开始 (subType = 11) ' /来自好友
.如果真 (msg = global_question)
QY.发送好友消息 (QQID, fromQQ, global_answer)
编译后 加载插件 在执行,发现关闭窗口 也不会报错,完美解决了问题
使用配置文件 保存窗体设置
还有一种保存 窗体配置的方法,将窗体设置保存到 配置文件中 ,代码如下:
在窗口关闭时,将在窗体上 配置的信息保存到配置文件中
.版本 2
.子程序 _窗口2_窗口可否被关闭, 逻辑型
写配置项 (应用目录 + “config.txt”, “config”, “question”, 编辑框1.内容)
写配置项 (应用目录 + “config.txt”, “config”, “answer”, 编辑框2.内容)
然后在好友消息处理函数中修改为如下代码:
.版本 2
.判断开始 (subType = 11) ' /来自好友
.如果真 (msg = 读配置项 (应用目录 + “config.txt”, “config”, “question”, ))
QY.发送好友消息 (QQID, fromQQ, 读配置项 (应用目录 + “config.txt”, “config”, “answer”, ))
这样在窗体被关闭后,机器人功能依旧可以使用,通过配置文件,可以设置多个变量 ,比全局变量的方法 更通用
总结
今天的内容就到这里,欢迎大家持续关注 良心工作室开发教程
完整代码下载地址(售价5元):
契约机器人窗体和SDK交互



















暂无评论内容