password: Password used to log on to the server. May be L{None}. @ivar realname: Supplied to the server during login as the "Real name" or "ircname". May be L{None}. @ivar username: Supplied to the server during login as the "User name". May be L{None} @ivar userinfo: Sent in reply to a C{USERINFO} CTCP query. If L{None}, no USERINFO reply will be sent. "This is used to transmit a string which is settable by the user (and never should be set by the client)." @ivar fingerReply: Sent in reply to a C{FINGER} CTCP query. If L{None}, no FINGER reply will be sent. @type fingerReply: Callable or String @ivar versionName: CTCP VERSION reply, client name. If L{None}, no VERSION reply will be sent. @type versionName: C{str}, or None. @ivar versionNum: CTCP VERSION reply, client version. @type versionNum: C{str}, or None. @ivar versionEnv: CTCP VERSION reply, environment the client is running in. @type versionEnv: C{str}, or None. @ivar sourceURL: CTCP SOURCE reply, a URL where the source code of this client may be found. If L{None}, no SOURCE reply will be sent. @ivar lineRate: Minimum delay between lines sent to the server. If L{None}, no delay will be imposed. @type lineRate: Number of Seconds. @ivar motd: Either L{None} or, between receipt of I{RPL_MOTDSTART} and I{RPL_ENDOFMOTD}, a L{list} of L{str}, each of which is the content of an I{RPL_MOTD} message. @ivar erroneousNickFallback: Default nickname assigned when an unregistered client triggers an C{ERR_ERRONEUSNICKNAME} while trying to register with an illegal nickname. @type erroneousNickFallback: C{str} @ivar _registered: Whether or not the user is registered. It becomes True once a welcome has been received from the server. @type _registered: C{bool} @ivar _attemptedNick: The nickname that will try to get registered. It may change if it is illegal or already taken. L{nickname} becomes the L{_attemptedNick} that is successfully registered. @type _attemptedNick: C{str} @type supported: L{ServerSupportedFeatures} @ivar supported: Available ISUPPORT features on the server @type hostname: C{str} @ivar hostname: Host name of the IRC server the client is connected to. Initially the host name is L{None} and later is set to the host name from which the I{RPL_WELCOME} message is received. @type _heartbeat: L{task.LoopingCall} @ivar _heartbeat: Looping call to perform the keepalive by calling L{IRCClient._sendHeartbeat} every L{heartbeatInterval} seconds, or L{None} if there is no heartbeat. @type heartbeatInterval: C{float} @ivar heartbeatInterval: Interval, in seconds, to send I{PING} messages to the server as a form of keepalive, defaults to 120 seconds. Use L{None} to disable the heartbeat. NZ