Add Primary Server handling
Created by: agraubert
I think Beymax should fully commit to a single-server architecture
If a primary server id is set in the configuration:
- On ready, for each additional server that is joined:
- Display a warning to the console that the bot should be set to private
- Attempt (but don't crash if it fails) to send a message to the additional server's general that this bot is not configured to run on multiple servers and that they should run their own instance or contact the owner
- leave the additional server
- When users send PMs, query their permissions from the primary server (so that roles can be validated)
Multi server mode:
- No primary server set in configuration
- On ready list each server that is joined in the console
- When users send PMs, only provide permissions they are granted directly. Cannot validate permissions against multiple servers.
Something to consider is that data is saved to the bot itself, so setting a battletag on one server would mean your stats are tracked in all servers (even ones to which you do not belong). The multi server mode should be discouraged