OriginBotManager
所有 BotManager 的统一管理器.
OriginBotManager 是所有 BotManager 实例的统一管理类,在正常情况下, 所有的 BotManager 实现类在新建实例的时候都会将自身交由 OriginBotManager 进行统一管理。 OriginBotManager 内部不会持有这些manager,当一个 BotManager 执行了 cancel 或被垃圾回收后, OriginBotManager 中将无法再获取到它。
如果你想要某个 BotManager 脱离 OriginBotManager 的管理,使用 BotManager.breakAway
遍历所有:
OriginBotManager.forEach { manager ->
// do...
}
⚠ 谨慎使用
OriginBotManager 是脱离环境的 全局性 功能,当你的整个应用中存在多个环境时,使用它则很可能造成各种混乱。 BotManager 作为属性存在于很多对象中,你应当优先考虑使用那些明确的api(例如 Bot.manager、love.forte.simbot.event.Event.bot 等), 而对于全局性的 OriginBotManager, 是最后的选择。
Functions
构建一个当前 Collection 对应的 View。 如果当前集合类型为 List, 则相当于 List.asView。
构建一个当前 Iterable 对应的 View。 如果当前类型为 Collection, 则相当于 Collection.asView。
关闭 OriginBotManager. 如果没有特殊需求,此方法不需要也不应该被手动调用。cancel 通常使用在 shutdown hook 等系统终止的相关回调中。
判断是否存在某个BotManager。
判断是否包含提供的所有manager。
尝试获取任意一个manager。如果当前元素为空则会抛出 NoSuchElementException。
尝试获取任意一个 BotManager 下的任意一个 Bot。如果无法获得任何元素则抛出 NoSuchElementException。
尝试获取任意一个 BotManager 下的任意一个 Bot。如果当前元素为空则会得到null。
尝试获取任意一个manager。如果当前元素为空则会得到null。
根据一个Bot的id以及对应的组件ID来得到一个此组件下指定ID的bot。如果manager不存在或者没有这个id的bot,则会抛出 NoSuchElementException 。
根据一个Bot的id以及对应的组件对象来得到一个此组件下指定ID的bot。如果manager不存在或者没有这个id的bot,则会得到null。
根据一个Bot的id以及对应的组件ID来得到一个此组件下指定ID的bot。如果manager不存在或者没有这个id的bot,则会得到null。
获取某个指定组件下的第一个能够得到的 BotManager, 如果找不到则抛出 NoSuchElementException。
获取某个指定组件下的第一个能够得到的 BotManager, 如果找不到则返回null。
获取某个指定组件下的第一个能够得到的 BotManager, 如果找不到则返回null。
根据指定ID查询组件ID与其相等的 BotManager.
通过一个 Component 获取对应组件下的BotManager序列。
获取迭代器。
将 元素为 MsgElement 的 Iterable 转化为 Messages 实例。