事件能更好的将每个模块独立,更好的松耦合&可维护
发布&接收事件
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