在群里,为了不让机器人回复每条消息,所以要实现命令的的方式与机器人聊天
命令调用格式为:
[命令] [命令内容]
以下子程序将判断命令格式是否符合预期,并返回布尔值,用以判断改文本是否是一个命令
第一个参数使用来存储匹配规则,使用正则表达式
第二个参数是用来匹配的文本
第三个参数(匹配文本参)是个数组,用来存储命令,和命令内容。当不符合命令格式时,它默认是空字符串。
这里我使用了小爱机器人接口,它返回的是json数据属于文本型,所以我使用了网页_访问S
之后我是用 编码_URL解码将返回的结果使用utf-8解码,使中文信息正确地展示。
这里使用DR.码_反转义是因为我发现直接使用messageBody作为文本输入,我向机器人发送的命令信息不起作用。
当我使用命令:
[命令] [命令内容]
通过开发模式,查看日志:
{"event":"ChannelMessageEvent",
"islandId":"",
"channelId":"",
"userId":"",
"messageId":"",
"messageBody":"[命令] [命令内容]"}
发现messageBody中的中括号被转义成了[ 和 ],
通过查找模块,调试发现DR.码_反转义具有能将[ 和 ] 转换为中括号的功能。
由此我实现了小爱API接口的调用。下面是效果图。
|