您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

AuthenticationProcessor.kt 858B

123456789101112131415161718192021
  1. package com.dmdirc.ktirc.messages
  2. import com.dmdirc.ktirc.events.AuthenticationMessage
  3. import com.dmdirc.ktirc.events.SaslFinished
  4. import com.dmdirc.ktirc.model.IrcMessage
  5. internal class AuthenticationProcessor : MessageProcessor {
  6. override val commands = arrayOf("AUTHENTICATE", RPL_SASLSUCCESS, ERR_SASLFAIL)
  7. override fun process(message: IrcMessage) = when(message.command) {
  8. "AUTHENTICATE" -> listOf(AuthenticationMessage(message.time, message.authenticateArgument))
  9. RPL_SASLSUCCESS -> listOf(SaslFinished(message.time, true))
  10. ERR_SASLFAIL -> listOf(SaslFinished(message.time, false))
  11. else -> emptyList()
  12. }
  13. private val IrcMessage.authenticateArgument: String?
  14. get() = if (params.isEmpty() || params[0].size == 1 && String(params[0]) == "+") null else String(params[0])
  15. }