TJ-Bot icon indicating copy to clipboard operation
TJ-Bot copied to clipboard

Create /modmail command

Open Zabuzard opened this issue 3 years ago • 13 comments

The /modmail command is used to write a message to a moderator. The advantages over a simple DM are:

  • the user does not need to know which users of a server are moderators
  • the user does not need to befriend a moderator in case they have disabled non-friend DMs

The requirements for this are:

  • the message must not be visible to other members
  • the message is either visible to a single or all moderators

Optionally:

  • the command should also be usable if not part of the guild anymore, for example after getting banned (needs careful design though to not be abused - rate limiting etc)

One cheap and low hanging possibility could be to write the message into the #mod_audit_log channel by using ModAuditLogWriter introduced in #296 . To make the message invisible, just use ephemeral.

Zabuzard avatar Dec 10 '21 10:12 Zabuzard

Making it not visible is easy, its an interaction (slashcommand) so the bot reply just have to be ephemeral and poof, invisible command

However: there are plenty of people who will push and act badly UNTIL a mod is called and then they quickly backoff there should be a visible and an invisible way to call mods?

(one to make a complaint and another to call for assistance)

borgrel avatar Dec 10 '21 10:12 borgrel

there should be a visible and an invisible way to call mods?

The way I see it, if someone wants quick visible mod attention they just ping @Moderator help, there is a scammer, while /modmail is for when you want to contact a moderator privately, for example if you want to complain about the behavior of another user or if you have been banned unjustified. Hence the two use cases:

  • invisible to others, but visible to mods
  • optionally also usable when already left the guild

Zabuzard avatar Dec 10 '21 10:12 Zabuzard

so the first global slash command use case we have

borgrel avatar Dec 10 '21 12:12 borgrel

I'd like to work on this if no one has started working on this command. Also, would the command be allowed to be used practically everywhere (within the guild) and not just on a particular channel such as bots?

talentedasian avatar Dec 14 '21 16:12 talentedasian

I'd like to work on this if no one has started working on this command. Also, would the command be allowed to be used practically everywhere (within the guild) and not just on a particular channel such as bots?

Yes, as all responses are supposed to be ephemeral, it could be popped anywhere, no restrictions. But you do not have to do anything to control that, just a regular slash command handler would be enough, like any of the other slash commands we already have, /ping for example.

Zabuzard avatar Dec 14 '21 16:12 Zabuzard

@talentedasian Why did you add "blocked"? By what is this issue blocked?

Zabuzard avatar Dec 15 '21 22:12 Zabuzard

The ModAuditLogWriter from #296 isn't merged yet

talentedasian avatar Dec 16 '21 01:12 talentedasian

@Zabuzard

One cheap and low hanging possibility could be to write the message into the #mod_audit_log channel by using ModAuditLogWriter introduced in #296 . To make the message invisible, just use ephemeral.

The issue with #mod_audit_log is that it is permanently muted by everyone, and we usually don't scroll and read everything, unless we have a need to do so.

I think this should go in a new channel, so we can give it a proper attention it deserves. What do you think? ^^

marko-radosavljevic avatar Dec 17 '21 12:12 marko-radosavljevic

The issue with #mod_audit_log is that it is permanently muted by everyone

I did not think about that because I actually do not have it muted 😆

I think this should go in a new channel, so we can give it a proper attention it deserves.

Sure, makes sense.

Can go through a similar flow/system. Maybe the class can offer both channels or its a second class or similar. Whatever is cleaner, I leave it up to who implements it.

Zabuzard avatar Dec 29 '21 16:12 Zabuzard

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

github-actions[bot] avatar Jan 29 '22 07:01 github-actions[bot]

This issue is stale because it has been open 30 days with no activity. Remove stale label, comment or add the valid label or this will be closed in 5 days.

github-actions[bot] avatar Mar 06 '22 07:03 github-actions[bot]

add an option to stay anonymous

illuminator3 avatar Apr 03 '22 09:04 illuminator3

Can be taken over, when I have the time I'll finish my PR, but no promises on when this will happen

Tais993 avatar Apr 03 '22 09:04 Tais993