.. _plugin-Relay:

Documentation for the Relay plugin for Supybot
==============================================

Purpose
-------
Handles relaying between networks.

Usage
-----
This plugin allows you to setup a relay between networks.

Note that you must tell the bot to join the channel you wish to relay on
all networks with the ``join`` command or
``network command <network> join <channel>``
or to join the channel on all networks ``network cmdall join <channel>``.

There are several advanced alternatives to this plugin, available as
third-party plugins. You can check them out at
https://limnoria.net/plugins.xhtml#messaging

.. _commands-Relay:

Commands
--------
.. _command-Relay-join:

join [<channel>]
  Starts relaying between the channel <channel> on all networks. If on a network the bot isn't in <channel>, it'll join. This commands is required even if the bot is in the channel on both networks; it won't relay between those channels unless it's told to join both channels. If <channel> is not given, starts relaying on the channel the message was sent in.

.. _command-Relay-nicks:

nicks [<channel>]
  Returns the nicks of the people in the channel on the various networks the bot is connected to. <channel> is only necessary if the message isn't sent on the channel itself.

.. _command-Relay-part:

part <channel>
  Ceases relaying between the channel <channel> on all networks. The bot will part from the channel on all networks in which it is on the channel.

Configuration
-------------
supybot.plugins.Relay.channels
  This config variable defaults to " ", is not network-specific, and is  not channel-specific.

  Determines which channels the bot will relay in.

  supybot.plugins.Relay.channels.joinOnAllNetworks
    This config variable defaults to "False", is network-specific, and is  channel-specific.

    Determines whether the bot will always join the channel(s) it relays when connecting to any network.

supybot.plugins.Relay.color
  This config variable defaults to "True", is network-specific, and is  channel-specific.

  Determines whether the bot will color relayed PRIVMSGs so as to make the messages easier to read.

supybot.plugins.Relay.hostmasks
  This config variable defaults to "True", is network-specific, and is  channel-specific.

  Determines whether the bot will relay the hostmask of the person joining or parting the channel when they join or part.

supybot.plugins.Relay.ignores
  This config variable defaults to " ", is network-specific, and is  channel-specific.

  Determines what hostmasks will not be relayed on a channel.

supybot.plugins.Relay.includeNetwork
  This config variable defaults to "True", is network-specific, and is  channel-specific.

  Determines whether the bot will include the network in relayed PRIVMSGs; if you're only relaying between two networks, it's somewhat redundant, and you may wish to save the space.

supybot.plugins.Relay.noticeNonPrivmsgs
  This config variable defaults to "False", is network-specific, and is  channel-specific.

  Determines whether the bot will used NOTICEs rather than PRIVMSGs for non-PRIVMSG relay messages (i.e., joins, parts, nicks, quits, modes, etc.)

supybot.plugins.Relay.public
  This config variable defaults to "True", is not network-specific, and is  not channel-specific.

  Determines whether this plugin is publicly visible.

supybot.plugins.Relay.punishOtherRelayBots
  This config variable defaults to "True", is network-specific, and is  channel-specific.

  Determines whether the bot will detect other bots relaying and respond by kickbanning them.

supybot.plugins.Relay.topicSync
  This config variable defaults to "True", is network-specific, and is  channel-specific.

  Determines whether the bot will synchronize topics between networks in the channels it relays.