一、主要修改:
1) 整理了程序的运行流程图,增加了 onInit/onQrcode/onUpdate/onPlug/onUnplug/onExpire 事件。请对照运行流程图查看各事件的
发生时机。
2) 修改 QQBot 类的内部代码,将所有 classmethod 改写为 instancemethod 。采用单例模式运行,整个进程只有一个 QQBot 实例对象,
该对象保存在 qqbot._bot 或 qqbot.QQBot._bot 中。用户无法调用 bot = QQBot() 来创建其他实例,只能通过
from qqbot import _bot 的方式获得这个实例。
3) 修改 RunBot 函数的参数,该函数只接受一个 argv 参数(v2.2版中该函数接受三个参数 botcls, qq, user),因此原来采用类继承扩
展 qqbot 的方式已无法使用了。修改 QQBot.Login 方法的参数,原来的参数为 qq, user ,现在只有一个参数 argv 。
可以在 argv 参数中输入命令行参数,比原来的 qq,user 参数功能更强大。所有配置选项都可以在 argv 中输入。如果不提供 argv ,则
会使用 sys.argv[1:] 。如:
bot.Login()
bot.Login(['-u', 'somebody', '-r', '-d'])
4) 将原 qslots.py 中的 回调函数 分离出来,移到 qqbot/plugins/sampleslots.py 中,qslots.py 中仅保留 onTermCommand 函数,
且其文件名重名为 termbot.py 。
新增两个默认插件: qqbot.plugins.sampleslots, qqbot.plugins.schedrestart 。
增加一个功能:如果存在 qqbotdefault 的 package ,那么该 package 下的所有子模块会在 qqbot 启动时自动加载。
5) 修正某些 linux + python3 环境下用 root 用户运行时的中文编码错误,感谢 Ninzero 反馈。
6) 讨论组成员增加 qq 属性,感谢网友 Fury 3 的帮助。
7) 修正某些情况下重启时无法读取到上次运行的登录 QQ 的bug 。
8) 修改完善文档。