跳到主要内容

事件能更好的将每个模块独立,更好的松耦合&可维护

发布&接收事件

import com.blr19c.falowp.bot.system.Log
import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Listener.Event.Companion.eventListener
import com.blr19c.falowp.bot.system.plugin.Plugin.Message.message

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

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

private val eventTest = eventListener<TestEvent> { testEvent ->
log().info("接收到了事件:$testEvent")
}


init {
test.register()
eventTest.register()
}
}

class TestEvent : Plugin.Listener.Event

系统内置事件


//早晚安事件
com.blr19c.falowp.bot.system.listener.events.GreetingEvent

//帮助事件
com.blr19c.falowp.bot.system.listener.events.HelpEvent

//机器人发送了消息的事件
com.blr19c.falowp.bot.system.listener.events.SendMessageEvent