AI智能体|我把Coze Bot接入了微信公众号

大家好,我是无界生长。

在昨天的文章《AI智能体|使用扣子Coze搭建AI智能体,看这一篇就够了(新手必看)》中,我们在Coze上创建了一个Bot,而Coze Bot支持发布到微信公众号,所以今天我们把Coze Bot接入微信公众号。

发布Coze Bot

登陆Coze国内版:Coze ,点击之前创建好的Bot

进入Bot编辑页面,编排相关的内容之前都设置好了,这里不做修改,直接点击“发布”

Coze Bot 发布到微信公众号需要授权,按照公众号类型(服务号或订阅号),点击对应的配置按钮

我这里是订阅号,就直接配置订阅号的授权,在弹出窗口填写要接入Coze Bot的微信公众号AppID,获取方式:前往微信公众平台“设置与开发-基本配置-公众号开发信息”,复制“开发者ID(AppID)”

点击“保存”按钮后,可以看到 微信公众号(订阅号)这栏已经显示已授权了

勾选 微信公众号(订阅号),点击“发布”

点击“立即对话”,会弹出新的窗口,扫描二维码进入微信公众号对话框,发送消息即可与Bot对话

效果展示

进入微信公众号对话框发起对话

总结

本文详细的介绍了如何通过Coze平台发布Bot到微信公众号并进行效果验证。如果看完还没学会的话,可以私信我。学会了的话,欢迎转发分享给你的朋友们。


我是无界生长,如果你觉得我分享的内容对你有帮助,麻烦点个关注,带你一起玩转AI!

AI学习资料在微信公众号:无界生长,个人微信:wjsz2070
在这里插入图片描述

### 集成Coze智能体微信服务号 为了实现将Coze智能体集成到微信服务号的功能,开发者需遵循一系列具体的步骤来完成这一过程。此过程中涉及到获取必要的API密钥以及理解两个不同平台之间的交互机制。 #### 准备工作 在开始之前,确保已经在提供API服务的平台上注册账号并获得相应的API KEY[^1]。对于本案例而言,则是在Coze平台完成上述操作。这一步骤至关重要,因为后续所有的请求都将依赖于这个唯一的识别码来进行身份验证。 #### 获取微信公众平台接入权限 前往微信公众平台官网登录管理员账户,在设置菜单下找到“开发”选项卡内的服务器配置部分。这里需要填写URL、Token及EncodingAESKey三个字段用于安全校验消息来源的真实性。其中URL指向的是部署有Webhook的服务端地址;而Token则是自定义字符串作为加密算法的一部分参与计算签名值。 #### 创建Webhook接收器 编写一段简单的HTTP接口程序充当Webhook Server角色,用来监听来自微信服务器推送过来的消息事件,并转发给Coze API进行处理后再返回响应结果给用户。下面给出Python版本的一个简单实例: ```python from flask import Flask, request, make_response import hashlib import xml.etree.ElementTree as ET import requests app = Flask(__name__) COZE_API_KEY = 'your_api_key_here' WECHAT_TOKEN = 'your_wechat_token' @app.route('/wechat', methods=['GET','POST']) def wechat(): if request.method == 'GET': query = request.args signature = query.get('signature') timestamp = query.get('timestamp') nonce = query.get('nonce') echostr = query.get('echostr') token = WECHAT_TOKEN tmp_list = sorted([token, timestamp, nonce]) sha1 = hashlib.sha1() map(sha1.update,tmp_list) hashcode = sha1.hexdigest() if hashcode == signature: response = make_response(echostr) return response else: return "" elif request.method == 'POST': rec_msg = request.stream.read().decode('utf-8') msg_xml = ET.fromstring(rec_msg) to_user_name = msg_xml.find("ToUserName").text from_user_name = msg_xml.find("FromUserName").text content_type = msg_xml.find("MsgType").text message_content = msg_xml.find("Content").text coze_url = f"https://api.coze.com/v1/chat?apiKey={COZE_API_KEY}" payload={ "message": { "content": message_content, "type": content_type }, "context":{ "userId": from_user_name } } resp = requests.post(coze_url,json=payload).json() reply_text=resp['response']['result'] replay_template=""" <xml> <ToUserName><![CDATA[{toUser}]]></ToUserName> <FromUserName><![CDATA[{fromUser}]]></FromUserName> <CreateTime>{time}</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[{content}]]></Content> </xml>""" format_dict={'toUser':from_user_name,'fromUser':to_user_name,'time':'int(time.time())','content':reply_text} response=make_response(replay_template.format(**format_dict)) response.content_type='application/xml;charset=utf-8' return response if __name__=='__main__': app.run(port=80) ``` 这段代码实现了基本的文字类消息收发逻辑,实际应用中可能还需要考虑更多类型的输入输出形式(比如图片、语音等),同时也应该加入异常捕获机制提高系统的健壮性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值