Rename to ISupportFeature

This commit is contained in:
2026-10-05 12:48:11 +01:00
parent 5575d96f93
commit 281b8fff2a
@@ -1,23 +1,24 @@
package com.shr4pnel.ferretirc.irc
data class ISupportFeatures(val capabilities: List<Feature>)
sealed class Feature(key: String) {
sealed class ISupportFeature(key: String) {
// Indicates the maximum number of online nicknames a user may have in their accept list. First introduced in ircd-ratbox-3.0.9(r28737).
data class ACCEPT(val max: Int) : Feature("ACCEPT")
data class ACCEPT(val max: Int) : ISupportFeature("ACCEPT")
// Indicates the maximum length of an away message. If "number" is not defined, there is no limit.
data class AWAYLEN(val max: Int) : Feature("AWAYLEN")
data class AWAYLEN(val max: Int) : ISupportFeature("AWAYLEN")
// Indicates the character to be used as a user mode to let clients mark themselves as bots by setting it
data class BOT(val letter: Char) : Feature("BOT")
data class BOT(val letter: Char) : ISupportFeature("BOT")
// Indicates that the "caller-id" user mode is supported, which rejects messages from unauthorized users. "letter" defines the mode character, which is used for this feature. If the value is not given, it defaults to the mode "g".
data class CALLERID(val letter: Char) : Feature("CALLERID")
data class CALLERID(val letter: Char) : ISupportFeature("CALLERID")
// Indicates the method that’s used to compare equality of case-insensitive strings (such as nick/channel names). Typical values include "ascii" and "rfc1459". "rfc3454" is a proposed value that refers to the stringprep method described in RFC3454 (typically used for UTF-8 casefolding).
data class CASEMAPPING(val method: String) : Feature("CASEMAPPING")
data class CASEMAPPING(val method: String) : ISupportFeature("CASEMAPPING")
// Indicates the maximum length of a nickname that a client may use. Other clients on the network may have nicknames longer than this.
data class MAXNICKLEN(val max: Int) : Feature("MAXNICKLEN")
/** Indicates the maximum length of a nickname that a client may use. Other clients on the network may have nicknames longer than this. */
data class MAXNICKLEN(val max: Int) : ISupportFeature("MAXNICKLEN")
/** deprecated but still commonly sent by IRCDs */
data class CHARSET(val charset: String) : ISupportFeature("CHARSET")
}