调试模式( debug )
若 debug 项设置为 True ,则运行过程中会打印调试信息。
插件的配置( pluginPath 和 plugins )
一般情况下,插件需要存放在系统的 import 目录下或 ~/.qqbot-tmp/plugins 目录下,可以在 pluginPath 选项中配置其他的存放目录。另外,在 plugins 选项中可以指定 QQBot 启动时需要加载的插件。
命令行参数及配置的优先级
配置文件中的所有选项都有对应的命令行参数,在命令行参数中输入的选项优先级比配置文件高。输入 qqbot -h 可查看所有命令行参数格式。
程序一共有四个级别的配置,其优先级如下:
使用 qqbot -u somebody 启动程序时,依次加载:
根配置 -> 默认配置 -> 用户 somebody 的配置 -> 命令行参数配置
使用 qqbot 启动程序时,依次加载:
根配置 -> 默认配置 -> 命令行参数配置
其中:根配置 是固定的,用户无法修改; 默认配置 和 用户配置 可由用户在 v2.x.conf 文件中进行修改;最后,还可以在 命令行参数 中输入配置。
工作目录
qqbot 运行时,会在 工作目录 下 搜索/创建 以下 文件/目录 :
配置文件: v2.x.conf
插件目录: plugins/
登录文件: v2.x-pyx-xxxx.pickle
联系人文件:xxxx-contact.db
临时二维码图片: xxxx.png
保存QQ的文件: qq(pid9816)
以 daemon 模式运行时的 log 文件: daemon-xxx.log
默认的工作目录为 ~/.qqbot-tmp/ ,可以在启动 qqbot 时通过命令行参数 -b|--bench 指定其他工作目录,例如: qqbot -b bench 。
插件
插件的存放位置
插件实际上是一个 python 模块,因此可以是一个 python 文件,也可以是一个 python package。 qqbot 会根据插件名在以下目录中搜索插件:
配置中的 pluginPath 选项(命令行参数 -pp|--pluginPath )指定的目录
工作目录下的 plugins 目录
python 的导入目录
插件的加载/卸载
hot-plug 方式
可以在 qqbot 的运行过程中动态的加载/卸载插件,有以下三种方法:
利用 qq 命令行工具: qq plug pluginname 或 qq unplug pluginname
利用 http-api 接口: :8188/plug/pluginname 或 :8188/unplug/pluginname
利用 bot 对象的接口: bot.Plug('pluginname') 或 bot.Unplug('pluginname')
前面两种方法是供 qqbot 进程的外部进程调用的,第三种方法是在 qqbot 进程内部使用的。请勿在 qqbot 进程的内部使用前面两种方法。
注意:采用 hot-plug 方式加载的插件在 qqbot 重启后会丢失。
auto-plug-at-start 方式
也可以在 qqbot 的启动时自动加载插件,在配置中的 plugins 选项(命令行参数 -pl|--plugins )中指定需要加载的插件名就可以了。这些插件将在启动时、登录之前被加载。
另外,如果系统中(或插件目录中)存在名为 qqbotdefault 的 package ,那么该 package 下面的所有子模块都会被当成插件在启动时自动加载(注意:qqbotdefault 本身不会作为插件加载)。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-65875-11.html
楼主是张少将徒弟
2000w