Плагин приглашения в группу

Краткое описание: Разрешить пользователям в группе приглашать других пользователей для присоединения к группе.

:link: GitHub: GitHub - hitorino/group-invitation: A Discourse plugin that allows you to invite another user into a group. · GitHub
:arrow_right: Установка: Следуйте руководству по установке плагина. Не забудьте выполнить rake db:migrate для создания дополнительных таблиц.

Возможности

  • Участники группы могут приглашать пользователей, не входящих в группу, для присоединения.
  • Администратор сайта может установить минимальный уровень доверия для приглашающих и приглашаемых.
  • Автоматическое или ручное одобрение.
    • В режиме автоматического одобрения приглашаемый, отвечающий требованиям, будет добавлен в группу, а отчет со списком приглашающих будет отправлен владельцам группы через личные сообщения.
    • В режиме ручного одобрения от имени подходящего приглашаемого будет создана заявка на вступление в группу, а отчет со списком приглашающих и ссылка для просмотра заявки на вступление в группу будут отправлены владельцам группы, чтобы они могли одобрить или отклонить приглашение.

Настройка

Настройте требования к приглашениям, такие как минимальные уровни доверия, в настройках сайта.

Создайте группу и перейдите по адресу http(s)://ваш-домен/g/(название-вашей-группы)/manage/membership, включите опцию «Разрешить приглашение участников».

Сохраните изменения и нажмите «Пригласить пользователя» в правом верхнем углу.

Приглашения могут быть отозваны приглашающим или владельцами группы. Владельцы группы могут перейти по адресу
http(s)://ваш-домен/group-invitation/manage-invitations/(название-вашей-группы)
чтобы просмотреть или отозвать приглашения.

CHANGELOG

TODO

  • Ограничение частоты запросов.
  • Реализация причины приглашения.
10 лайков

Это идеально подходит для моих нужд!

Под «минимальным количеством приглашающих» имеется в виду количество уникальных аккаунтов приглашающих, необходимое для начала приглашения?

1 лайк

Изучив код, я полагаю, что это минимальное количество людей, которые должны инициировать приглашение, чтобы оно вступило в силу. Например, при настройках, показанных на скриншоте (по умолчанию), Bob и Susan должны оба пригласить Fred, а суммарный уровень доверия Bob и Susan должен быть 4 или выше.

Если уровень доверия Susan равен 4, она сама по себе удовлетворяет требованию по уровню доверия, но не выполняется требование по минимальному количеству пригласивших, поэтому Bob всё равно должен пригласить Fred, чтобы приглашение вступило в силу.

2 лайка

Отлично, это действительно здорово. :slight_smile:

Отличная идея! Позвольте предложить вариант?

Хорошим решением было бы предоставить владельцам групп возможность использовать чёрный список на случай, если потребуется удалить участника по какой-либо причине. При попытке повторно пригласить заблокированного пользователя должно появляться уведомление: «Пользователь x заблокирован; обратитесь к владельцам группы».

2 лайка

Это также может быть полезно для черного списка, чтобы принимать группы, так что members входящих в указанные группы не могут быть приглашены — хотя, вероятно, без использования формулировки «заблокирован». Это может пригодиться, например, в киберспортивном сообществе, если вы хотите запретить пользователям приглашать членов команд-соперников.

Также хорошей настройкой сайта могло бы стать предотвращение приглашения сотрудниками пользователей в группы.

1 лайк

Конечно, формулировки можно сделать настраиваемыми. Наличие чёрного списка, который поддерживает группы и отдельных пользователей.

Как говорится, чем богаче функционал такой идеи, тем она будет удобнее для более широкой аудитории.

1 лайк

Одна небольшая просьба: я был бы признателен, если бы для приглашённых можно было установить заголовок по умолчанию, отличный от заголовка владельцев группы. Или же вообще не назначать приглашённым никакого заголовка. Насколько мне известно, в настоящее время это невозможно.

пример:
Джо Блоу — комментатор по киберспорту — Владелец
Иван МакИнвите — энтузиаст киберспорта

4 лайка