<spanid="evennia-server-portal-irc"></span><h1>evennia.server.portal.irc<aclass="headerlink"href="#module-evennia.server.portal.irc"title="Permalink to this headline">¶</a></h1>
<p>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
<codeclass="sig-prename descclassname">evennia.server.portal.irc.</code><codeclass="sig-name descname">parse_ansi_to_irc</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#parse_ansi_to_irc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.parse_ansi_to_irc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.portal.irc.</code><codeclass="sig-name descname">parse_irc_to_ansi</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">string</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#parse_irc_to_ansi"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.parse_irc_to_ansi"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.portal.irc.</code><codeclass="sig-name descname">IRCBot</code><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lineRate</code><emclass="property"> = 1</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.lineRate"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">nickname</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.nickname"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">logger</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.logger"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">factory</code><emclass="property">: Optional<spanclass="p">[</span>twisted.internet.protocol.Factory<spanclass="p">]</span></em><emclass="property"> = None</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.factory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">channel</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.channel"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sourceURL</code><emclass="property"> = 'http://code.evennia.com'</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.sourceURL"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">signedOn</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.signedOn"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.signedOn"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called when we successfully connect to the network. We
make sure to now register with the game as a full session.</p>
<codeclass="sig-name descname">disconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">''</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.disconnect"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_login</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.at_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.at_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">privmsg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">channel</span></em>, <emclass="sig-param"><spanclass="n">msg</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.privmsg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.privmsg"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">action</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">channel</span></em>, <emclass="sig-param"><spanclass="n">msg</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.action"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.action"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_nicklist</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.get_nicklist"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.get_nicklist"title="Permalink to this definition">¶</a></dt>
<dd><p>Retrieve name list from the channel. The return
<codeclass="sig-name descname">irc_RPL_NAMREPLY</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">prefix</span></em>, <emclass="sig-param"><spanclass="n">params</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.irc_RPL_NAMREPLY"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.irc_RPL_NAMREPLY"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">irc_RPL_ENDOFNAMES</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">prefix</span></em>, <emclass="sig-param"><spanclass="n">params</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.irc_RPL_ENDOFNAMES"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.irc_RPL_ENDOFNAMES"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">pong</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">time</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.pong"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.pong"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">data_in</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.data_in"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.data_in"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_channel</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_channel"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_channel"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_privmsg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_privmsg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_privmsg"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_request_nicklist</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_request_nicklist"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_request_nicklist"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_ping</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_ping"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_ping"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_reconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_reconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_reconnect"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">send_default</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBot.send_default"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBot.send_default"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">initialDelay</code><emclass="property"> = 1</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.initialDelay"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">factor</code><emclass="property"> = 1.5</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.factor"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">maxDelay</code><emclass="property"> = 60</em><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.maxDelay"title="Permalink to this definition">¶</a></dt>
<dd><p>Storing some important protocol properties.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>sessionhandler</strong> (<aclass="reference internal"href="evennia.server.sessionhandler.html#evennia.server.sessionhandler.SessionHandler"title="evennia.server.sessionhandler.SessionHandler"><em>SessionHandler</em></a>) – Reference to the main Sessionhandler.</p>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>uid</strong> (<em>int</em>) – Bot user id.</p></li>
<li><p><strong>botname</strong> (<em>str</em>) – Bot name (seen in IRC channel).</p></li>
<li><p><strong>channel</strong> (<em>str</em>) – IRC channel to connect to.</p></li>
<li><p><strong>network</strong> (<em>str</em>) – Network address to connect to.</p></li>
<li><p><strong>port</strong> (<em>str</em>) – Port of the network.</p></li>
<codeclass="sig-name descname">buildProtocol</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">addr</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.buildProtocol"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.buildProtocol"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">startedConnecting</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">connector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.startedConnecting"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.startedConnecting"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">clientConnectionFailed</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">connector</span></em>, <emclass="sig-param"><spanclass="n">reason</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.clientConnectionFailed"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.clientConnectionFailed"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">clientConnectionLost</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">connector</span></em>, <emclass="sig-param"><spanclass="n">reason</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.clientConnectionLost"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.clientConnectionLost"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reconnect</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.reconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.reconnect"title="Permalink to this definition">¶</a></dt>
<dd><p>Force a reconnection of the bot protocol. This requires
de-registering the session and then reattaching a new one,
otherwise you end up with an ever growing number of bot
<codeclass="sig-name descname">start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.portal.irc.IRCBotFactory.start"title="Permalink to this definition">¶</a></dt>