evennia.server.portal.irc¶
This connects to an IRC network/channel and launches an ‘bot’ onto it. The bot then pipes what is being said between the IRC channel and one or more Evennia channels.
-
evennia.server.portal.irc.
parse_ansi_to_irc
(string)[source]¶ Parse |-type syntax and replace with IRC color markers
- Parameters
string (str) – String to parse for ANSI colors.
- Returns
parsed_string (str) – String with replaced ANSI colors.
-
evennia.server.portal.irc.
parse_irc_to_ansi
(string)[source]¶ Parse IRC mIRC color syntax and replace with Evennia ANSI color markers
- Parameters
string (str) – String to parse for IRC colors.
- Returns
parsed_string (str) – String with replaced IRC colors.
-
class
evennia.server.portal.irc.
IRCBot
[source]¶ Bases:
twisted.words.protocols.irc.IRCClient
,evennia.server.session.Session
An IRC bot that tracks activity in a channel as well as sends text to it when prompted
-
lineRate
= 1¶
-
nickname
= None¶
-
logger
= None¶
-
factory
: Optional[twisted.internet.protocol.Factory] = None¶
-
channel
= None¶
-
sourceURL
= 'http://code.evennia.com'¶
-
signedOn
()[source]¶ This is called when we successfully connect to the network. We make sure to now register with the game as a full session.
-
disconnect
(reason='')[source]¶ Called by sessionhandler to disconnect this protocol.
- Parameters
reason (str) – Motivation for the disconnect.
-
privmsg
(user, channel, msg)[source]¶ Called when the connected channel receives a message.
- Parameters
user (str) – User name sending the message.
channel (str) – Channel name seeing the message.
msg (str) – The message arriving from channel.
-
action
(user, channel, msg)[source]¶ Called when an action is detected in channel.
- Parameters
user (str) – User name sending the message.
channel (str) – Channel name seeing the message.
msg (str) – The message arriving from channel.
-
get_nicklist
()[source]¶ Retrieve name list from the channel. The return is handled by the catch methods below.
-
pong
(user, time)[source]¶ Called with the return timing from a PING.
- Parameters
user (str) – Name of user
time (float) – Ping time in secs.
-
data_in
(text=None, **kwargs)[source]¶ Data IRC -> Server.
- Keyword Arguments
text (str) – Ingoing text.
kwargs (any) – Other data from protocol.
-
send_channel
(*args, **kwargs)[source]¶ Send channel text to IRC channel (visible to all). Note that we don’t handle the “text” send (it’s rerouted to send_default which does nothing) - this is because the IRC bot is a normal session and would otherwise report anything that happens to it to the IRC channel (such as it seeing server reload messages).
- Parameters
text (str) – Outgoing text
-
send_privmsg
(*args, **kwargs)[source]¶ Send message only to specific user.
- Parameters
text (str) – Outgoing text.
- Keyword Arguments
user (str) – the nick to send privately to.
-
send_request_nicklist
(*args, **kwargs)[source]¶ Send a request for the channel nicklist. The return (handled by self.irc_RPL_ENDOFNAMES) will be sent back as a message with type **nicklist’.
-
send_ping
(*args, **kwargs)[source]¶ Send a ping. The return (handled by self.pong) will be sent back as a message of type ‘ping’.
-
-
class
evennia.server.portal.irc.
IRCBotFactory
(sessionhandler, uid=None, botname=None, channel=None, network=None, port=None, ssl=None)[source]¶ Bases:
twisted.internet.protocol.ReconnectingClientFactory
Creates instances of IRCBot, connecting with a staggered increase in delay
-
initialDelay
= 1¶
-
factor
= 1.5¶
-
maxDelay
= 60¶
-
__init__
(sessionhandler, uid=None, botname=None, channel=None, network=None, port=None, ssl=None)[source]¶ Storing some important protocol properties.
- Parameters
sessionhandler (SessionHandler) – Reference to the main Sessionhandler.
- Keyword Arguments
uid (int) – Bot user id.
botname (str) – Bot name (seen in IRC channel).
channel (str) – IRC channel to connect to.
network (str) – Network address to connect to.
port (str) – Port of the network.
ssl (bool) – Indicates SSL connection.
-
buildProtocol
(addr)[source]¶ Build the protocol and assign it some properties.
- Parameters
addr (str) – Not used; using factory data.
-
startedConnecting
(connector)[source]¶ Tracks reconnections for debugging.
- Parameters
connector (Connector) – Represents the connection.
-
clientConnectionFailed
(connector, reason)[source]¶ Called when Client failed to connect.
- Parameters
connector (Connection) – Represents the connection.
reason (str) – The reason for the failure.
-
clientConnectionLost
(connector, reason)[source]¶ Called when Client loses connection.
- Parameters
connector (Connection) – Represents the connection.
reason (str) – The reason for the failure.
-