mute

abstract suspend fun mute(duration: Duration = DEFAULT_DURATION): Boolean

对当前目标进行 禁言 操作。

duration 代表禁言时长。duration 并不能保证其存在效果与稳定性。绝大多数情况下,duration 有效值都应大于0。

当 duration 的值小于等于0的时候,通常情况下代表无限期的,或者视为 无效参数 。在默认情况下,duration 的值为 0 。 对于一个必须提供时间的组件来讲,它可能会使用一个默认值,或者直接抛出异常。

当组件支持 duration 的时候,它们绝大多数情况下都会 至少以秒 为单位,除非你明确的知道当前实现能够支持更低量级,否则请尽可能使用秒或更高的单位。 同样的,很多情况下对于 duration 的上限也同样有限制。因此对于 duration 请自行斟酌数值,选取合理范围。

当组件不支持 duration 的时候,可能会由组件在其内部启动一个异步的延时任务来 模拟 duration 的效果。这种情况下,duration 的表现将没有保障。因为 这个异步任务存在于当前应用程序的内存中,会伴随着程序的终止而消亡。如果这个异步任务是通过当前 bot 或者 bot 下某个子任务,则这个异步任务 便会伴随着这个协程作用域的完成而消逝。 除了通过异步任务实现 duration 的效果,在不支持的情况下也有可能会将其直接忽略。

当 mute 行为不被支持的时候,大多数情况下组件会选择直接返回 false, 但是并不排除可能会直接抛出异常的可能。

support.mute()
support.mute(5.seconds)

Parameters

duration

持续时长

Throws

当此行为不被支持时


open suspend fun mute(time: Long, timeUnit: TimeUnit): Boolean

对当前目标进行 禁言 操作。

support.mute(5, TimeUnit.SECONDS)

See also