Group Invitation Plugin

Summary: Allow users in a group to invite other users joining the group.

:link: GitHub: GitHub - hitorino/group-invitation: A Discourse plugin that allows you to invite another user into a g
:arrow_right: Install: Follow the plugin installation guide. Don’t forget to run rake db:migrate to create additional tables.

Features

  • Group members can invite users not in the group to join.
  • Site admin can set minimum trust level for inviters and invitees.
  • Automatic or manual approval.
    • In automatic approval mode, the invitee that meets the requirements will be added to the group, and a report containing the inviters list will be sent to group owners through private message.
    • In manual approval mode, a group-joining request will be generated on behalf of the eligible invitee, and a report containing the inviters list and a link to view the group request will be sent to group owners, so that they can approve or reject the invitee.

Configuration

Setup invitation requirements such as minimum trust levels in site settings.

Create a group and go to http(s)://your-domain/g/(your-group-name)/manage/membership, turn on “allow inviting members”

Save, and click “Invite user” on the top-right corner.
image

Invitations can be withdrawn by the inviter or the group owners. Group owners can go to
http(s)://your-domain/group-invitaion/manage-invitations/(your-group-name)
to see or withdraw invitations.

CHANGELOG

TODO

  • Rate limiting.
  • Implement invitation reason.
6 Likes

This is perfect for my needs!

Is ‘Minimum inviter numbers’ the number of unique inviter accounts required to initiate an invite?

1 Like

Looking at the code, I believe this is the minimum number of people who must initiate an invite for it to take effect. E.g. with the settings shown in the example screenshot, (the defaults) Bob and Susan must both invite Fred and the combined trust level of Bob and Susan must be 4 or higher.

If Susan is trust level 4, she would meet the requirement for the trust level on her own but the minimum number of inviters would not be met, so Bob would still need to invite Fred before it takes effect.

2 Likes

All right, this is really great. :slight_smile:

This is a cool idea. If I might make a suggestion?

A good option would be to have a blacklist available to group owners in the event they need to remove a member for issues. With a message if someone tries to reinvite they see a notification “x user is banned; contact group owners”

2 Likes

This might also be useful for the blacklist to accept groups, such that members of entered groups can’t be invited - though probably not with the “banned” wording. This might be useful if you want to prevent users from inviting members of opposing teams in an eSports community, for example.

Preventing users from inviting staff to groups might also be a good site setting to add.

1 Like

Wording of course could be configurable. Having a blacklist that could use groups and individual users.

As they say with an idea like this the more feature rich will be more usable for wider audience.

One small thing I’d appreciate is giving invitees a different default title than group owners. Or, giving invitees no title at all. afaik this is not currently possible.

example:
Joe Blow - eSports Commentator – Owner
Ivan McInvitee - eSports Enthusiast

4 Likes