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里 添加一条 公共号的记录就可以了。
下面是微信发送给你文本消息的例子。
<xml><ToUserName><![CDATA[gh_c324b60d1fv7]]></ToUserName> <FromUserName><![CDATA[oItamjq5pzWmWzxuTrZXvH3uWA8]]></FromUserName> <CreateTime>1397542887</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[1]]></Content> <MsgId>6003500996622490084</MsgId> </xml>
app_list 的key 就是上面的 ToUserName handler 就是你实现的TestApp 还需要你在微信公共平台上填的token 用来做信息验证。
都完事后,直接 python wechat_server.py 直接运行就可以了。
相关推荐
这个过程涉及到的主要知识点包括OAuth2.0授权框架、微信开放平台API以及Python的请求库。 微信网页授权是微信提供的一种服务,允许第三方网站通过用户授权获取其微信账号的相关信息,实现安全便捷的登录功能。在这...
毕业设计---基于python的微信公众平台机器人的设计与实现.zip 用到了几个技术 NGINX做负载均衡,反向代理 nginx.conf是nginx配置文件,如何配置请参考网上教程 使用mysql数据库 数据库连接在config.py中配置,配置...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。在这个“微信小程序开发-写笔记带后端案例源码.zip”压缩包中,包含了一个完整的微信小...
python 微信公共号框架 支持多账号 基于tornado 例子 class TestApp(BaseRequest): """ 公共号实例,一个公共号一个实例,只需要实现需要的功能就行,具体接受的消息类型见父类 """ def get_text(self): """ 当...
【Python-微信机器人】 在IT领域,Python是一种广泛使用的编程语言,因其简洁的语法和强大的库支持而备受青睐。在本教程中,我们将探讨如何利用Python来开发一个微信机器人,这个机器人是基于ItChat库构建的。...
总的来说,PyOfficeRobot为Python开发者提供了一个高效且易用的框架,帮助我们轻松地构建微信机器人。通过学习和实践,我们可以利用这个工具实现各种有趣的微信自动化应用,如信息推送、客服助手、日程管理等,让...
源代码是程序的核心部分,通过阅读和分析源代码,开发者可以深入理解程序的工作原理,了解如何利用 Python 和微信小程序开发框架实现特定功能,例如图像处理、用户交互、数据库操作等。 【标签】"python 看图猜成语...
在深入研究Python微信助手源码的过程中,你可以学到如何使用Python进行网络请求、解析JSON数据、多线程编程、事件驱动编程等多个方面的知识。同时,对于理解微信的API工作原理和微信生态的构建也会有所帮助。通过...
这个"新一代Django脚手架"就是这样一个基础框架,预设了各种配置和功能,使开发者能够更便捷地搭建支持微信登录的Web应用。 微信登录的实现主要依赖于微信开放平台提供的SDK和服务。在Django中,我们可以使用第三方...
wxpy支持自动登录和多账号管理,使得微信机器人的开发变得简单。 在"python源码-案例框架-实例-32 wxpy统计位置"这个压缩包中,我们可以推测包含了一个Python脚本或一系列脚本,用于接收微信用户发送的位置信息,并...
在这个特定的实例中,"python源码-案例框架-实例-31 wxpy获取好友头像.zip"是一个压缩包,包含了用于演示如何使用wxpy库来获取微信好友头像的源代码。 首先,我们需要了解`wxpy`库的基本概念。`wxpy`是基于微信官方...
在信息化时代,聊天机器人已经成为日常交流的重要工具,而Python-WeChat-AI-Bot项目则为开发者提供了一个利用Python实现微信智能聊天机器人的平台。这个项目不仅涵盖了微信命令行登录的基础功能,还进一步实现了消息...
爬虫,爬取微信文章,设置多账号,可以解决被封号问题使用技术点: python,selenium(每次登录),mysql,ORM 框架SQLAlchemy,BeautifulSoup,lxml,apscheduler 注意: 1.需要配置爬取数量和每次爬取数量 2.第一...
通过集成微信开放平台API,用户可以直接使用微信账号进行登录,简化了注册和登录流程,增加了用户的便捷性。这通常涉及到OAuth2.0授权协议,允许第三方应用安全地获取用户信息,同时保持用户的隐私。 系统内含...
这个项目的实现涉及前端开发(使用微信小程序框架,如WXML和WXSS),后端开发(处理数据逻辑,如Node.js、Python等),以及数据库设计(如MySQL、MongoDB等)。同时,为了保证用户体验,还需要考虑性能优化、数据...
- **微信开放平台API**:开发者需要注册成为微信开放平台成员,获取AppID和AppSecret,使用它们调用微信提供的接口。 - **OAuth2.0协议**:微信扫码登录基于OAuth2.0授权框架,确保安全性和用户隐私。 3. **关键...
这些功能的实现需要数据库设计和后端服务的支持,因此,后端源码的分析将涵盖服务器端的技术选型(如Node.js、Python的Django或Flask框架)、数据库模型设计(如MySQL或MongoDB)、以及API接口的设计与实现。...
标题中的“微信自动发送,python实现,exe文件分享”揭示了这个项目的核心内容:使用Python编程语言编写了一个程序,能够自动在微信上发送信息,且该程序已经编译为可执行文件(exe),方便用户直接运行。...
【光影娱乐】微信小程序是一款集休闲、娱乐于一体的平台,提供了丰富的功能,旨在为用户带来便捷的线上娱乐体验。源码的提供意味着我们可以深入探究其开发技术与架构设计,这对于学习和开发微信小程序的开发者来说是...
该压缩包文件“微信群机器人管理系统源码 【支持同登陆多个微信】.zip”包含的是一个微信群机器人的管理系统源代码,其主要特点是可以同时登录并管理多个微信账号。这个系统可能是由程序员或者开发团队为了自动化...