Python开源:itchatmp - 一个开源的微信公众号、企业号接口
BereniceQOF
8年前
<h2>介绍</h2> <p>itchatmp是一个开源的微信公众号、企业号接口,使用python调用微信公众号从未如此简单。</p> <p>基于tornado框架,满足效率需求。支持普通使用、nginx反向代理与wsgi。</p> <p>同样的命令,支持同步与协程调用,适合各层次开发者使用。</p> <h2>安装</h2> <p>可以通过本命令安装itchatmp:</p> <pre> <code class="language-python">pip install itchatmp</code></pre> <h2>快速入门</h2> <p>有了itchatmp,如果你想要回复发给自己的文本消息,只需要这样:</p> <pre> <code class="language-python">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()</code></pre> <p>一些进阶应用可以在Advanced uses中看到,或者你也可以阅览 <a href="/misc/goto?guid=4959733735747725943" rel="nofollow,noindex">文档</a> 。</p> <h2>截屏</h2> <p><img src="https://simg.open-open.com/show/8a1485896b7e785219d52f5ac57d9669.png"></p> <h2>进阶使用</h2> <h3>企业号配置</h3> <p>在配置时设置copId而非appId即可。</p> <p>另,由于企业号没有明文模式,所以必须将加密模式设置为安全。</p> <p>具体的设置可以看 <a href="/misc/goto?guid=4959733735838297137" rel="nofollow,noindex">这里</a> 。</p> <h3>协程使用</h3> <p>如果你需要使用协程版本的itchatmp,你需要另外安装一个组件:</p> <pre> <code class="language-python">pip install itchatmphttp</code></pre> <p>这样,你的itchatmp就变成协程版本了。同样,删除以后就变回了线程池版本。</p> <p>例如回复信息的操作,协程也只需要这样写:</p> <pre> <code class="language-python">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()</code></pre> <p>itchatmp里面所有的方法都变成了协程方法,如果你不熟悉协程 <strong>建议不要使用</strong> ,线程池也足够满足普通需求。</p> <p>如果你问出类似为什么 time.sleep 阻塞了协程的问题,我会很困扰的。</p> <h3>WSGI使用</h3> <p>如果你需要生成一个能够在类似SAE的平台上包装的应用,你可以这样生成:</p> <pre> <code class="language-python">app = itchatmp.run(isWsgi=True)</code></pre> <p>如果你还是无法配置,请阅读文档一栏的 <a href="/misc/goto?guid=4959733735922433335" rel="nofollow,noindex">部署</a> 部分。</p> <h2>意见与建议</h2> <p>如果有什么问题或者建议都可以在这个Issue和我讨论</p>