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)






