za419 / CadenceBot

A Discord bot for Cadence Radio
MIT License
2 stars 1 forks source link

Server reconfiguration admin onboarding #46

Open za419 opened 3 years ago

za419 commented 3 years ago

Implement a process where CadenceBot joins a new server and identifies an initial server admin if none is set. This is probably as simple as 'Make the owner admin and generate a message about it'.

Consider also ensuring that at least one server admin exists at all times - This prevents onboarding from occurring a second time for the server when the bot restarts.

za419 commented 3 years ago

@kenellorando in keeping with discussion on #45, ideas:

  1. Onboarding should, if we follow through with this, set a super admin. Simply put, that's what's necessary to have the ability to really administrate the server without help from the instance admin to do so, which is the goal of this task.
  2. This current design only supports triggering onboarding if two conditions are simultaneously satisfied:
    1. CadenceBot is in a startup mode for this server. This means either:
      1. The CadenceBot instance is restarting; or
      2. CadenceBot has been newly added to the server
    2. The server has no (super) admins.

Would it make sense to add a command like Cadence admin onboard to erase the admin list and trigger the flow as well? This can either be instance-admin-only (To save them the trouble of doing so manually) or super-admin-only (As a nuclear option to clean the admin list - This probably requires a confirmation step). Of course, this is probably not a common enough concern to merit either - The second part of this issue, which I want to include, implies that the only way we can require a re-onboard of an existing system is to have the last superadmin leave the server/AFK forever - They won't be allowed to retire unless they nominate a second superadmin first. And I cannot imagine why one would be nuking the admin list, unless one is very disgruntled or one is the last superadmin wishing to retire and wanting to nominate another admin without caring who (Hopefully this person is not the one onboarding is going to nominate). I don't see that as being valuable...

So 2 is probably only a reasonable idea for an instance-admin-only command - Essentially, its scripted disaster recovery.

Thoughts?