QQ登录

只需一步,快速开始

发帖

新手教程-调用小爱api实现聊天互动 [技术分享]

[复制链接]
mindbin 发表于 2022-8-19 17:49:42 | 显示全部楼层 |阅读模式

在群里,为了不让机器人回复每条消息,所以要实现命令的的方式与机器人聊天
命令调用格式为:
[命令] [命令内容]
以下子程序将判断命令格式是否符合预期,并返回布尔值,用以判断改文本是否是一个命令

第一个参数使用来存储匹配规则,使用正则表达式
第二个参数是用来匹配的文本
第三个参数(匹配文本参)是个数组,用来存储命令,和命令内容。当不符合命令格式时,它默认是空字符串。



这里我使用了小爱机器人接口,它返回的是json数据属于文本型,所以我使用了网页_访问S
之后我是用 编码_URL解码将返回的结果使用utf-8解码,使中文信息正确地展示。



这里使用DR.码_反转义是因为我发现直接使用messageBody作为文本输入,我向机器人发送的命令信息不起作用。
当我使用命令:
[命令] [命令内容]
通过开发模式,查看日志:
{"event":"ChannelMessageEvent",
"islandId":"",
"channelId":"",
"userId":"",
"messageId":"",
"messageBody":"[命令] [命令内容]"}
发现messageBody中的中括号被转义成了[ ],
通过查找模块,调试发现DR.码_反转义具有能将[ ] 转换为中括号的功能。
由此我实现了小爱API接口的调用。下面是效果图。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

楼主| mindbin 发表于 2022-8-19 17:54:07 | 显示全部楼层
本帖最后由 mindbin 于 2022-8-19 17:58 编辑

小爱API接口
https://xiaobai.klizi.cn/API/other/xiaoai.php?data=&msg=聊天内容
缺陷: 只支持一个命令参数,若有需求,请自行扩展。
开发互助,QQ:781742062 ,
加好友请注明来自梦幻社区
我也在学习如何使用机器人,一起来交流把。




回复

使用道具 举报

Powered by Discuz! © 2001-2024 Discuz! Team. X3.5

GMT+8, 2024-11-24 07:18 , Processed in 0.053457 second(s), 19 queries Archiver|手机版|梦幻社区 | 鄂ICP备17017983号-3 |

登录切换风格
快速回复 返回顶部 返回列表