java robot 文档_文件配置 · simple-robot 机器人开发者使用文档 · 看云
# 文件配置
文件配置使用properties格式文件,以上一章节中讲到的`配置名`作为**键(key)**,以配置的值作为**值(value)**
> 以核心`1.12.x`的配置规范为准,较早版本中需要省略到开头的`simbot.`
# 常用配置
一般在使用`CQ HTTP API`中,最常用的配置如有:
```properties
# core.bots,核心提供的配置项,代表要注册的bot列表。详细介绍见核心的配置说明。
simbot.core.bots=:http://127.0.0.1:5700
# Java监听端口, 默认为15514,需要最终拼接为url并填入插件配置中的"post_url"参数中。
simbot.cqhttp.javaPort=8877
# 监听请求地址,默认为一个斜杠"/"
simbot.bmcqhttp.serverPath=/coolq
```
# 详细配置
首先,关于在`核心`中所提供的配置映射请直接查阅 [核心通用文件配置](./文件配置.md)
此处将列举`CQ HTTP API组件`中所有提供的配置参数:
> 以核心`1.12.x`的配置规范为准,较早版本中需要省略到开头的`simbot.`
```properties
# Java监听端口, 默认为15514,需要最终拼接为url并填入插件配置中的"post_url"参数中。
simbot.cqhttp.javaPort=
# TCP连接最大并发数, 传 0 或负数表示使用默认值,默认为0
simbot.cqhttp.backLog=
# 监听请求地址,默认为一个斜杠"/"
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`
然后,修改被实现的方法。
在`xxxxxxxResourceApp`接口,即文件配置启动接口中,存在三个**必须**需要被重写的方法:
```java
/** 配置文件resource路径 */
String resourceName();
/** 配置文件读取后,启动前*/
void before(Properties args, CoolQHttpConfiguration configuration);
/**启动后 */
void after(CQCodeUtil cqCodeUtil, MsgSender sender);
```
上述三个方法中,`after`方法与其他App启动接口一致,不再阐述。
首先说说`resourceName`方法。使用此方法返回一个项目`resources`资源目录下的配置文件路径,启动的时候启动器便会自动获取此配置文件并进行配置。
其次说说`before`方法。此方法相比较于非配置文件启动接口来讲,多了一个`Properties`类型的参数。此参数即为你实际Properties配置文件的值。然后第二个参数便是通过读取Properties配置文件而得到的配置类。此时你可以选择不任何操作,或者可以选择通过代码在进行进一步的配置。
>[warning] 注①:使用了`xxxxxxxResourcesApp`配置文件启动接口的时候,请务必**不要**重写`before(CoolQHttpConfiguration)` 方法,而只重写新的`before(Properties, CoolQHttpConfiguration)方法,否则会导致配置类无法正常注入参数。`
除了上述所提到的三个**必须**重写的方法以外,配置文件启动接口还提供了几个**可选**的配置方法。下述可选配置中,在非需要的情况下请不要重写。
```java
/**
* 获取配置文件的文件输入流对象,并根据此对象对配置对象进行自动装填。
* 获取到的流在使用完成后会自动关闭。
* @return 配置文件流对象(properties
*/
InputStream getStream();
```
假如你的配置文件不在`resources`路径下,那么你可以选择自己指定配置文件的`InputStream`的对象获取方法。
>[warning] 注②:当重写了`getStream()`时,`resourceName()`方法即不再生效。
# 如何使用(核心1.8.x及以上)
写完配置文件后,在你的任意启动类上标注一个注解:`@SimpleRobotApplication(resources = "/conf.properties")`,其中,`resources`参数即代表你的配置文件在resouces路径下的相对路径哦。
就像这样:
```java
@SimpleRobotApplication(resources = "/conf.properties")
public class RunApp { //... }
```
此时,这个启动类可以不实现任何接口。
然后通过class作为参数进行启动:
```java
new CoolQHttpApplication().run(RunApp.class, args);
```
# 如何使用(核心1.9.x及以上)
>[success] 在`1.8.x`的基础上
当然,如果你想要即继承接口来实现代码配置,又可以通过注解来读取配置文件,你可以将`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 机器人开发者使用文档 · 看云相关推荐
- java.policy无法修改_如何配置Policy文件进行Java安全策略的设置
中国人最喜欢访问的网站 只要注册ofo就送你10块钱,还等什么,快来注册吧 Java语言具有完善的安全框架,从编程语言.编译器.解释程序到Java虚拟机,都能确保Java系统不被恶意的代码或敌对的编译 ...
- swagger api文档_带有Swagger的Spring Rest API –创建文档
swagger api文档 使REST API易于使用的真正关键是好的文档. 但是,即使您的文档做得很好,您也需要设置公司流程的权利以正确,及时地发布它. 确保利益相关者按时收到是一回事,但是您也要负 ...
- virtualbox中文技术文档_随笔--西门子STEP7中如何寻找技术文档
西门子STEP7软件支持的编程语言除了常用的LAD/FBD/STL,还有SCL/GRAPH等,应该说除了LAD/STL之外,SCL和GRAPH也是比较常用的,至少对我个人来说是这样,但是每种指令在不同 ...
- swagger api文档_带有Swagger的Spring Rest API –公开文档
swagger api文档 创建API文档后,将其提供给涉众很重要. 在理想情况下,此发布的文档将足够灵活以解决任何最后的更改,并且易于分发(就成本以及完成此操作所需的时间而言). 为了使之成为可能, ...
- 软件项目文档_什么是软件项目的好的文档?
软件项目文档 开放地理空间(OSGeo)基金会最近参加了Google的第一个文档季节 ,其中Google赞助了高级技术作家为开源项目做出贡献. OSGeo是大约50个地理空间开源项目的总括组织. 多年 ...
- 苹果手机怎么编辑word文档_多人协同编辑一份Word文档用修订功能就对了
在职场中我们难免会遇到需要与同事协同编辑一份文档的情况 那么如何清晰不混乱地协同编辑呢? 如下图所示,相信不少人在协同编辑文档时都是这样做的,用各种颜色字和括号,写明自己想编辑的内容及要修改的点.一旦 ...
- java导出word表格_使用PowerDesigner16.5 逆向数据库 导出word文档
在上一篇<使用PowerDesigner16.5 逆向数据库生产表结构或导出word文档二>中,我们学会了使用PowerDesigner16.5怎么连接数据库,逆向生成表结构.有时候,我们 ...
- python如何读取公共盘的文档_如何使用 Sphinx 给 Python 代码写文档 | Linux 中国
最好将文档作为开发过程的一部分.Sphinx 加上 Tox,让文档可以轻松书写,并且外观漂亮.-- Moshe Zadka Python 代码可以在源码中包含文档.这种方式默认依靠 docstring ...
- java实现上传_文件上传(java)
最近看了一本书上的代码,代码的主要功能是实现文件的上传.但是,当我运行代码的时候竟然报错了.(我用的IDEA).有错就解决吧.以下是我遇到的几个错误. 废话不多说先附上源代码. UploadServl ...
最新文章
- mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)
- KVM中I/O虚拟化介绍(五)
- linux中的opencv多版本共存切换的问题
- VS2005中ReportViewer 本地模式下报表呈现 入门示例
- python接口自动化 一个变量 其他接口要用_python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)...
- 高等数学复习笔记——第八章:向量代数与空间解析几何
- 城市经纬度 json
- Flink:watermark
- 大白话Vue之publicPath
- ...startWebLogic.sh: line 202:21293 已杀死
- 芯片的SD/MMC控制器以及SD卡介绍
- 2021四川高考成绩位次查询,四川高考排名对应学校-四川高考位次查询(2021年文科参考)...
- 搜狐,这次你玩过火了。
- securecrt启动mini2440卡在Please press Enter to activate this console问题已解决
- live555移植ARM过程
- 《知识就是力量》第七期——“怎样成为不纠结的人”笔记
- android 摄像头方向,android:调整摄像头方向
- 锁屏唤醒定时任务的处理方式
- linux zfs raid,CentOS7安装并使用zfs 新建RaidZ2阵列
- 影响世界的大事情:2018年11月16日BCH/BSV算力战
热门文章
- ABAP Development Tool 代码模板和其他一些实用技巧汇总
- 如何修改微软share point site 的页面风格
- SAP Spartacus 自定义 PageResolver 的用法
- Angular单元测试ComponentFixture的实例化过程明细
- SAP AMDP介绍 - ABAP托管的HANA数据库过程
- SAP云平台API portal里的discover all功能
- SAP Fiori 应用无法根据contact搜索的原因分析
- SAP CRM后台取数据逻辑的性能优化
- why unit test of user status failed
- SAP Gateway service language determination