增强了pkl的版本兼容
这样在itchat更新的时候就不需要手动删除pkl了,我也不用因为修改pkl的内容导致bug而被吐槽。
增加了qrCallback
好像很久以前就有说需要增加二维码的回调,但以前都是建议不使用auto_login,自定义登录过程。
现在auto_login里面的功能多了之后,还是给加上qrCallback吧。
需要注意的是,如果使用了qrCallback,系统默认不会再存储二维码并显示,这些内容全都交给qrCallback。
可以通过如下程序测试:
python
import logging
import itchat
itchat.set_logging(loggingLevel=logging.DEBUG)
def qrCallback(uuid, status, qrcode):
if status == '0':
with open('qr.jpg', 'wb') as f:
f.write(qrcode)
itchat.utils.print_qr('qr.jpg')
print('** qr callback **')
print('%s: %s' % (uuid, status))
print('qr size: %s' % len(qrcode))
print('*****************')
itchat.auto_login(True, qrCallback=qrCallback)
itchat.run(debug=True)
qrCallback必须接受三个参数,uuid status qrcode。
uuid和qrcode分别对应qrcode的uuid以及二进制图片。
status有0, 200, 201, 400, 408(都是字符串形式),对应为:
- 0 - 获取到图片
- 200 - 登陆成功
- 201 - 需要在手机端确认登录
- 400 - 二维码失效
- 408 - 二维码尚未被扫描也未失效
这里给出一个使用这个功能通过网页显示二维码的示例:[源码](https://gist.github.com/littlecodersh/da5ad98728627c25963da67b0180453d)
修复了因为群聊没有self键导致群聊消息遗漏的问题
好像也没什么好说的,之后如果发现一些奇怪的问题,记得这样调试:
python
itchat.run(debug=True)