利用Django开发微信公众号消息自动回复(附教程+源码)

通过python的中文分词jieba包和xml处理包xmltodict结合Django实现微信公众号的消息自动回复,用户通过微信公众号的对话框向后端发消息时,微信服务器将POST消息的XML数据包推送开发者填写的URL上。具体流程如下:

利用Django开发微信公众号消息自动回复(附教程+源码)

本文以接收和回复文本消息为主,微信公众号支持回复文本、图片、图文、语音、视频、音乐等类型的消息。根据微信官方的安全要求,需要用秘钥对收到的密文消息体进行解密,回复消息体也用此秘钥加密。

微信公众平台为开发者提供了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

直接上开发代码

完成上述代码,配置url既可实现自动回复。

消息回复的内容可以建立一个库或者加入ChatGPT也可实现微信公众号上对用户消息的判断回复。

免责说明

本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

给TA打赏
共{{data.count}}人
人已打赏
WeChat人工智能微信源码

【微信机器人】ChatGPT 的国内替代方案TigerBot

2023-6-28 18:00:08

Code开源推荐WeChat开源源码微信源码

开源推荐:自习室预约小程序

2023-7-3 9:42:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索