Não consigo adicionar o usuário ao fórum Discourse a partir de um site WordPress quando o usuário é adicionado na inscrição

Olá @simon, estou enfrentando um problema aqui está meu código que estou usando quando o cargo do usuário muda

use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;

// Hook para executar quando um cargo de usuário muda
add_action('set_user_role', 'add_user_to_discourse_group_on_role_change', 10, 2);

function add_user_to_discourse_group_on_role_change($user_id, $role) {
// 	var_dump($role);
// 	die();
	  if ($role == 's2member_level1') {
            $s2member_level_1_groups = get_option('s2member_level_1_groups', '');
// 		  	$group_names = array("haseeb-group", "moderators");
// 			$s2member_level_1_groups = implode(",", $group_names);
            $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_1_groups);
// 		  var_dump($result);
// 		  die();
		  	
// 			var_dump($result);
        }
		else if($role == 's2member_level2'){
			   $s2member_level_2_groups = get_option('s2member_level_2_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_2_groups);
		}
		
		else if($role == 's2member_level3'){
			   $s2member_level_3_groups = get_option('s2member_level_3_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_3_groups);
		}
	
		
		else if($role == 's2member_level4'){
			   $s2member_level_4_groups = get_option('s2member_level_4_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_4_groups);
		}
		
		else {
    // Coleta todos os grupos de nível
    $s2member_level_1_groups = get_option('s2member_level_1_groups', '');
    $s2member_level_2_groups = get_option('s2member_level_2_groups', '');
    $s2member_level_3_groups = get_option('s2member_level_3_groups', '');
    $s2member_level_4_groups = get_option('s2member_level_4_groups', '');

    // Combina todos os grupos em um único array
    $s2member_level_groups = array_merge(
        explode(',', $s2member_level_1_groups),
        explode(',', $s2member_level_2_groups),
        explode(',', $s2member_level_3_groups),
        explode(',', $s2member_level_4_groups)
    );

    // Remove duplicatas
    $s2member_level_groups = array_unique($s2member_level_groups);

    // Remove o usuário de todos os grupos coletados
    foreach ($s2member_level_groups as $group) {
        $result = DiscourseUtilities::remove_user_from_discourse_group($user_id, $group);
        // Você pode lidar com $result conforme necessário
    }
}


    
}

agora o propósito do código é adicionar ou remover o usuário com base na condição, mas em qualquer caso ou em qualquer condição, ele envia uma notificação aos administradores do fórum de que é necessário aprovar ou rejeitar ou excluir o usuário. Por que isso está acontecendo em qualquer caso, como no caso else, eu só quero remover o usuário de um grupo específico, mas nesse caso, ele novamente envia uma notificação de revisão de novo usuário para o administrador

mais uma coisa é que quando o usuário se registra no site do WordPress, ele é adicionado automaticamente a esses grupos trust_level_0 e trust_level_1, não sei por quê

por favor ajude e eu também posso compartilhar o hook de registro de usuário com você