TransmitCacheConfig

data class TransmitCacheConfig(val enable: Boolean = true)(source)

'传递性' 缓存。

举个简单的例子:

bot.guild().channels.collect { channel -> // 1
val guild = channel.guild() // 2
}

如上步骤:

  1. 在一个 guild 中获取所有的 channel

  2. 遍历所有的 channel ,并在循环中再次获取 channel 的所属 guild

在这个过程中,步骤 2 中获取的 guild 已经确定为步骤 1 中的 guild, 因此如果不是为了 guild 信息的绝对 "实时" ,它们的查询实际上并没有必要。

传递性缓存即用于处理此种情况,当一个存在从属关系的子信息可以使用其所属的来源信息时,则直接将其传递而非再次查询。

传递性缓存不会应用于任何序列/列表本身。因此无论何时而获取到的 Collectable 类型始终都会是全新的类型。(不过其中的元素可能会携带可传递缓存)

传递性缓存涉及到 channelchannel categorymemberrole, 一般来说传递的是 guild,少部分API会传递其他内容,例如 memberRole 可能会传递 channel

内部实际可能传递的信息并不固定,它可能会随着版本的更新不断完善或修改,因此无法在此处一一列举。

Constructors

Link copied to clipboard
constructor(enable: Boolean = true)

Properties

Link copied to clipboard
val enable: Boolean = true