Allow TL0 to write messages to staff group, not to other members or non staff?

Is there any way to allow TL0 members to start messages to a specific discourse group, but not to other regular members or non staff members? I am currently not finding a way to make this work. When TL0 members write to our helpdeskteam group for help, they get an off putting and confusing error message - see below.

18%20PM

The TL0 user is writing to a group with “who can message this member” set to “everyone”. If I make the user TL1 the message is saved with no error.

Everyone in the group is staff, and the TL0 user can write to each one individually.

The only way to avoid this error seems to be to enable TL0 users to write messages to any other member or group, which I find to be too permissive. I think the privilege will be abused by spammers and new members who don’t know our community yet.

2 Likes

Why don’t you have them send an email? This email can be handled by a Discourse group.

2 Likes

Yes, we do provide an email option for reaching the helpdesk. I am asking here if there is a way to prevent the weird, cryptic error that may be off putting to those who encounter it. Ideally it would just be permitted for TL0 members to write to the helpdesk group without getting an error.

To be clear, no members have complained about this but a colleague (my boss, in fact) was checking out the setup and pointed out the confusing error message.

1 Like

It would be good if the error message could let users know why they are unable to send the PM.

1 Like

Is this a real or imagined problem?

Uh, huh :wink:

Maybe just put a mailto: link where the TL0 people can find it. They probably won’t know how to send a PM anyway.

Thanks, Jay! I agree with you and said pretty much the same thing in my post you are quoting from.

Maybe, as Simon says, the error message could be improved to explain why the user can’t write to the group. This does come up fairly frequently.

3 Likes

That is inconsistent with what you said earlier

1 Like

You’re right - I typed more quickly than I was thinking. There are two “this” mentioned and I was thinking of two distinct cases.

With the first “this”, I am referring to the OP about not being able to write to groups as TL0. This is not complained about yet and it’s not a huge issue. If you don’t want to address it, we can close this topic. :wink: But I do think that allowing TL0 to start messages to staff and to certain groups would be very useful, so we don’t have to send members to email to contact staff for help.

With the second “this”, I am referring to an older situation, long since resolved in our community but still an edge case that I think might be worth looking at. In the past, we provided a link on member profiles in wordpress to send messages to members using the URL method, but removed it because people were bumping up against this cryptic error when they were still TL0 and unable to send PMs. Until we removed the link, we did get questions about it fairly frequently. There is an old topic about this second case: Compose a new pre-filled personal message via URL

Maybe the error could be changed to say “Sorry, you cannot send this personal message because you do not have sufficient privileges” or some such, accommodating both group and user recipients and explaining that it’s about privileges and not some technical glitch.

2 Likes

Ah yes, that makes more sense.

2 Likes

I agree this is confusing, it is tricky cause there is the site setting min trust to send messages so it has to win here. If you set it to 0 then I guess they can message the group.

I see the bug here:

On meta TL0 see this… they can then click away, start creating a PM and finally not be allowed to send it.

The way I see it we have 2 alternatives here @codinghorror

  1. If team allows everyone to PM it … then everyone can PM it
  2. Hide that button and keep it so min trust to send messages always wins

I am kind of in the camp of just doing (1) and improving the help text for the site setting.

@codinghorror what do you prefer?

2 Likes

Agree, #1 is a good idea.

1 Like

I started working on this and noticed that the min trust to send messages is checked first on all PMs to groups. This means that TL0 users cannot message groups set to accept message from everyone. But it also means that a user with a TL below min trust to send messages cannot message a group set to accept messages from “members, moderators and admins”, even if this user is a member of the said group.

I think the fix here should be to skip validating min trust to send messages when PMing groups. This means that:

  • if team allows everyone to PM it… then everyone can PM it
  • if team allows group members to PM it, then all group members can PM it regardless of their trust level

PR: Ignore `min_trust_to_send_messages` setting when messaging groups by pmusaraj · Pull Request #8104 · discourse/discourse · GitHub

Update: this is now merged.

4 Likes