sesounit / Kakapo

Do What The F*ck You Want To Public License
3 stars 1 forks source link

Reserve slots within roster channel #44

Closed Uncle-Sagbag closed 1 year ago

Uncle-Sagbag commented 1 year ago

As part of more intuitive design, I've received feedback on how to make the roster system more intuitive. Instead of using the roster commands in a separate channel like #bot-commands, users would run commands within the roster channel. This would circumnavigate the need to identify the operation id when reserving a slot.

For example, instead of running this in #bot-commands: !slot 1 5 One could run this command within the channel #1-operation: !slot 5

Based off the channel the author's message is sent to, the bot can determine which operation it applies to.

After the command is made, the bot should immediately do the following:

  1. Save the author's name and type of command (either slot, aslot, rslot, or irrelevant command)
  2. If it is NOT an irrelevant command, post the author's name, command, operation id used, and slot id used in #bot-commands
  3. if it is an irrelevant command, ping the author's name in #bot-commands and say that is an incorrect command
  4. Delete the author's message

Using 2 and 3, we can archive a user's previous messages. With 4, we can keep the roster channel clean. Only relevant commands should register in the roster and any other message or command should not last.

In the original discussion, we also thought of archiving the messages in a thread within the roster. However, when the roster channel is deleted, the thread is lost too. It's best to post it to bot-commands, which can be spammed with a bunch of messages, it doesn't have to be saved in a thread.