t.w.p.i.ServerSupportedFeatures(_CommandDispatcherMixin) : class documentation

Part of twisted.words.protocols.irc View Source View In Hierarchy

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 getFeature Get a server supported feature's value.
Method hasFeature Determine whether a feature is supported or not.
Method parse Parse ISUPPORT parameters.
Method isupport_unknown Unknown ISUPPORT parameter.
Method isupport_CHANLIMIT The maximum number of each channel type a user may join.
Method isupport_CHANMODES Available channel modes.
Method isupport_CHANNELLEN Maximum length of a channel name a client may create.
Method isupport_CHANTYPES Valid channel prefixes.
Method isupport_EXCEPTS Mode character for "ban exceptions".
Method isupport_IDCHAN Safe channel identifiers.
Method isupport_INVEX Mode character for "invite exceptions".
Method isupport_KICKLEN Maximum length of a kick message a client may provide.
Method isupport_MAXLIST Maximum number of "list modes" a client may set on a channel at once.
Method isupport_MODES Maximum number of modes accepting parameters that may be sent, by a client, in a single MODE command.
Method isupport_NETWORK IRC network name.
Method isupport_NICKLEN Maximum length of a nickname the client may use.
Method isupport_PREFIX Mapping of channel modes that clients may have to status flags.
Method isupport_SAFELIST Flag indicating that a client may request a LIST without being disconnected due to the large amount of data generated.
Method isupport_STATUSMSG The server supports sending messages to only to clients on a channel with a specific status.
Method isupport_TARGMAX Maximum number of targets allowable for commands that accept multiple targets.
Method isupport_TOPICLEN Maximum length of a topic that may be set.
Class Method _splitParamArgs Split ISUPPORT parameter arguments.
Class Method _unescapeParamValue Unescape an ISUPPORT parameter.
Class Method _splitParam Split an ISUPPORT parameter.
Class Method _parsePrefixParam Parse the ISUPPORT "PREFIX" parameter.
Class Method _parseChanModesParam Parse the ISUPPORT "CHANMODES" parameter.

Inherited from _CommandDispatcherMixin:

Instance Variable prefix Command handler prefix, used to locate handler attributes (type: str)
Method dispatch Perform actual command dispatch.
def __init__(self): (source)
Undocumented
@classmethod
def _splitParamArgs(cls, params, valueProcessor=None): (source)

Split ISUPPORT parameter arguments.

Values can optionally be processed by valueProcessor.

For example:

   >>> ServerSupportedFeatures._splitParamArgs(['A:1', 'B:2'])
   (('A', '1'), ('B', '2'))
ParametersvalueProcessorCallable to process argument values, or None to perform no processing (type: callable taking {str})
ReturnsSequence of (name, processedValue) (type: list of (str, object))
@classmethod
def _unescapeParamValue(cls, value): (source)
Unescape an ISUPPORT parameter.

The only form of supported escape is \xHH, where HH must be a valid 2-digit hexadecimal number.

Returns (type: str)
@classmethod
def _splitParam(cls, param): (source)
Split an ISUPPORT parameter.
Returns (type: (str, list) @return (key, arguments))
@classmethod
def _parsePrefixParam(cls, prefix): (source)
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.

ReturnsA 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 (type: dict mapping str to (str, int))
@classmethod
def _parseChanModesParam(self, params): (source)
Parse the ISUPPORT "CHANMODES" parameter.

See isupport_CHANMODES for a detailed explanation of this parameter.

def getFeature(self, feature, default=None): (source)
Get a server supported feature's value.

A feature with the value None is equivalent to the feature being unsupported.

ParametersfeatureFeature name (type: str)
defaultThe value to default to, assuming that feature is not supported (type: object)
ReturnsFeature value
def hasFeature(self, feature): (source)
Determine whether a feature is supported or not.
Returns (type: bool)
def parse(self, params): (source)
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.

ParametersparamsIterable of ISUPPORT parameters to parse (type: iterable of str)
def isupport_unknown(self, command, params): (source)
Unknown ISUPPORT parameter.
def isupport_CHANLIMIT(self, params): (source)
The maximum number of each channel type a user may join.
def isupport_CHANMODES(self, params): (source)

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.
def isupport_CHANNELLEN(self, params): (source)
Maximum length of a channel name a client may create.
def isupport_CHANTYPES(self, params): (source)
Valid channel prefixes.
def isupport_EXCEPTS(self, params): (source)
Mode character for "ban exceptions".

The presence of this parameter indicates that the server supports this functionality.

def isupport_IDCHAN(self, params): (source)
Safe channel identifiers.

The presence of this parameter indicates that the server supports this functionality.

def isupport_INVEX(self, params): (source)
Mode character for "invite exceptions".

The presence of this parameter indicates that the server supports this functionality.

def isupport_KICKLEN(self, params): (source)
Maximum length of a kick message a client may provide.
def isupport_MAXLIST(self, params): (source)
Maximum number of "list modes" a client may set on a channel at once.

List modes are identified by the "addressModes" key in CHANMODES.

def isupport_MODES(self, params): (source)
Maximum number of modes accepting parameters that may be sent, by a client, in a single MODE command.
def isupport_NETWORK(self, params): (source)
IRC network name.
def isupport_NICKLEN(self, params): (source)
Maximum length of a nickname the client may use.
def isupport_PREFIX(self, params): (source)
Mapping of channel modes that clients may have to status flags.
def isupport_SAFELIST(self, params): (source)
Flag indicating that a client may request a LIST without being disconnected due to the large amount of data generated.
def isupport_STATUSMSG(self, params): (source)
The server supports sending messages to only to clients on a channel with a specific status.
def isupport_TARGMAX(self, params): (source)
Maximum number of targets allowable for commands that accept multiple targets.
def isupport_TOPICLEN(self, params): (source)
Maximum length of a topic that may be set.
API Documentation for Twisted, generated by pydoctor at 2013-11-08 22:07:30.