机器人 (Bot)
TIP
机器人 (Bot) 是适配器的核心,它将不同平台的 API 封装成统一的格式供 Koishi 使用。而不同的适配器也可以自行扩展 Bot 实例上的属性和方法。
实例属性
bot.adapter
- 类型:
Adapter
当前 Bot 所在的 Adapter 实例。
bot.config
- 类型:
object
构造 Bot 实例时所使用的配置项。
bot.ctx
- 类型:
Context
当前 Bot 所在的 Context 实例。
bot.internal
- 类型:
object
当前机器人的 内部接口。
bot.platform
- 类型:
string
当前 Bot 的 平台名称。
bot.selfId
- 类型:
string
当前 Bot 的平台账号。
bot.status
- 类型:
Status
当前 Bot 的登录状态。
bot.user
- 类型:
User
当前 Bot 的用户信息。
适配器相关
bot.start()
- 返回值:
Promise<void>
启动机器人。这个方法会在插件被加载时自动被调用,通常你不需要手动调用它。
bot.stop()
- 返回值:
Promise<void>
停止机器人的运行,但不移除该实例。你可以后续通过 bot.start() 重新启动机器人。
这个方法会在插件被卸载时自动被调用,通常你不需要手动调用它。
bot.dispatch(session)
- session:
Session会话实例
触发一个会话事件。
bot.session(event?)
创建一个新的会话实例。
bot.online()
修改机器人的状态为在线。
bot.offline(error?)
- error:
Error错误信息
修改机器人的状态为离线,并记录错误信息。
通用 API
通用 API 由适配器实现。它们会在相应的资源页面中介绍。
bot.broadcast()bot.clearReaction()bot.createChannel()bot.createDirectChannel()bot.createGuildRole()bot.createReaction()bot.deleteChannel()bot.deleteGuildRole()bot.deleteReaction()bot.deleteMessage()bot.editMessage()bot.getChannel()bot.getChannelIter()bot.getChannelList()bot.getFriendIter()bot.getFriendList()bot.getGuild()bot.getGuildIter()bot.getGuildList()bot.getGuildMember()bot.getGuildMemberIter()bot.getGuildMemberList()bot.getGuildRoleIter()bot.getGuildRoleList()bot.getLogin()bot.getMessage()bot.getMessageIter()bot.getMessageList()bot.getReactionIter()bot.getReactionList()bot.getUser()bot.handleFriendRequest()bot.handleGuildMemberRequest()bot.handleGuildRequest()bot.kickGuildMember()bot.muteGuildMember()bot.sendMessage()bot.sendPrivateMessage()bot.setGuildMemberRole()bot.unsetGuildMemberRole()bot.updateChannel()bot.updateGuildRole()
Koishi