To set up multiple bMotions to chat together, please see Linking. This page describes how bMotion actually handles being linked.
Elections
Elections are used by bMotion to prevent multiple bots spamming when a plugin triggers on all of them (i.e. a plugin that doesn't need you to address the bot). Please see InterbotElections.
Discovery
In bMotion 0.0.8 and onwards, bMotion bots discover each other on the botnet. All you have to do is link them on the partyline and put them in channels together (and have those channels enabled in bMotion).
When it starts up, and at random intervals, each bMotion bot will broadcast a message on the botnet to introduce itself. The syntax is:
HAY <list of channels> network:<network>
The <network> is defined by the eggdrop configuration. If the network received in the message is different (case-insensitive) the the bot's own network, the message is ignored.
If the networks are the same, the bot records the channels the other bot is on and responds (directly) with
SUP <list of channels>
The remote bot then makes a note of the channels we're on.
Talking
If an OutputMacro needs us to make a remote bMotion talk with %BOT then we choose a bot who we know is on the same channels as us, and send:
say <channel> :<text>
If we're currently silent then we temporarily ignore it. <text> is sent to the start of the OutputQueue? for <channel>.
