Мы знаем, какой может быть статус автоматического обновления пользователей этим плагином при вступлении в группу, вместо ручной синхронизации? Также возможно ли указать, какие группы/роли синхронизировать вместе, вместо того чтобы плагин сам создавал или заменял роли?
Это первый раз, когда такой запрос был сделан, поэтому, как вы можете себе представить, он даже не числится в очереди на реализацию.
Это было бы довольно сложно, так как бот работает в отдельном потоке. Вам пришлось бы добавить метод для отправки сообщений боту и убедиться, что он отслеживает такие запросы. С технической точки зрения это интересная задача, но не тривиальная.
В качестве альтернативы, возможно, лучше рассмотреть вариант прямого вызова API вместо использования бота. Тогда вам нужно будет решить, стоит ли реализовывать это в виде отдельного плагина, основанного на прямых вызовах, а не на боте.
Это неплохая идея, но, из любопытства, почему вы хотите, чтобы они были разными?
Это более практично.
PR принят. К сожалению, у меня очень мало времени для работы над значимыми функциями без финансирования.
Похоже, что в текущей версии роли формируются на основе поля “name”, а не “title”. Из-за этого роли в Discord получаются без пробелов и, например, с припиской “dashing”. Возможно, стоит сделать так, чтобы роли создавались не по имени, а по полному имени или по умолчанию по заголовку.
Кроме того, в Discourse могут быть группы, которые вообще не нужно синхронизировать с Discord.
Можно ли в это время настроить автоматическую синхронизацию бота по расписанию, пока исследуется метод API? Например, проверять раз в час или раз в сутки и т. д.?
Я считаю, что можно без проблем добавить функциональность «повторить это через x часов».\n\nПроблема в том, что это будет сбрасываться каждый раз, когда бот останавливается (например, при перезагрузке).\n\nСамый оптимальный подход — это либо:\n\na) добавить отдельный вызов API, связанный с задачей Sidekiq, в этот плагин, либо\nb) написать новый плагин, использующий обычные вызовы API вместо бота (и включить в него пакетную синхронизацию).\n\nЛюбой из этих вариантов потребует спонсорской поддержки или pull-запроса (PR).
Я сейчас использую ваш плагин, и у меня всё работает на приемлемом уровне. Выглядит действительно хорошо, отличная работа!
Однако у меня есть несколько вопросов: теперь, когда всё запущено, мне нужно, чтобы пользователи входили через Discord OAuth. При этом создаётся новая учётная запись.
Как лучше всего мне это организовать? Нужно ли мне объединять новую и старую учётные записи? Я попробовал сделать это со своей учётной записью администратора, но получил ошибку «У вас нет прав на выполнение команды discsync!» при попытке вручную ввести !discsync.
Кроме того, роли из моего Discourse ещё не были скопированы ни одна.
Для сведения: в моих настройках моя учётная запись Discord отображается как связанная.
Указанные выше настройки отображаются независимо от того, добавили ли вы этот плагин в свой Discourse.
Если вход выполнен через социальную учётную запись и адреса электронной почты для регистрации совпадают, учётная запись будет распознана, и новая учётная запись не будет создана. Однако, если пользователь зарегистрировался в Discord с другим адресом электронной почты, чем в Discourse, да, конечно, система не сможет определить, что это один и тот же пользователь, поэтому будет создана новая учётная запись.
Речь об учётной записи администратора на сервере Discord? Также авторизовали ли вы бота?
Согласен. В худшем случае я могу просто объединить учётные записи с несовпадающими электронными адресами.
Да, всё верно. Я являюсь владельцем серверов Discord и экземпляра Discourse. Результат команды “Ping!” — “Pong!”. Роли не были перенесены из Discourse в Discord.
Бот находится на моём сервере Discord и имеет права администратора. Не могли бы вы уточнить, что вы имеете в виду под авторизацией?
Мне кажется, что ваши права или права бота на сервере Discord как-то неправильно настроены. Я просто освежаю память об этом плагине, так как работаю над десятками из них. Последнее изменение в этот я вносил довольно давно!
Принято! Я быстро проверил со своей стороны, так что для вашего сведения: я числюсь владельцем сервера и имею права администратора.
РЕДАКТИРОВАНИЕ: Можем ли мы уточнить, какие права требуются боту? В данный момент он числится администратором (хотя это было предоставлено ему через роль, а не через OAuth-приглашение).