跳到主要内容

这是一个机器人的基本功能

一个接收 "你好" 返回 "你好" 的demo

import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

@Plugin(name = "test")
class Test {

private val test = message(Regex("你好")) {
this.sendReply("你好")
}

init {
test.register()
}
}

自定义权限

import com.blr19c.falowp.bot.system.api.ApiAuth
import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

@Plugin(name = "test")
class Test {

//ApiAuth.MANAGER管理权限
private val test = message(Regex("你好"), auth = ApiAuth.MANAGER) {
this.sendReply("你好")
}

init {
test.register()
}
}

打断&排序

当输入你好时 会依次返回 你好 你好2

import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

@Plugin(name = "test")
class Test {

//terminateEvent = false 执行完毕不打断后续匹配, order = 0 order更小的更有可能先执行
private val test1 = message(Regex("你好"), order = 0, terminateEvent = false) {
this.sendReply("你好")
}

private val test2 = message(Regex("你好"), order = 1) {
this.sendReply("你好2")
}

init {
test1.register()
test2.register()
}
}

自定义规则

除了演示的这些之外还有其他支持的规则

import com.blr19c.falowp.bot.system.plugin.MessagePluginRegisterMatch
import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

@Plugin(name = "test")
class Test {

//使用MessagePluginRegisterMatch自定义规则, 这里是仅接收@我并且id为xxx的用户的消息
private val test = message(MessagePluginRegisterMatch(Regex("你好"), atMe = true, sendId = listOf("xxx"))) {
this.sendReply("你好")
}

init {
test.register()
}
}

戳一戳

仅go-cqhttp协议支持

import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.poke

@Plugin(name = "test")
class Test {

//戳一戳
private val test = poke {
this.sendReply("你好")
}


init {
test.register()
}
}

发送&接收消息

import com.blr19c.falowp.bot.system.Log
import com.blr19c.falowp.bot.system.api.SendMessage
import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

@Plugin(name = "test")
class Test : Log {

private val test = message(Regex("你好")) {

val message = SendMessage.builder("你好").build()

log().info("接收到的消息${this.receiveMessage}")

//回复发送人
this.sendReply(message)

//回复发送人 并且使用转发的方式(仅gocqhttp生效)
this.sendReply(message, forward = true)

//回复发送人 并且引用发送人发送的消息
this.sendReply(message, reference = true)

//回复发送人并且使用私聊的方式(无论发送人在群聊还是私聊发送的消息)
this.sendPrivate(message)

//发送给群聊(发送人也在群聊的情况下)
this.sendGroup(message)

//发送给所有群聊
this.sendAllGroup(message)

//上面这几种也同样支持 forward&reference
}


init {
test.register()
}
}
提示

通过 com.blr19c.falowp.bot.system.api.SendMessage

你可以发送(文本、图片、视频、戳一戳、合并转发、艾特、引用)等消息