Bot配置文件
公告
站点迁移啦~!
为什么迁移?
作为由我们官方维护的组件库,分散在各自的文档站点中的确有好处:它们可以各自维护自己所需的东西、互不干扰。
但是缺点也很明显: 太过分散。
组件库与核心库之间的关系是比较紧密的, 我们希望你能够在一个站点内就可以查阅或搜索到所有你想要得知的信息。
示例
属性描述
- component
固定值
simbot.kook
, 必填 ,代表此配置文件为KOOK组件的。- ticket
对 bot 身份进行校验、访问 KOOK API 以及连接KOOK服务器进行事件订阅时所需的 bot 票据信息。
- clientId
BOT的
Client ID
。- token
BOT使用 websocket 模式进行连接的
token
.
- config
其他配置,可选。
- isCompress
是否压缩数据。默认为
true
。- syncPeriods
缓存对象信息的同步周期配置。
{ "config": { "syncPeriods": { "guild": { "syncPeriod": 180000, "batchDelay": 0 } } } }- guild
对频道服务器进行同步的周期信息配置,单位毫秒。
- guild.syncPeriod
对频道服务器进行同步的周期,单位毫秒,大于
0
时有效。目前服务器同步的同时会去同步此服务器下的所有频道列表与成员列表。默认为
180000
,即180000毫秒 -> 180秒 -> 3分钟
。进行配置的时候需要注意考虑调用频率上限等相关问题。
- guild.batchDelay
同步数据是分页分批次的同步。
batchDelay
配置每批次后进行挂起等待的时间,单位毫秒。 可以通过调大此参数来减缓 API 的请求速率, 默认不等待。配置此属性可一定程度上降低触发调用频率限制的风险。
一拍脑瓜儿随便写的。
- clientEngineConfig & wsEngineConfig
clientEngineConfig
和wsEngineConfig
两个配置项类型相同, 顾名思义它们分别是针对API client
和ws
场景下使用的HttpClient
实例的引擎(通用)配置项。它们的配置项都与 Ktor 的
HttpClientEngineConfig
的配置相同,没有额外的含义。- timeout
BOT内进行API请求时候的超时时间配置。(基于 Ktor HttpTimeout)
当
timeout
本身为null时,不会覆盖原本的默认配置。但如果timeout
不为null,则会直接使用此对象内信息直接完整覆盖。例如:
{ "config": { "timeout": null } }此时,
connectTimeoutMillis
和requestTimeoutMillis
都是默认的5000
, 而如果配置是:{ "config": { "timeout": { } } }则所有属性都会为
null
。- connectTimeoutMillis
a time period required to process an HTTP call: from sending a request to receiving a response.
更多参考 Ktor HttpTimeout
- requestTimeoutMillis
a time period in which a client should establish a connection with a server.
更多参考 Ktor HttpTimeout
- socketTimeoutMillis
a maximum time of inactivity between two data packets when exchanging data with a server.
更多参考 Ktor HttpTimeout
- wsConnectTimeout
ws连接超时时间,单位
ms
。默认为6000
毫秒。- isNormalEventProcessAsync
ProcessorType.NORMAL
类型的事件处理器是否在异步中执行。默认为true
。 当为false
时,NORMAL
的表现效果将会与PREPARE
基本类似。如果你不打算直接操作原始的
Bot
对象来注册一些原始的监听函数, 此配置项对你来说可能就没有太大的作用。