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

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

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard