# 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
2
3
4
5
接下来我们在conf
下新建一个文件夹,并且取名为dev
,在其中新建一个YuQ.properties
,其目录结构如下。
resources
├── conf
│ └──dev
│ └──YuQ.properties
│ └── YuQ.properties
├── encache-YuQ-Mirai-Demo.xml
└── logback.xml
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
。