这是一个机器人的基本功能
一个接收 "你好" 返回 "你好" 的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
你可以发送(文本、图片、视频、戳一戳、合并转发、艾特、引用)等消息