Env

@SerialName(value = "env")
data class Env(val appId: String, val secret: String, val token: String, val plain: Boolean = false) : TicketConfiguration(source)

使用JVM参数或环境变量来读取 QGBotFileConfiguration.Ticket 中对应的配置类型。

{
"ticket": {
"type": "env",
"appId": "APP_ID",
"secret": "SECRET",
"token": "TOKEN",
"plain": false
}
}

Env 会首先尝试获取 JVM 参数,即运行时的 -Dxxx=xxx (也就是 System.getProperty), 当不存在时会尝试通过环境变量获取(即 System.getenv)。

原始输入

plaintrue 时(默认为 false),如果某属性通过上述流程无法获取到值,则会尝试直接使用原始输入值。

例如:

{
"ticket": {
"type": "env",
"appId": "aaa",
"secret": "MY_SECRET",
"token": "MY_TOKEN",
"plain": true
}
}

示例中的 appId 并没有找到名为 aaa 的 JVM 参数或环境变量,因此它会直接使用 aaa 作为 appId。 而如果 plainfalse,则会直接抛出 IllegalStateException 异常。

当一个属性以 PLAIN: (区分大小写) 为前缀,则会直接使用原始输入值,不会尝试从环境变量中获取。

例如:

{
"ticket": {
"type": "env",
"appId": "PLAIN:aaa",
"secret": "MY_SECRET",
"token": "MY_TOKEN",
"plain": false
}
}

示例中 appId 会直接使用 aaa 作为 appId,而不会尝试从 JVM 参数或环境变量中获取。

Constructors

Link copied to clipboard
constructor(appId: String, secret: String, token: String, plain: Boolean = false)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
val plain: Boolean = false

是否允许在无法获取到对应的 JVM 参数或环境变量时,直接使用原始输入值。

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard