Я работаю над плагином для добавления уровня доверия, который добавляет или удаляет пользователя из группы в зависимости от его членства в других группах (например, членство в paid и special также добавляет его в группу paid-special).
Очень странно, что повышение уровня доверия (TL) вызывает событие :after_save, а понижение уровня доверия не вызывает событие :after_destroy, но я обхожу это с помощью DiscourseEvent.on(:user_promoted).
Однако это не работает, потому что триггер вызывается до обновления уровня доверия:
Я отправил PR: https://github.com/pfaffman/discourse/pull/205