mirai/docs/Bots.md
2020-12-19 16:01:58 +08:00

1.4 KiB

Mirai - Creating Bots

获取 Bot 实例

一个机器人被以 Bot 对象描述。mirai 的交互入口点是 BotBot 只可通过 BotFactory 内的 newBot 方法获得:

interface BotFactory {
    fun newBot(qq: Long, password: String, configuration: BotConfiguration): Bot
    fun newBot(qq: Long, password: String): Bot
    fun newBot(qq: Long, passwordMd5: ByteArray, configuration: BotConfiguration): Bot
    fun newBot(qq: Long, passwordMd5: ByteArray): Bot
    
    companion object : BotFactory by BotFactoryImpl
}

通常的调用方法为:

// Kotlin
val bot = BotFactory.newBot(    )

// Java
Bot bot = BotFactory.INSTANCE.newBot(    );

获取当前所有 Bot 实例

在登录后,Bot 实例会被自动记录。可在 Bot.instances 获取到当前在线的所有 Bot 列表。当 Bot 离线,其实例就会被删除。

登录

创建 Bot 后不会自动登录,需要手动调用其 login() 方法。在 Kotlin 还可以使用 Bot.alsoLogin() 扩展,相当于 bot.apply { login() }

重新登录

可以再次调用 Bot.login() 以重新登录 Bot。这一般没有必要——Bot 运行时会自动与服务器同步事件(如群成员变化,好友数量变化)。

下一步,Contacts

回到 Mirai 文档索引