laralove143/timezoner

allow changing of automatic/manual conversion behavior

Opened this issue · 3 comments

since the rewrite, the bot now adds a reaction to the message with time detected in it and waits for a reaction from the author to convert it, this is to reduce conversions where it doesn't make sense i.e i have to wake up at 5am tomorrow (sadly very commonly said sentence in our nightowlphobic world) while i still believe this is the good UX for most people, many people were upset by this change

add /toggle_automatic_conversion (where: sent by me | channel | server) command to toggle automatic conversion for messages sent by the user running the command (sent by me) or in the channel the command is ran in (channel) or in the server (server), the latter two choices requiring manage guild permission

I think the solution of adding a toggle is perfect—it satisfies both desired user experiences. I'm a little confused with the latter part of the command though (the part in parenthesis):
/toggle_automatic_conversion (where: sent by me | channel | server)

Would this be a command each individual user would need to input? Most individuals on my server are not command savvy (which is why the reaction thing didn't sit well with them). Could there also be an admin-only command that would toggle automatic conversion for the entire server? Then, those users who want to set their individually preferred preferences may do so using the command that will only affect them?

  • /toggle_automatic_conversion server would enable/disable it across the server (requires manage server permissions)
  • /toggle_automatic_conversion channel would enable/disable it in one channel (requires manage server permissions, overrides server setting)
  • /toggle_automatic_conversion user would enable/disable for all messages sent by the command author (requires manage server permissions, overrides server and channel setting, works across servers)

add this to the glorious /tzctl concept I outlined in the issue comment linked above.
something like this:

/tzctl config conversion_method [ server | channel | user ]

see: tzctl concept