Ecco l’idea di base. Presumo che dovrai aggiungere una condizione alla funzione in modo che non tutti gli utenti vengano aggiunti al gruppo dei moderatori quando il loro ruolo cambia.
function add_user_to_discourse_group_on_role_change( $user_id, $role ) {
$sso_params = array(
'external_id' => $user_id,
'moderator' => 'true', // i booleani 'true' e 'false' devono essere impostati come stringhe!
'add_groups' => 'volunteers' // elenco separato da virgole, senza spazi dopo le virgole
);
DiscourseUtilities::sync_sso_record( $sso_params );
}