Plugin.scala 594 B

123456789101112131415161718192021222324
  1. package org.congressodeiradicali.karlmarx
  2. import com.bot4s.telegram.api.declarative.CommandFilterMagnet
  3. import com.bot4s.telegram.models.Message
  4. import scala.concurrent.Future
  5. trait Plugin {
  6. type Handler = (Message, Array[String]) => Future[Option[String]]
  7. type HandlerPair = (CommandFilterMagnet, Handler)
  8. val name: String
  9. val description: String
  10. val license: String
  11. val author: String
  12. /**
  13. * A string that identifies the plugin
  14. * used for loading and unloading it with bot commands
  15. */
  16. val identifier: String
  17. var handlers: Map[CommandFilterMagnet, Handler]
  18. }