Predefinição:Bots
| Esta página ou secção está a ser traduzida de en:Template:Bots/doc. Ajude e colabore com a tradução. |
Através desta predefinição especifica-se visitas aceitas ou não de robôs, todos robôs, ou robôs específicos. Ela pode ser usada para especificar fácil e explicitamente se optamos a favor ou contra alterações não solicitadas realizadas por robôs. Esta predefinição pode ser usada em qualquer lugar, como páginas de usuário, para afastar robôs de manutenção. Optar contra edições não solicitadas possui a vantagem de receber edições úteis, ou instruções específicas que poderiam ser ignoradas por algum robô assumindo a opção padrão de rejeição. Estas predefinições devem ser usadas principalmente nos espaços nominais "Usuário" e "Usuário Discussão", e com cuidado extremo em outros espaços.
Usuários devem estar atentos que ao optar contra, eles não receberão instruções relacionadas ao material que eles editaram ou carregaram, que são marcados ou examinados por robôs de acordo com regras e políticas.
Em particular, nos espaços enciclopédicos:
- Evite utilizar a predefinição como um instrumento de bloqueio
- Resolva a raiz do problema com o operador do robô ou com a comunidade
- Remova a predefinição uma vez que o problema subjacente tenha sido resolvido.
Índice |
Sintaxe: [editar]
{{semrobôs}} Bane todos robôs obedientes (atalho)
{{bots}} Permite todos robôs (atalho)
{{bots|permitir=<lista robôs>}} Permite todos robôs obedientes na lista
{{bots|negar=<lista robôs>}} Bane todos robôs obedientes na lista
Onde <lista robôs> é uma lista de nomes de usuário de robôs, separados por vírgulas (AWB pode ser usado para todos robôs baseados no AWB): {{bots|permitir=HagermanBot,Werdnabot}} {{bots|negar=AWB}}
<lista robôs> também pode ser "nenhum" ou "todos", seguem os exemplos:
{{bots|permitir=todos}} Permite todos robôs obedientes
{{bots|permitir=nenhum}} Bane todos robôs obedientes
{{bots|negar=todos}} Bane todos robôs obedientes na lista
{{bots|negar=nenhum}} Permite todos robôs obedientes na lista
Robôs não são obrigados a obedecer às marcações de robôs, isto vai depender de seus recursos e funções, seus operadores e seus termos de aprovação. Os robôs que às obedecem estão listados em robôs que obedecem exclusão.
Exclusão de notificações [editar]
Outra opção é optar contra tipos específicos de mensagens, para usuários que gostariam de não ser notificados sobre determinados problemas, mas sim outros. Usuários devem entender que ao excluírem-se de mensagens e instruções específicas, eles não serão notificados sobre assuntos pertinenetes às suas edições ou carregamentos, que são marcados de acordo com regras e políticas. Ações (como eliminação) pode ser executada sem que você seja notificado do resultado. Ao aplicar isto à sua própria página de discussão, você aceita estas consequências. Aplicar isto a uma página de discussão usuário que não seja sua, será considerado vandalismo. Todos robôs e roteiros que deixam mensagens em uma página de discussão de usuário são fortemente encorajados a adicionar esta capacidade.
Ao adicionar isto em uma página de discussão de discussão, o usuário ainda receberá mensagens de robôs desobedientes, ou humanos que o fizerem manualmente.
{{robôs|cancelar=todas}} Cancelar todas mensagens (ver limitações abaixo).
{{robôs|cancelar=nosource}} Cancelar mensagens de no source.
{{robôs|cancelar=nolicense}} Cancelar mensagens de no license.
{{robôs|cancelar=orfud}} Cancelar mensagens de orphaned fair use.
{{robôs|cancelar=norationale}} Cancelar mensagens de no rationale.
{{robôs|cancelar=replaceable}} Cancelar mensagens de replaceable fair use.
{{robôs|cancelar=bettersource}} Cancelar mensagens de better source request.
{{robôs|cancelar=afd}} Cancelar mensagens de articles for deletion ou variant forms.
{{robôs|cancelar=ifd}} Cancelar mensagens de images for deletion ou variant.
{{robôs|cancelar=prod}} Cancelar mensagens de prod warning ou variant.
Itens podem ser combinados ao separá-los com vírgulas
{{robôs|cancelar=nosource,nolicense}} Cancelar mensagens de no source, e no license.
{{robôs|cancelar=orfud,norationale,replaceable}} Cancelar mensagens de fair use.
Restrições quanto as mensagens que podem ser canceladas [editar]
Algumas notificações não podem ser canceladas. Estas incluem, mas não se limitam a:
- Notificações de violação dos direitos de autor
- Avisos de vandalismo (e correlacionadas)
- Qualquer mensagem que não se enquadre nos exemplos acima. (Faltou algum? Deixa um aviso na página de discussão)
Implementation [editar]
- Pywikipediabot suporta
{{bots}}e{{nobots}}desde a revisão 4096. Estas predefinições podem ser ignoradas usando um parâmetro. - Desde a versão 3.2.0.0, o AutoWikiBrowser suporte totalmente {{bots}} e {{nobots}}. Além disso, o pseudônimo AWB pode ser especificado para banir todos os robôs baseados no AWB de uma página. No entando, o AWB possui uma opção para ignorar estas predefinições.
- Cancelar a notificação de mensagens se tornou possível em 03 de Abril de 2008. Implementações específicas de robô/roteiro variam, e mesmo o aviso de implementação pode não cobrir todas as funções deste recursos.
Implementações para exemplo [editar]
PHP [editar]
function allowBots( $text ) { global $user; if (preg_match('/\{\{(semrobôs|robôs\|permitir=nenhum|robôs\|negar=todos|robôs\|cancelar=todos|robôs\|negar=.*?'.preg_quote($user,'/').'.*?)\}\}/iS',$text)) { return false; } return true; }
Perl [editar]
sub allowBots { my($text, $user, $opt) = @_; return 0 if $text =~ /{{semr[o]bôs}}/; return 1 if $text =~ /{{r[o]bôs}}/; if($text =~ /{{robôs\s*\|\s*permitir\s*=\s*(.*?)\s*}}/s){ return 1 if $1 eq 'all'; return 0 if $1 eq 'none'; my @bots = split(/\s*,\s*/, $1); return (grep $_ eq $user, @bots)?1:0; } if($text =~ /{{robôs\s*\|\s*negar\s*=\s*(.*?)\s*}}/s){ return 0 if $1 eq 'all'; return 1 if $1 eq 'none'; my @bots = split(/\s*,\s*/, $1); return (grep $_ eq $user, @bots)?0:1; } if(defined($opt) && $text =~ /{{robôs\s*\|\s*cancelar\s*=\s*(.*?)\s*}}/s){ return 0 if $1 eq 'all'; my @opt = split(/\s*,\s*/, $1); return (grep $_ eq $opt, @opt)?0:1; } return 1; }
C# [editar]
public static bool AllowBots(string text, string user) { return !Regex.IsMatch(text, @"\{\{(nobots|bots\|(allow=none|deny=(?!none).*(" + user.Normalize() + @"|all)|cancelar=todos))\}\}", RegexOptions.IgnoreCase); }
Java [editar]
public static boolean AllowBots(String text, String user) { return !Regex.Match(text, "\\{\\{(semrobôs|robôs\\|(permitir=nenhum|negar=.*?" + user.Normalize() + ".*?|cancelar=todos|negar=todos))\\}\\}", RegexOptions.IgnoreCase).Success; }
Python [editar]
def Allowbots(text, user): if (re.search(r'\{\{(semrobôs|robôs\|(permitir=nenhum|negar=.*?' + user + r'.*?|cancelar=todos|negar=todos))\}\}', text)): return false return true
Ver também [editar]
- Template:Bots no Meta.