创建一个命令
命令是最核心的几个功能之一, 我花了大部分的时间在这个模块中
创建命令的方式有多种, 你可以选择你喜欢的方式来创建你的指令
继承父类创建指令
这种方法创建的指令通常需要创建一个类来作为一个指令, 然后将其手动注册, 些许麻烦
kotlin
class MyCommand : BaseCommand() {
// 这里只能在群聊中执行
override val type: List<ExecuteType> = listOf(BaseCommand.ExecuteType.Group)
// 设置一个或者多个指令别名
override val commandNames: List<String> = listOf("/echo", "/ohce")
override suspend fun onExecute(
message: ReceiveMessage,
type: ExecuteType,
args: List<String>,
) {
// 这里就是指令执行的逻辑了
}
}
lambda式
这种方法创建出来的指令非常简短非常适合懒人(
kotlin
// 不设置可以在哪种情景的聊天执行, 则默认为全部聊天情景都可以执行
// 群聊, 私聊, 临时聊天
createCommand("/hello") {
println("Hello world")
}.register()
Java使用者
ROB为Java使用者开发了lambda式的指令创建
java
public class TestJava {
public static void main(String[] args) {
CommandUtil.createCommand("hello", request ->
System.out.println(request.getMessage())
).register();
}
}