email:zealzpc@gmail.com

因为微信公共号开发模式只能连接80端口 所以如果需要一个服务器跑多个公共号就需要代码内部自己做分发。因为自己对微信公共号的接口都比较熟悉加上不复杂就自己写了个库,基于tornado的,写完后直接运行就可以了,还比较方便。

github:https://github.com/pakoo/pywechat

整个项目就一个文件 3个类。

class BaseRequest(object):

"""

微信公共号父类

"""

def __init__(self,hander):

self.con = hander

BaseRequest  公共号的父类。不用关心。

class TestApp(BaseRequest):

"""

公共号实例,一个公共号一个实例,只需要实现需要的功能就行,具体接受的消息类型见父类

"""

def get_text(self):

"""

当测试app收到微信的文字消息时,do something

"""

if self.wxtext == '1':

#如果收到 '1'

self.send_text('1')#回复1

公共号实例,也就是我们要do something的地方。你公共号接收到消息具体要返回什么内容,业务逻辑就是实现这个类。如果要跑2个公共号,那你要创建2个app实例。

接口分2类,一类是接收消息的入口,还有一类是回复消息的接口。

消息入口

get_text 收到文字消息

get_location 收到地理位置消息

get_image 收到图片消息

get_voice 收到音频

get_video 收到视频

get_event 收到事件消息,比如自定义菜单上的click 事件。

get_subscribe 收到用户订阅事件,用户关注你的公众好了就会收到这个消息

回复接口

send_text 回复文字消息

send_artical  回复文章

send_artical_list  回复多篇文章

回复图片 和 音频需要服务号 订阅好没这个功能,是因为订阅好不能上传素材.

以TestApp为例,我们实现了get_text 这个入口,那么用户发送文字消息过来后就会进行处理。如果文字命中了你if 中的某个字符串你可以做出相应的回复,比如回复文字消息 就调用send_text 就可以了。

如果用户发送的是地理位置消息,因为我们TestApp里没有 get_location 方法 所以不会有任何反应。

最后我们需要将TestApp和 webserver 绑定。

class WeChatHandler(tornado.web.RequestHandler):

"""

webserver

"""

def prepare(self):

self.app_list = {

'gh_c941312d18f7':{'handler':TestApp,'token':'test_token'},

}

只要在 app_list里 添加一条 公共号的记录就可以了。

下面是微信发送给你文本消息的例子。

1397542887

6003500996622490084

app_list 的key 就是上面的 ToUserName handler 就是你实现的TestApp  还需要你在微信公共平台上填的token 用来做信息验证。

都完事后,直接 python wechat_server.py 直接运行就可以了。

微信公众号python_微信公共平台框架-python(支持多账号)相关推荐

  1. Shopro商城 高级版 Fastadmin和Uniapp进行开发的多平台商城(微信公众号、微信小程序、H5网页、Android-App、IOS-App)

    Shopro商城无加密的开源源码(可用于自营+外包项目(多主体).可用于外包定制开发项目) shopro 商城,一款基于 uni-app 的前端模板商城.目前适配了(小程序+app+h5+公众号). ...

  2. Shopro商城,基于Fastadmin和Uniapp进行开发的多平台(微信公众号、微信小程序、H5网页、Android-App、IOS-App)购物商城

    Shopro商城 基于Fastadmin和Uniapp进行开发的多平台(微信公众号.微信小程序.H5网页.Android-App.IOS-App)购物商城,拥有强大的店铺装修.小程序直播.自定义模板. ...

  3. JAVA版开源微信管家—JeeWx捷微3.1小程序版本发布,支持微信公众号,微信企业号,支付窗

    支持小程序,JeeWx捷微3.1小程序版本发布^_^ JeeWx捷微V3.1--多触点小程序版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.1.0版本紧跟微信小程序更新,在原有 ...

  4. JeeWx捷微3.0多触点版本发布,支持微信公众号,微信企业号,支付窗——喜迎双“旦”

    喜迎双旦,JeeWx捷微3.0多触点版本发布^_^ JeeWx捷微V3.0--多触点版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.0.0版本是一个颠覆和跨时代版本,官方团队历 ...

  5. springboot+h5页面+微信公众号获取微信用户信息

    springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统. 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就 ...

  6. 微信公众号给微信用户推送信息 模板信息

    该功能主要是用于利用微信公众号向微信用户推送与用户相关的信息,在开发此功能之前需要获取到微信公众号的access_token,以及微信公众号的模板id 为了保证用户不受到骚扰,在开发者出现需要主动提醒 ...

  7. uniapp开发微信公众号网页-微信JSSDK使用

    uniapp开发微信公众号网页-微信JSSDK使用 一. 安装jweixin-module 二. 新建js文件,把jssdk的接口简单封装,然后挂载到vue实例 1. 在js公共文件夹下创建wecha ...

  8. 微信公众号与微信小程序如何相辅相成的?

    微信公众号和微信小程序都属于微信生态圈的两个重量级产品,它们之间的功能分类又是非常明确的.微信公众平台,是一个给个人.企业和组织提供业务服务与用户管理能力的服务平台,可分为四个不同账号类型:订阅号.服 ...

  9. 微信公众号与微信小程序相辅相成

    微信公众号和微信小程序都属于微信生态圈的两个重量级产品,它们之间的功能分类又是非常明确的.微信公众平台,是一个给个人.企业和组织提供业务服务与用户管理能力的服务平台,可分为四个不同账号类型:订阅号.服 ...

  10. 淘宝客CMS,微信公众号,微信淘客机器人

    淘宝客CMS,微信公众号,微信淘客机器人一站式淘客导购解决方案 先来写个序 楼主程序员,两耳不闻窗外事,一心只知敲代码,2019年前没接触过淘客,也不懂淘客是什么? 后来有个朋友给我提到,说他在做淘客 ...

最新文章

  1. Linux系统文件安全与权限
  2. oracle得到日期对应的星期
  3. C# 图像模板匹配并标注
  4. 我最喜欢的IntelliJ IDEA功能
  5. h5大转盘 php,HTML5 canvas实现中奖转盘的实例代码
  6. 鸿蒙系统存储空间,鸿蒙系统即将上线!看到内存要求后,网友:逼我换手机?...
  7. android和webview交互,android webview与原生交互
  8. SQLite第九课 sqlite3_set_authorizer案例
  9. 无锁队列详细分解 — 顶层设计
  10. 用阿里云盘,找不到资源怎么办???
  11. 研究生学历,毕业就给房!给户口!
  12. java imageio temp_Java ImageIO.setUseCache方法代碼示例
  13. Win10 关闭Bitlocker,Bitlocker解密进度条始终卡在96%的解决方法
  14. 《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
  15. SAP中采购订单中的汇率是如何确定的
  16. JXTA学习!!JXTA P2P 2.4
  17. unity与php的交互-图片上传下载
  18. 主页EGE图形库下载教程
  19. 随机信号的功率谱密度
  20. 4455: [Zjoi2016]小星星

热门文章

  1. 完美数——C++代码及思路分析 leetcode507
  2. linux ext4 格式化工具,ext4格式化软件 mkfs.ext4 快速格式化
  3. C++ 编写求和函数
  4. Linux虚拟机获取最高权限
  5. 手提无法使用Ghost方法安装win7系统,出现一直显示DOS工具箱和硬盘无效情况的解决
  6. 增长量计算n+1原则_资料分析几大常用公式,增速、A/B型公式.....
  7. Employee类的层级结构
  8. java时间换算方法
  9. Mac上的网络视频会议软件
  10. oracle恢复删除的表