通过python的中文分词jieba包和xml处理包xmltodict结合Django实现微信公众号的消息自动回复,用户通过微信公众号的对话框向后端发消息时,微信服务器将POST消息的XML数据包推送开发者填写的URL上。具体流程如下:
本文以接收和回复文本消息为主,微信公众号支持回复文本、图片、图文、语音、视频、音乐等类型的消息。根据微信官方的安全要求,需要用秘钥对收到的密文消息体进行解密,回复消息体也用此秘钥加密。
微信公众平台为开发者提供了5种语言的示例代码(包括C++、php、Java、Python和C#版本)下载地址如下:
首先,以粉丝给公众号发送文本消息:“欢迎进入公众号交流”,在开发者后台收到公众平台发送的xml如下:
<xml>
<ToUserName><![CDATA[公众号]]></ToUserName>
<FromUserName><![CDATA[粉丝号]]></FromUserName>
<CreateTime>1460537339</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[欢迎进入公众号交流]]></Content>
<MsgId>6272960105994287618</MsgId>
</xml>
说明:
createTime 是微信公众平台记录粉丝发送该消息的具体时间
text: 用于标记该xml 是文本消息,一般用于区别判断
欢迎进入公众号交流: 说明该粉丝发给公众号的具体内容是欢迎进入公众号交流
MsgId: 是公众平台为记录识别该消息的一个标记数值, 微信后台系统自动产生
所以回复给用户的消息格式基本也如上,如想回复给粉丝一条文本消息,内容为“test”, 那么开发者发送给公众平台后台的xml 内容如下:
<xml>
<ToUserName><![CDATA[粉丝号]]></ToUserName>
<FromUserName><![CDATA[公众号]]></FromUserName>
<CreateTime>1460541339</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[test]]></Content>
</xml>
说明:
1)ToUserName(接受者)、FromUserName(发送者)。
2)createtime用于标记开发者回复消息的时间。
3)text : 此次行为是发送文本消息 (当然可以是image/voice等类型)。
4)文本换行 ‘n’。
关于微信公众号开发后端配置的可以去查看我的过往文章,有不清楚的可以留言交流。
回到本次的重点,Django来实现微信公众号自动回复消息
安装中文分词包jieba和xmltodict,jieba用于对接收的消息进行分词,然后判断关键词并进行回复,xmltodict主要是xml消息
pip install jieba xmltodict
直接上开发代码
消息回复的内容可以建立一个库或者加入ChatGPT也可实现微信公众号上对用户消息的判断回复。
本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!
如果遇到评论可下载的文章,评论后刷新页面点击“对应的蓝字按钮”即可跳转到下载页面!
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR。
温馨提示:本站部分付费下载资源收取的费用为资源收集整理费用,并非资源费用,不对下载的资源提供任何技术支持及售后服务。