java robot 文档_文件配置 · simple-robot 机器人开发者使用文档 · 看云
# 文件配置
文件配置使用properties格式文件,以上一章節(jié)中講到的`配置名`作為**鍵(key)**,以配置的值作為**值(value)**
> 以核心`1.12.x`的配置規(guī)范為準,較早版本中需要省略到開頭的`simbot.`
# 常用配置
一般在使用`CQ HTTP API`中,最常用的配置如有:
```properties
# core.bots,核心提供的配置項,代表要注冊的bot列表。詳細介紹見核心的配置說明。
simbot.core.bots=:http://127.0.0.1:5700
# Java監(jiān)聽端口, 默認為15514,需要最終拼接為url并填入插件配置中的"post_url"參數(shù)中。
simbot.cqhttp.javaPort=8877
# 監(jiān)聽請求地址,默認為一個斜杠"/"
simbot.bmcqhttp.serverPath=/coolq
```
# 詳細配置
首先,關于在`核心`中所提供的配置映射請直接查閱 [核心通用文件配置](./文件配置.md)
此處將列舉`CQ HTTP API組件`中所有提供的配置參數(shù):
> 以核心`1.12.x`的配置規(guī)范為準,較早版本中需要省略到開頭的`simbot.`
```properties
# Java監(jiān)聽端口, 默認為15514,需要最終拼接為url并填入插件配置中的"post_url"參數(shù)中。
simbot.cqhttp.javaPort=
# TCP連接最大并發(fā)數(shù), 傳 0 或負數(shù)表示使用默認值,默認為0
simbot.cqhttp.backLog=
# 監(jiān)聽請求地址,默認為一個斜杠"/"
simbot.cqhttp.serverPath=
# 接收的請求方式,默認為 post。可有多個,多個使用逗號分隔。插件目前也僅支持post類型,所以一般不需要更改。
simbot.cqhttp.method=
######## v1.12.0-1.12 后更新 #########
# cqhttp 的access_token驗證
simbot.cqhttp.accessToken=
# cqhttp 的secret密鑰
simbot.cqhttp.secret=
```
>[warning] 如果CQ HTTP API組件的版本低于`0.7.0-BETA-1.7.0`, 則上述中的`配置名`中,所有的`cqhttp` 應當替換為 `simple.robot.conf.coolqhttpapi`
# 如何使用(核心1.8.x以下)
首先,修改啟動器接口。
如果是普通的`CoolQHttpApp`,則修改為`CoolQHttpResourceApp`
>[info] `CoolQHttpApp -> CoolQHttpResourceApp`
如果是無服務的`CoolQNoServerApp`,則修改`CoolQNoServerResourceApp`
>[info] `CoolQNoServerApp -> CoolQNoServerResourceApp`
然后,修改被實現(xiàn)的方法。
在`xxxxxxxResourceApp`接口,即文件配置啟動接口中,存在三個**必須**需要被重寫的方法:
```java
/** 配置文件resource路徑 */
String resourceName();
/** 配置文件讀取后,啟動前*/
void before(Properties args, CoolQHttpConfiguration configuration);
/**啟動后 */
void after(CQCodeUtil cqCodeUtil, MsgSender sender);
```
上述三個方法中,`after`方法與其他App啟動接口一致,不再闡述。
首先說說`resourceName`方法。使用此方法返回一個項目`resources`資源目錄下的配置文件路徑,啟動的時候啟動器便會自動獲取此配置文件并進行配置。
其次說說`before`方法。此方法相比較于非配置文件啟動接口來講,多了一個`Properties`類型的參數(shù)。此參數(shù)即為你實際Properties配置文件的值。然后第二個參數(shù)便是通過讀取Properties配置文件而得到的配置類。此時你可以選擇不任何操作,或者可以選擇通過代碼在進行進一步的配置。
>[warning] 注①:使用了`xxxxxxxResourcesApp`配置文件啟動接口的時候,請務必**不要**重寫`before(CoolQHttpConfiguration)` 方法,而只重寫新的`before(Properties, CoolQHttpConfiguration)方法,否則會導致配置類無法正常注入參數(shù)。`
除了上述所提到的三個**必須**重寫的方法以外,配置文件啟動接口還提供了幾個**可選**的配置方法。下述可選配置中,在非需要的情況下請不要重寫。
```java
/**
* 獲取配置文件的文件輸入流對象,并根據此對象對配置對象進行自動裝填。
* 獲取到的流在使用完成后會自動關閉。
* @return 配置文件流對象(properties
*/
InputStream getStream();
```
假如你的配置文件不在`resources`路徑下,那么你可以選擇自己指定配置文件的`InputStream`的對象獲取方法。
>[warning] 注②:當重寫了`getStream()`時,`resourceName()`方法即不再生效。
# 如何使用(核心1.8.x及以上)
寫完配置文件后,在你的任意啟動類上標注一個注解:`@SimpleRobotApplication(resources = "/conf.properties")`,其中,`resources`參數(shù)即代表你的配置文件在resouces路徑下的相對路徑哦。
就像這樣:
```java
@SimpleRobotApplication(resources = "/conf.properties")
public class RunApp { //... }
```
此時,這個啟動類可以不實現(xiàn)任何接口。
然后通過class作為參數(shù)進行啟動:
```java
new CoolQHttpApplication().run(RunApp.class, args);
```
# 如何使用(核心1.9.x及以上)
>[success] 在`1.8.x`的基礎上
當然,如果你想要即繼承接口來實現(xiàn)代碼配置,又可以通過注解來讀取配置文件,你可以將`run`方法更替為`runWithAnnotation`方法,例如:
```java
@SimpleRobotApplication(resources = "/conf.properties")
public class RunApp implements CoolQApp {
// implement interface and do something...
}
```
然后:
```java
new CoolQHttpApplication().runWithAnnotation(new RunApp(), args);
```
總結
以上是生活随笔為你收集整理的java robot 文档_文件配置 · simple-robot 机器人开发者使用文档 · 看云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: getsize java_Java Zi
- 下一篇: OPPO如何强行安装应用(oppo如何强