mindbin 发表于 2022-8-19 17:49:42

新手教程-调用小爱api实现聊天互动


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

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



这里我使用了小爱机器人接口,它返回的是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 ,
加好友请注明来自梦幻社区
我也在学习如何使用机器人,一起来交流把。




页: [1]
查看完整版本: 新手教程-调用小爱api实现聊天互动