You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MotdProcessor.kt 777B

1234567891011121314151617181920
  1. package com.dmdirc.ktirc.messages
  2. import com.dmdirc.ktirc.events.MotdFinished
  3. import com.dmdirc.ktirc.events.MotdLineReceived
  4. import com.dmdirc.ktirc.model.IrcMessage
  5. internal class MotdProcessor : MessageProcessor {
  6. override val commands = arrayOf(ERR_NOMOTD, RPL_MOTDSTART, RPL_MOTD, RPL_ENDOFMOTD)
  7. override fun process(message: IrcMessage) = sequence {
  8. when (message.command) {
  9. RPL_MOTDSTART -> yield(MotdLineReceived(message.time, String(message.params[1]), true))
  10. RPL_MOTD -> yield(MotdLineReceived(message.time, String(message.params[1])))
  11. ERR_NOMOTD -> yield(MotdFinished(message.time, missing = true))
  12. RPL_ENDOFMOTD -> yield(MotdFinished(message.time))
  13. }
  14. }.toList()
  15. }