Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223
  1. package com.dmdirc.ktirc.events
  2. import com.dmdirc.ktirc.IrcClient
  3. import com.dmdirc.ktirc.messages.sendMessage
  4. import com.dmdirc.ktirc.model.ServerFeature
  5. import com.dmdirc.ktirc.model.asUser
  6. internal fun ChannelNamesReceived.toModesAndUsers(client: IrcClient) = sequence {
  7. val modePrefixes = client.serverState.features[ServerFeature.ModePrefixes]!!
  8. for (user in names) {
  9. user.takeWhile { modePrefixes.isPrefix(it) }.let { prefix ->
  10. yield(modePrefixes.getModes(prefix) to user.substring(prefix.length).asUser())
  11. }
  12. }
  13. }.toList()
  14. fun IrcClient.reply(message: MessageReceived, response: String, prefixWithNickname: Boolean = false) {
  15. if (caseMapping.areEquivalent(message.target, serverState.localNickname)) {
  16. sendMessage(message.user.nickname, response)
  17. } else {
  18. sendMessage(message.target, if (prefixWithNickname) "${message.user.nickname}: $response" else response)
  19. }
  20. }