Voici l’idée de base. Je suppose que vous devrez ajouter une condition à la fonction afin que tous les utilisateurs ne soient pas ajoutés au groupe des modérateurs lorsque leur rôle change.
function add_user_to_discourse_group_on_role_change( $user_id, $role ) {
$sso_params = array(
'external_id' => $user_id,
'moderator' => 'true', // les booléens 'true' et 'false' doivent être définis comme des chaînes de caractères !
'add_groups' => 'volunteers' // liste séparée par des virgules, sans espaces après les virgules
);
DiscourseUtilities::sync_sso_record( $sso_params );
}