Userscript para remover usuários de grupos do Facebook

ATENÇÃO: Este conteúdo foi publicado há 5 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Já faz algum tempo que o Facebook tem um bug nas listas de membros dos grupos. As listas não mostram todos os membros do grupo. Mais: os membros que não aparecem na lista nem mesmo podem ser encontrados pelo formulário de busca de nomes. Quando você é administrador de um grupo, isso pode ser um grande inconveniente, porque na interface padrão do Facebook a lista de membros é o único lugar onde é possível excluir usuários de um grupo. Ou seja, os usuários que não aparecem lá são indeletáveis!


Só ali na lista de membros aparece esse X para excluir os membros do grupo.

Há alguns meses, escrevi um user script para o GreaseMonkey (extensão para o Firefox que permite que você crie esses pequenos scripts para serem rodados em páginas específicas) que busca ajudar os administradores de grupos a removerem esses membros fantasmas.

Não havia publicado até agora por vergonha (o script é bem feio, tanto o código como o resultado). Porém, acho que não pretendo perfumá-lo tão cedo, então resolvi liberá-lo aqui até pra inspirar quem quiser fazer coisas mais bonitas.

O funcionamento dele é muito simples: quando você entra num grupo (sendo ou não administrador — porque nem distingui isso no código), ele cria botões X do lado dos links para os perfis dos usuários que estão nessa página (e só nesses — outra coisa que nem me preocupei no script). Se você for administrador do grupo em questão, quando clica no X o Facebook abre aquela caixa perguntando se você quer mesmo excluir o membro em questão (e se quer baní-lo permanentemente).


Com o script, tem X em todo o lugar! (até onde não deve… hehe)

Sem mais enrolação, eis aqui o código para (des-)apreciação e aprimoramentos (por favor! :)):

// ==UserScript==
// @name Remove users from Facebook groups
// @description Remove usuarios que postam no grupo sem precisar procurar na lista de membros
// @author  Tiago Madeira <madeira@juntos.org.br>
// @include http*://www.facebook.com/groups/*
// @version 1.32
// ==/UserScript==
 
(function(){
    var as = document.getElementsByTagName("a");
    var gid = "";
 
    for (var i = 0; i < as.length; i++) {
        var a = as[i];
        var hovercard = a.getAttribute("data-hovercard");
        if (hovercard != null && hovercard != "") {
            uid = hovercard.replace(/.*id=/, '');
            if (gid != "") {
                var button = '<a class="mhm auxiliaryButton closeButton uiCloseButton" title="Remove" rel="dialog-post" href="/ajax/groups/members/remove.php?group_id=' + gid + '&uid=' + uid + '"></a>';
                a.innerHTML = a.innerHTML + " " + button;
            }
        }
        var pattern = new RegExp("(^| )groupsCleanProfilePic( |$)");
        if (pattern.test(a.className)) {
            gid = a.getAttribute("href").replace(/.*id=/, '');
        }
    }
})();

Ou o link direto para download (ou instalação no GreaseMonkey):

fb.group.remove.user.js (1.08kb)

14 comentários sobre “Userscript para remover usuários de grupos do Facebook

  1. Instalei o script e entrei no grupo no face, ao qual sou administrador e não apareceu nada diferente.
    O X não apareceu.
    A idéia é ótima e é o que preciso pois muitos não aparecem na lista para serem removidos.
    O que pode ajudar?

  2. Agora apareceu, mas apareceu somente na parte onde fica a lista de membros e existem membros que não aparece nesta lista, nem na pesquisa e ainda sim estão no grupo, postam e tal.
    Eu pensei que este script me permitiria excluir um membro de um grupo a partir de sua postagem com um X próximo a sua foto de perfil, algo assim.
    O que pode ajudar?

  3. Oi, Thiago.
    Se a instalação correu bem, tente entrar na página do grupo diretamente através do seu endereço (porque se você entrou nela clicando, ela pode ter sido carregada via Ajax e nesse caso os botões não apareceriam). É a única coisa que imagino que possa ter acontecido.

    Boa sorte!
    Tiago

  4. Eu quero remover um usuário que está em um grupo que também pretendo excluir, porém, quando clico em remover… o facebook diz que a pessoa não é membro do grupo… e assim, não sei como excluí-lo. Alguma dica? Obrigado!

  5. Não tenho uma Resposta e, sim, uma Pergunta; se for adequado informar-me por aqui, por favor… Faço um Curso, via internet, e os Patrocinadores do Curso abriam Um Página – GRUPO LIGADO AO CURSO, , no Face. Fui admitida como Participante, assim como zilhões de outras pessoas. Há alguns dias, A Página do Grupo sumiu do meu Face; voltou espontaneamente, mas não me vi como Participante, embora encontrei Comentários meus apensos a outros participantes. Há uns 5 dias, novamente A Página sumiu e, pelo jeito, sumiu mesmo. Já tentei de UM TUDO e NADA. Inclusive já me contatei com os Patrocinadores do Curso (e quem continuo recebendo O CURSO em andamento) e não obtive qualquer resposta. Hoje mesmo recebi um email falando de mais uma etapa do Curso. Ou seja, ESTOU NA LISTA COMO ALUNA, mas não estou NO GRUPO DO FACE, ou seja, A Página do Grupo não abre no meu Face. Por favor… diga-me algo sobre isto. Até técnico e assistente de computação já chamei mas… nenhum dos dois encontrou problemas com o computador… Aguardo. Mouna (ninguemnulo@gmail.com) E Agradeço.

Deixe uma resposta