微信智能对话机器人调用第三方云函数

article/2025/9/28 1:48:22

        这是一个通过给公众号绑定微信智能对话机器人调用第三方云函数实现用户信息查询

的简单示例。

一:微信智能对话机器人配置:

1:在“高级技能”中创建“查询用户”的技能,并创建对应的意图。

2:设置字典,也可以根据查询关键字的特点(如:用户编号都是以1开头)配置好用来匹配数据的正则表达式。

3:在用户问法中输入:{用户id},这样当用户发送用户编号给机器人时系统才能匹配到。

 4:配置好对应的语义槽,语义槽类似于短信中用来填充数据的模板。

 

二:第三方云函数配置

1:云函数的功能是通过用户的提问(即:用户id)去查询数据库,并返回对应数据给微信机器人。

/*** 查询用户详细信息。*/
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {const db = cloud.database()const _ = db.commandconst $ = db.command.aggregatevar keyWord = event.queryStringParameters.keyWord * 1var returnString = ""await db.collection('userInfo').where({id: keyWord}).get().then(res => {// res.data 包含该记录的数据returnString = {"err_code": 0,                // 状态码,可在获得响应后区分下一步操作"data_list": [{                           // 目前返回信息需要包裹在 `data_list` 中唯一对象内"id": res.data[0].id,   // 参数,可在获得响应后填充进对应语义槽"username": res.data[0].username, "address": res.data[0].address, "phone": res.data[0].phone,"type":res.data[0].type,// "event":event}]}})return returnString
}

 2:利用微信开发者工具调试好程序后部署到云端。

 3:进入腾讯云控制台,找到上传后的云函数并设置HTTP访问服务。

其触发路径为上图两部分相连。

三:配置机器人的回复。

1:在机器人回答部分选择服务接口调用,并自定义接口。

 

 

URL为云函数的触发路径。

其输入参数为调用云函数时传递的数据。云函数中可以通过如下方式获取:

var keyWord = event.queryStringParameters.keyWord 

 输出参数为对应云函数中的返回数据:

returnString = {"err_code": 0,                // 状态码,可在获得响应后区分下一步操作"data_list": [{                           // 目前返回信息需要包裹在 `data_list` 中唯一对象内"id": res.data[0].id,   // 参数,可在获得响应后填充进对应语义槽"username": res.data[0].username, "address": res.data[0].address, "phone": res.data[0].phone,"type":res.data[0].type,// "event":event}]}

2:配置接口

配置接口的作用是让输入参数和输出参数与定义好的语义槽进行对接。系统才能把数据传递

和填充到对应的语义槽。

 

当调用成功时回复用户文本消息。

通过调试、发布并绑定公众号后一个可以通过公众号查询用户详细信息的对话机器人已配置完成。


http://chatgpt.dhexx.cn/article/7E5XLTEs.shtml

相关文章

Python--微信智能聊天机器人

微信智能聊天机器人 import requests import itchat import time from threading import Timer 图灵机器人编号 如果大家感兴趣的可以登图灵官方网站申请一个自己的图灵小机器人 KEY ‘8f7fcbf19bab471e8067e2783e95b924’ def get_response(msg): apiUrl http://www.tul…

小程序智能聊天机器人(二)

小程序实战之会员支付流程 背景会员套餐设置获取套餐订单创建支付订单申请支付回调更新用户权益总结 背景 接上篇小程序智能聊天机器人(一), 无论何种程序,在我们没有其他收益来源时,用户付费,是让我们回笼…

图灵机器人( 智能回复微信)及(智能聊天)

目录 一、什么是图灵机器人?二、帮你自动微信回复(Python版)三、图灵机器人智能聊天(微信小程序版) 一、什么是图灵机器人? 1、 图灵机器人简介: 是中文语境下智能度最高的“机器人大脑”&…

linux系统抓包命令

IP地址抓包:tcpdump -i any host 1.1.1.2 -n 端口抓包: tcpdump -i any port 6789 -n wireshak工具抓包:tcp.port 6789 过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.…

Linux 抓包命令,你会用吗?

点击关注公众号,Java干货及时送达 tcpdump是一个功能强大的命令行数据包分析器,它是通过监听服务器的网卡来获取数据包,所有通过网络访问的数据包都能获取到。它也提供了过滤器的功能,可以获取指定的网络、端口或协议的数据包 程序…

网络高级命令使用,Linux测试带宽,抓包,一篇解决。

目录 一,iperf测试带宽命令 二,详细网络设备信息 三,当前网络状态 四,抓包tcpdump 一,iperf测试带宽命令 iper -s 作为服务器 -c 作为客户机 -u 使用udp协议 -t 测试时间 -i 间隔时间 -n 要测试的量 -p 通过的端…

linux如何抓包如何分析

为什么要抓包 今天遇到一个bug,访问某接口的时候遇到了HTTP 413报错,意思就是,在网络中的某个节点觉得这个请求太大了,就拒绝了,返回了HTTP 413虽然理解是这么回事,但是要想解决这个问题,首先第…

Linux抓包命令集锦

相信抓包是程序员,运维工程师,架构师,都必不可少的一项技能。但是能够深入掌握好这门技艺的人,确实需要有开发,网络,运维,架构等"跨界”背景才能比较好的发挥抓包神技的威力。本文是纯干货…

怎么在Linux上抓包分析

怎么在Linux上抓包分析 1、在Linux上抓包 例如在Ubuntu上,用命令抓包, tcpdump tcp -i any -s0 -w desk.cap 用 sz desk.cap 把数据包导入本地Windows 2、在windows上用wireshark分析 用wireshark打开desk.cap wireshark筛选条件:tcp…

Linux之tcpdump抓包命令详解

目录 前言 1. 控制抓包行为 2. 控制信息如何显示 3. 控制显示什么数据 4. 过滤命令 4.1 地址过滤 4.2 协议及端口过滤 4.3 报文特征过滤 4.3.1 IP选项设置(20字节,可变部分(0-20)B,最大40字节) 4.3.2 TCP选项…

纯干货:Linux抓包命令集锦

/****************************************************************************************** *              版权声明 *   本文为本人原创,本人拥有此文的版权。鉴于本人持续受益于开源软件社区, * 本人声明:任何个人…

MySQL数据库约束

文章目录 一、表的约束二、空属性三、默认值四、列描述五、zerofill六、主键1.primary key2.复合主键 七、自增长八、唯一键九、外键 一、表的约束 MySQL数据库是有唯一性约束的,真正对表的字段进行约束的是字段类型,比如我们字段类型规定的取值范围是多…

MySql 数据库【约束】

MySql 数据库【约束】 1. 什么是约束?2. 约束包括哪些?3. 非空约束4. 唯一性约束1. 单字段唯一性约束2. 多字段唯一性约束 5. 主键约束1. 主键约束的相关术语?2. 什么是主键?有啥用?3. 单一主键4. 复合主键5. 其他主键…

MySQL_数据库的约束

文章目录 1. NULL约束 2. UNIQUE(唯一约束) 3. DEFAULT(默认值约束) 4. PRIMARY KEY(主键约束) 5. FOREIGN KEY(外键约束) 数据库的约束就是关系型数据库给我们提供的一种"校验数据"合法性的机制 1. NULL约束 创建表时,可以指定某列不为空 create table stud…

MYSQL--数据库约束

文章目录 1.数据库约束1.1约束类型1.2 null约束1.3 unique:唯一约束条件1.4 default:默认值约束1.5 primary key1.6 foreign key:外键约束 2.表的设计2.1一对一2.2一对多2.3多对多 1.数据库约束 1.1约束类型 not null: 指示某列不能存储null值;unique: 保证某列的…

MySQL 数据库约束

目录 一、数据库约束 1、约束类型 二、NULL 约束 三、unique 约束 四、default 约束 五、primary key 约束 自增主键 六、foreign key 外键约束 七、check 约束 一、数据库约束 我们使用数据库来存储数据,一般是希望这里存储的数据是靠谱的,…

数据库的约束和设计(完整版)

第一部分(约束和表设计) 1、DQL查询语句-limit语句(掌握) LIMIT是限制的意思,所以LIMIT的作用就是限制查询记录的条数 LIMIT语句格式: SELECT 字段 FROM 表名 LIMIT 索引, 显示条数; 索引:从0开始,一直变化 显示条数:每页显示…

MySQL数据库之数据库约束,一文带你了解

前言 从今天开始本系列就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。 全文大约 【1785】字,不说废话,只讲可以让你学…

数据库的约束和设计

约束 作用 对表中的数据进行进一步的限制, 保证数据的正确性, 有效性和完整性 种类 primary key : 主键约束unique : 唯一约束not null : 非空约束default : 默认值foreign key : 外键约束auto_increment : 自增约束(适用于int数据类型) 主键约束 特点 非空且唯一 注意事项 …

MySQL:数据库的约束

目录 1.数据库约束 1.1 非空:not null 1.2 唯一:unique ​​​​​​​ 1.3 默认值:default 1.4 列描述:comment 1.5 主键约束:primary key 1.6 外键约束 1.7 综合案例 2.插入查询结果 3.聚合函数 4.group by…