mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-10 18:40:15 +08:00
5.9 KiB
5.9 KiB
Mirai Console Backend - Commands
Command
「指令」:目前通常是 "/commandName arg1 arg2 arg3" 格式的消息。在将来可能会被扩展
interface Command {
val names: Array<out String>
val usage: String
val description: String
val permission: CommandPermission
val prefixOptional: Boolean
val owner: CommandOwner
suspend fun CommandSender.onCommand(args: MessageChain)
}
每一条指令都被抽象成 Command
。
执行指令
指令既可以在代码执行,也可以在消息环境中执行。
在 CommandManager
执行指令
通过扩展:
suspend fun Command.execute(CommandSender, args: Message, checkPermission: Boolean=true)
suspend fun Command.execute(CommandSender, args: String, checkPermission: Boolean=true)
suspend fun CommandSender.executeCommand(message: Message, checkPermission: Boolean=true)
suspend fun CommandSender.executeCommand(message: String, checkPermission: Boolean=true)
指令参数
指令的参数允许 SingleMessage
,即包含 At
, Image
, PlainText
等。
RawCommand
CommandManager
上面已经提到可以在 CommandManager
执行指令。CommandManager
持有已经注册的指令列表,源码内有详细注释,此处不过多赘述。
CommandSender
指令发送者。
必要性
Contact