手机登录网页版qq帐号 Python&QQBot:一个简单、好用的QQ机器人(11)

电脑杂谈  发布时间:2018-02-07 19:44:49  来源:网络整理

调试模式( 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

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...