itchatmp:完备优雅的微信公众号接口

itchatmp

py27py35English versionpython

itchatmp是一个开源的微信公众号、企业号接口,使用python调用微信公众号从未如此简单。nginx

充分包装,不须要对于底层的任何了解,仅需掌握Python便可使用。git

基于tornado框架,轻松知足效率需求。支持普通使用、nginx反向代理与wsgi。github

一样的命令,支持同步与协程调用,适合各层次开发者使用。安全

与我的号接口itchat共享相似的操做方式,学习一次掌握两个工具。微信

安装

能够经过本命令安装itchatmp:app

pip install itchatmp

快速入门

有了itchatmp,若是你想要回复发给本身的文本消息,只须要这样:框架

import itchatmp

itchatmp.update_config(itchatmp.WechatConfig(
    token='yourToken',
    appId = 'yourAppId',
    appSecret = 'yourAppSecret'))

@itchatmp.msg_register(itchatmp.content.TEXT)
def text_reply(msg):
    return msg['content']

itchatmp.run()

一些进阶应用能够在Advanced uses中看到,或者你也能够阅览文档tornado

演示机器人

这是一个基于这一项目的开源小机器人,百闻不如一见,有兴趣能够尝试一下。工具

QRCode

截屏

demo

进阶使用

企业号配置

在配置时设置copId而非appId便可。

另,因为企业号没有明文模式,因此必须将加密模式设置为安全。

具体的设置能够看这里

协程使用

若是你须要使用协程版本的itchatmp,你须要另外安装一个组件:

pip install itchatmphttp

这样,你的itchatmp就变成协程版本了。一样,删除之后就变回了线程池版本。

例如回复信息的操做,协程也只须要这样写:

import itchatmp
from tornado import gen

itchatmp.update_config(itchatmp.WechatConfig(
    token='yourToken',
    appId = 'yourAppId',
    appSecret = 'yourAppSecret'))

@itchatmp.msg_register(itchatmp.content.TEXT)
def text_reply(msg):
    yield gen.sleep(3)
    r = yield itchatmp.send('First message', msg['FromUserName'])
    print('First message sent: %s' % r)
    yield gen.sleep(3)
    r = yield itchatmp.send('First message', msg['FromUserName'])
    print('Second message sent: %s' % r)

itchatmp.run()

itchatmp里面全部的方法都变成了协程方法,若是你不熟悉协程建议不要使用,线程池也足够知足普通需求。

若是你问出相似为何time.sleep阻塞了协程的问题,我会很困扰的。

WSGI使用

若是你须要生成一个可以在相似SAE的平台上包装的应用,你能够这样生成:

app = itchatmp.run(isWsgi=True)

若是你仍是没法配置,请阅读文档一栏的部署部分。

意见与建议

若是有什么问题或者建议均可以在这个Issue和我讨论

固然也能够加入咱们新建的QQ群讨论:438747166

相关文章
相关标签/搜索