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.

AwayProcessor.kt 632B

123456789101112131415161718192021
  1. package com.dmdirc.ktirc.messages.processors
  2. import com.dmdirc.ktirc.events.UserAway
  3. import com.dmdirc.ktirc.model.IrcMessage
  4. import com.dmdirc.ktirc.model.asUser
  5. internal class AwayProcessor : MessageProcessor {
  6. override val commands = arrayOf("AWAY")
  7. override fun process(message: IrcMessage) = sequence {
  8. when (message.command) {
  9. "AWAY" -> message.prefix?.let { yield(UserAway(message.metadata, it.asUser(), message.awayMessage)) }
  10. }
  11. }.toList()
  12. private val IrcMessage.awayMessage: String?
  13. get() = if (params.isEmpty()) null else String(params[0])
  14. }