Нам нужен плагин для синхронизации ролей Discord с группами пользователей Discourse.
У нас есть сервер Discord с ботом Subscribestar.com, который автоматически назначает роли в зависимости от уровня подписки пользователей (например, «SubscribeStar 5 tier», «SubscribeStar $10 tier» и т. д.).
Теперь мы хотим открыть сайт на Discourse только для наших подписчиков (неподписчики получат доступ только к категории для не подписчиков). Мы будем различать подписчиков, назначая им определённые группы пользователей Discourse.
Нам нужна ваша помощь:
В настройке плагина Discord OAuth2, чтобы создать учётные записи на Discourse могли только пользователи с учётными записями Discord.
В создании или адаптации существующего бота Discord, который будет уведомлять Discourse о том, что роль пользователю Discord была назначена, обновлена или снята (либо любым другим способом обращаться к API Discord при изменении роли).
В создании плагина, который бы: а) проверял существующие роли Discord и создавал соответствующие группы пользователей (роли Discord являются источником истины); б) получал обновления ролей Discord для пользователей и соответствующим образом назначал, обновлял или снимал группы пользователей Discourse.
Когда это нужно сделать?
Чем раньше, тем лучше. Недели две на разработку?
Какой у вас бюджет в долларах США для этой задачи?
Разве 300–500 долларов звучит разумно? Пожалуйста, предоставьте смету.
В данный момент это разовая (по команде) однонаправленная синхронизация с участием бота: Discourse → Discord.
Я готов рассмотреть финансирование расширения функционала, если текущие возможности покажутся вам слишком ограниченными, но плагин уже довольно продвинутый, и вы можете использовать его прямо сейчас бесплатно.
Возможно, уже существует способ разрешить вход только через Discord.
Этот существующий плагин OAuth для пользователей автоматически одобряет каждого человека из указанной гильдии (Guild). Вы можете просто не одобрять никого другого
Уже существует команда kick, которая исключает из вашего сервера Discord любого, у кого недостаточный уровень доверия (Trust Level) в соответствующем Discourse.
В настоящее время мой плагин использует Discourse в качестве главного источника данных. Вы создаёте группу в Discourse. Если затем выполнить синхронизацию, в Discord будет создана соответствующая роль, и в неё будут добавлены участники (без уничтожения данных).
Добавить обратные команды вполне возможно, но это потребует дополнительной работы.
Мы также можем рассмотреть возможность запуска операций периодически и автоматически.
Не стесняйтесь связаться со мной через личные сообщения.
Этот запрос выглядит похожим на то, о чём я говорил в исходной теме, но в обратном направлении. Думаю, мой форк мог бы найти спрос, если бы я когда-нибудь до него добрался.