Skip to main content

WeCom App Callback Server Simple Framework

Project description

公众号消息回复服务

1. 项目介绍

本项目是一个基于 Flask微信公众号/订阅号的自动回复消息的简单服务框架。 使用者只需要实现两个简单的函数,即可快速搭建一个企业微信应用接收/回复消息的接口服务。

实现过程参考 微信公众平台开发者文档-基础消息能力/接收普通消息被动回复用户消息 两个文档进行实现。

2. demo 效果

使用 demo/demo.py 中的示例,可以直接将实现一个 ECHO 功能的企业微信应用服务。

demo_1 demo

这个 Echo 只为简单展示,而你可以基于该框架,实现更多的功能逻辑,甚至像我一样接入大模型,图片横向翻转表示图片处理能力:

demo_2 demo_3

3. 使用

如果要进行自动回复,需要企业的管理员进行创建应用,需要将开发着加成管理员,并且需要一些配置,才可以让企业微信后台将消息转发到我们应用的服务器上。

3.1 配置与信息记录

  1. 找到企业管理员,获得企业的ID,demo.py 中的 corp_id 需要填这个信息:

![conf_1](/Users/panzhongxian/Library/Application Support/typora-user-images/image-20240617200233913.png)

  1. 找管理员创建一个应用:

![conf_2](/Users/panzhongxian/Library/Application Support/typora-user-images/image-20240617200331712.png)

![conf_3](/Users/panzhongxian/Library/Application Support/typora-user-images/image-20240617200403960.png)

  1. 配置 URL、Token、AED Key,这里如果服务没有搭建,是不能保存成功的,我们先留住页面,启动服务后来保存:

![conf_4](/Users/panzhongxian/Library/Application Support/typora-user-images/image-20240617200445906.png)

3.2 启动部署服务

  1. 登录云主机,创建一个合适的目录,copy demo.py 到该目录下
  2. 安装依赖包,pip install wecom-app-svr
  3. 修改 demo.py, 修改 corp_id 为上边查询出的 【企业ID】
  4. 运行服务,python demo.py
  5. 回到3.1配置页面,点击【保存】,如果没有报错,说明服务已经启动成功了

3.3 测试服务

通过上面的配置,我们已经实现了可以个性化自动回复消息的公众号服务,能够实现【demo 效果】中展示的功能。

  • **Echo功能 **:在公众号中发送一条消息,如果服务正常,会收到一条回复的 Echo 消息。文本、图片、语音消息。 目前 demo.py 中支持的 Echo 消息格式只有文本、图片、语音消息,其他消息格式可以自行实现处理逻辑

3.4 正式环境使用的注意事项

  1. 不要直接使用 xxx 和 43 个 x 作为 Token 和 AES key,要自己生成一个随机的字符串。
  2. 也可以代码里不填写 corp ID、Token 以及 AES key,而是通过环境变量的方式进行传递:WECOM_APP_CORP_IDWECOM_APP_TOKENWECOM_APP_AES_KEY,这样可以避免 代码泄露带来的风险。
  3. 因为服务框架相对简单,没有做太多的安全和性能措施,建议配合自己的安全网关一起使用。比如我使用的 127.0.0.1:5001 作为服务的监听地址, 然后通过 Nginx做反向代理,同时做一些安全控制。

4. 支持消息说明

当前已经封装了微信公众号官网支持的6种消息类型,具体的结构详见req_msg.py

  • 文本消息
  • 图片消息
  • 语音消息
  • 视频消息
  • 地理位置消息
  • 链接消息

可以立即回复的消息类型,也与微信公众号官网支持的6种消息类型一致,具体结构见passive_rsp_msg.py:

  • 文本消息
  • 图片消息
  • 语音消息
  • 视频消息
  • 音乐消息
  • 图文消息

其他说明

  1. 因为这里的需要配置【服务器地址URL】,如果你只有中国国内的云主机,还需要一个备案的域名,不然会被云厂商拦截请求;如果是中国境外的云主机则无此限制。具体的原因有兴趣的可以参考我的文章:《网站不备案是否能够访问?
  2. 如有任何问题欢迎提 Issue,也可以关注 知乎/公众号【老白码农在奋斗】留言咨询。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wecom_app_svr-0.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

wecom_app_svr-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file wecom_app_svr-0.1.0.tar.gz.

File metadata

  • Download URL: wecom_app_svr-0.1.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.14

File hashes

Hashes for wecom_app_svr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 749781a7d707ac002d6e9809d3a73083e3f4a2c325a01ebe465975d613c3f75c
MD5 df4f8fbcc2208c8f31ea662e80c4dc74
BLAKE2b-256 221dbc67ee973337c710c56bbb2cb2cd82e0f7914b80ad08edd96d8164a3318f

See more details on using hashes here.

File details

Details for the file wecom_app_svr-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wecom_app_svr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1af869010151030e9d9996905ae6bc061bbd4f067f13ffcfec0eaf10c25ab8e
MD5 348d67343238108ffca2f998b797a7c2
BLAKE2b-256 1b0468bce1826d234da2b0d06857e691b5c05e77d21871ca4a1f0c3344aeb257

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page