# YuQ的配置文件

如果你流程足够顺利,到这一步时你并不会浪费太多的时间,所以你应该还清楚的记得我们首次登陆的时候,对YuQ的配置文件做了一点小小的改动,让他成功的登录了我们的机器人账号。在你编写机器人之前,我希望能给你讲讲配置文件有关的东西,有助于你的开发和开源。

# 读取顺序

尽管目前只有一个conf文件夹,但是我还是要先说清楚,YuQ并不是必须在resources里面才能配置你的机器人账号密码。YuQ在打包完成后,优先读取的是运行目录下面的conf文件夹内的配置文件。所以想要更改账号吗是一个非常简单的事情。
具体的读取顺序是: 运行目录/conf > jar内的conf/xxx文件夹 > jar内的conf文件夹。

提示

请注意,这一读取顺序会影响所有配置文件内的参数。

# 运行模式

这是Demo的配置文件中的第一个参数,但是其实已经不再适用。但是我将在这里详细讲解YuQ的配置文件与运行模式的情况。

这是目前的resources目录,其中存放着YuQ的配置文件,缓存控制文件,日志控制文件。

resources
├── conf
│   └── YuQ.properties
├── encache-YuQ-Mirai-Demo.xml
└── logback.xml
1
2
3
4
5

接下来我们在conf下新建一个文件夹,并且取名为dev,在其中新建一个YuQ.properties,其目录结构如下。

resources
├── conf
│   └──dev
│      └──YuQ.properties
│   └── YuQ.properties
├── encache-YuQ-Mirai-Demo.xml
└── logback.xml
1
2
3
4
5
6
7

当我们启动时,添加启动参数为-runMode dev,YuQ会按照resources/conf/dev/YuQ.properties作为最终配置文件加载。

为什么说是最终而不是直接按照该配置文件加载呢?YuQ实际顺序是首先依次加载配置文件,最后使用conf/dev/YuQ.properties内的参数来覆盖与之前conf/YuQ.properties不同的参数。

举例来说,在conf/properties内有参数a = 111 , b = 222 , c = 333,在conf/dev/YuQ.properties内仅有b = 123。那么最终加载结果会是a = 111 , b = 123 , c = 333

# 扫包路径

这决定了YuQ扫描的包和其内容,主要有两种情况。

  • 扫描两个或以上的包,使得你可以同时加载其他包到YuQ,特别是他们也是YuQ机器人的时候,你就会同时有两个机器人的全部功能,但是请注意他们之间的路由冲突,和事件处理冲突。
  • 扫描一个包,但是还有其他包未被扫描。YuQ并不会管理你其他的包,所以你也不能借此进行依赖注入或者其他操作。还可能造成奇怪的Bug,我并不推荐。

# 机器人名

为机器人设定属于自己的昵称,当聊天内容出现昵称时,等同于对机器人使用了@。

# 缓存文件名

这里是设定YuQ读取的缓存文件名称,默认是resources/encache-YuQ-Mirai-Demo.xml,应该与该文件同名否则扫描失败。

# 账号密码

这里配置机器人的账号密码

# 自定义设置

你可以在配置文件中设定任何参数,然后在实际的代码中使用@Config("xxx")来直接注入获取配置文件中的xxx