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

相關文章
相關標籤/搜索