class ServerSupportedFeatures(_CommandDispatcherMixin): (source)
Handle ISUPPORT messages.
Feature names match those in the ISUPPORT RFC draft identically.
Information regarding the specifics of ISUPPORT was gleaned from <http://www.irc.org/tech_docs/draft-brocklesby-irc-isupport-03.txt>.
Method | __init__ |
Undocumented |
Method | get |
Get a server supported feature's value. |
Method | has |
Determine whether a feature is supported or not. |
Method | isupport_ |
The maximum number of each channel type a user may join. |
Method | isupport_ |
Available channel modes. |
Method | isupport_ |
Maximum length of a channel name a client may create. |
Method | isupport_ |
Valid channel prefixes. |
Method | isupport_ |
Mode character for "ban exceptions". |
Method | isupport_ |
Safe channel identifiers. |
Method | isupport_ |
Mode character for "invite exceptions". |
Method | isupport_ |
Maximum length of a kick message a client may provide. |
Method | isupport_ |
Maximum number of "list modes" a client may set on a channel at once. |
Method | isupport_ |
Maximum number of modes accepting parameters that may be sent, by a client, in a single MODE command. |
Method | isupport_ |
IRC network name. |
Method | isupport_ |
Maximum length of a nickname the client may use. |
Method | isupport_ |
Mapping of channel modes that clients may have to status flags. |
Method | isupport_ |
Flag indicating that a client may request a LIST without being disconnected due to the large amount of data generated. |
Method | isupport_ |
The server supports sending messages to only to clients on a channel with a specific status. |
Method | isupport_ |
Maximum number of targets allowable for commands that accept multiple targets. |
Method | isupport_ |
Maximum length of a topic that may be set. |
Method | isupport |
Unknown ISUPPORT parameter. |
Method | parse |
Parse ISUPPORT parameters. |
Instance Variable | prefix |
Undocumented |
Class Method | _parse |
Parse the ISUPPORT "CHANMODES" parameter. |
Class Method | _parse |
Parse the ISUPPORT "PREFIX" parameter. |
Class Method | _split |
Split an ISUPPORT parameter. |
Class Method | _split |
Split ISUPPORT parameter arguments. |
Class Method | _unescape |
Unescape an ISUPPORT parameter. |
Instance Variable | _features |
Undocumented |
Inherited from _CommandDispatcherMixin
:
Method | dispatch |
Perform actual command dispatch. |
Get a server supported feature's value.
A feature with the value None
is equivalent to the feature being unsupported.
Parameters | |
feature:str | Feature name |
default:object | The value to default to, assuming that feature is not supported |
Returns | |
Feature value |
Available channel modes.
There are 4 categories of channel mode:
addressModes - Modes that add or remove an address to or from a list, these modes always take a parameter. param - Modes that change a setting on a channel, these modes always take a parameter. setParam - Modes that change a setting on a channel, these modes only take a parameter when being set. noParam - Modes that change a setting on a channel, these modes never take a parameter.
Mode character for "ban exceptions".
The presence of this parameter indicates that the server supports this functionality.
Safe channel identifiers.
The presence of this parameter indicates that the server supports this functionality.
Mode character for "invite exceptions".
The presence of this parameter indicates that the server supports this functionality.
Maximum number of "list modes" a client may set on a channel at once.
List modes are identified by the "addressModes" key in CHANMODES.
Maximum number of modes accepting parameters that may be sent, by a client, in a single MODE command.
Flag indicating that a client may request a LIST without being disconnected due to the large amount of data generated.
Parse ISUPPORT parameters.
If an unknown parameter is encountered, it is simply added to the dictionary, keyed by its name, as a tuple of the parameters provided.
Parameters | |
params:iterable of str | Iterable of ISUPPORT parameters to parse |
Parse the ISUPPORT "CHANMODES" parameter.
See isupport_CHANMODES
for a detailed explanation of this parameter.
Parse the ISUPPORT "PREFIX" parameter.
The order in which the parameter arguments appear is significant, the earlier a mode appears the more privileges it gives.
Returns | |
dict mapping str to (str, int) | A dictionary mapping a mode character to a two-tuple of C({symbol, priority)}, the lower a priority (the lowest being 0) the more privileges it gives |
Split ISUPPORT parameter arguments.
Values can optionally be processed by valueProcessor.
For example:
>>> ServerSupportedFeatures._splitParamArgs(['A:1', 'B:2']) (('A', '1'), ('B', '2'))
Parameters | |
params:iterable of str | Undocumented |
value | Callable to process argument values, or None to perform no processing |
Returns | |
list of (str, object) | Sequence of (name, processedValue) |