ArchWiki:Bots (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de ArchWiki:Bots. Data da última tradução: 2020-11-22. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Bots são uma ferramenta importante da equipe de manutenção que permite executar facilmente tarefas repetitivas, desde a rotina diária até atualizações complicadas de uma só vez. As edições de bots constituem mais de 8% de todas as contribuições para o wiki - todas essas edições teriam sido muito entediantes de se fazer manualmente.

Há atualmente duas contas de bots ativas:

Software

Os bots usam a API do MediaWiki para se comunicar com o servidor wiki. Existem muitos bots desenvolvidos pela Fundação Wikimedia usando essa API, mas geralmente não são gerais o suficiente para trabalhar em outras wikis ou mesmo entrar em conflito com nossas diretrizes de estilo. Portanto, temos trabalhado em nossas próprias ferramentas de bot específicas do ArchWiki, que têm as mesmas falhas quando avaliadas por terceiros.

Wiki Monkey

O objetivo do projeto Wiki Monkey é facilitar a edição eficiente, aprimorando diretamente as páginas wiki no navegador da web. Ele é executado como um script de usuário, permitindo executar tarefas repetitivas de maneira semiautomática nas páginas do editor de artigos ou de forma totalmente automática a partir de páginas da lista de artigos, como Categorias ou WhatLinksHere. O Wiki Monkey também adiciona alguns auxiliares, como filtros para Special:RecentChanges e Special:NewPages. Consulte a documentação para obter detalhes.

wiki-scripts

O projeto wiki-scripts contém muitos scripts Python criados em torno de uma pequena abstração semelhante a uma biblioteca para a API do MediaWiki. O objetivo dos scripts incluídos varia de coletar informações sem editar o wiki até executar edições automatizadas complexas, descritas em #Tarefas. As edições feitas pelos scripts wiki, de forma automática ou interativa, são marcadas com as etiquetas do wiki-scripts, que podem ser filtrados na lista de alterações recentes.

Tarefas

Esta seção descreve as tarefas que são executadas repetidamente pelos bots do ArchWiki. Ele serve como uma visão geral e documentação dos recursos dos scripts de bot operados. Observe que, por padrão, as edições de bot estão ocultas de Special:RecentChanges, pois sua inclusão tornaria muito mais difícil acompanhar e participar com contribuições regulares.

Redirecionamento duplos

A correção de redirecionamentos duplos é a tarefa automatizada mais antiga. Isso pode ser feito, por exemplo, com um script Python ou com o plugin dedicado do Wiki Monkey.

Tabelas de conteúdo

A página Table of contents e suas "traduções" são mantidas usando o script toc.py. O script pode ser executado diariamente, sua execução leva alguns segundos.

O script supõe que o seguinte ponto de entrada esteja presente na página:

{| id="wiki-scripts-toc-table"
...
|}

O conteúdo desta tabela é substituído por uma versão atualizada gerada pelo script, o restante da página é deixado intacto. O script reconhece os seguintes atributos opcionais para configuração:

  • data-toc-languages especifica os idiomas a serem mostrados na página. É uma lista separada por vírgula de etiquetas de idioma, no máximo 2 podem ser especificadas. O padrão é o idioma da página atual, ou seja, ru para Table of contents (Русский).
  • data-toc-alsoin especifica a tradução da frase "also in". O formato é tag1:text, tag2:text, ....

Por exemplo (de Table of contents (Русский)):

{| id="wiki-scripts-toc-table" data-toc-languages="ru,en" data-toc-alsoin="ru:Также в"
...
|}

Os usuários também podem traduzir os nomes das categorias na tabela editando os links na página wiki e o script os preservará nas atualizações.

Estatísticas

A página ArchWiki:Statistics é mantida pelo script Statistics.py. Atualmente, apenas a seção User statistics é gerada automaticamente, o restante é atualizado manualmente. A atualização leva cerca de 15 segundos e deve ser executada diariamente.

O script funciona obtendo metadados de todas as revisões e contas de usuário da API e armazenando em cache localmente para obter melhor desempenho. As contagens de edição são determinadas contando manualmente as contribuições do usuário sem depender dos contadores do MediaWiki.

Nota: Algumas melhorias são discutidas em ArchWiki talk:Statistics#Improvements].

Templates de pacote

O script update-package-templates.py analisa o conteúdo de todas as páginas e atualiza os templates Pkg, Grp e AUR. O nome do pacote não é realmente alterado pelo script, mas, por exemplo, para pacotes que foram movidos recentemente do AUR para os repositórios oficiais, o link é atualizado de Template:AUR para Template:Pkg. Links de pacote inválidos são marcados com Template:Broken package link junto com uma dica algumas vezes útil mostrando o status do pacote.

O script usa versões localizadas de Template:Broken package link quando elas existem e retornam às versões em inglês. Fora isso, não há configuração do lado do servidor.

Após cada execução, mas no máximo uma vez a cada sete dias, o script cria um relatório detalhado de links quebrados em User:Lahwaacz.bot/Reports/archpkgs.

Interlíngua

O script interlanguage.py faz o seguinte:

  • Verifica se o idioma das categorias atribuídas a cada página corresponde ao idioma da própria página.
  • Cria categorias localizadas ausentes, espelhando a árvore de categorias em inglês.
  • Atualiza os links interlínguas em todas as páginas de conteúdo usando este algoritmo.

O tempo de execução depende da quantidade de atualizações, geralmente é de menos de um minuto e cerca de 30 segundos quando não há atualizações.

Verificador de link

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: A fazer (Discuss in ArchWiki talk:Bots (Português))

Tarefas futuras

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Uma lista de coisas que ainda não tivemos tempo de implementar pode ser útil para pessoas que gostariam de contribuir. (Discuss in ArchWiki talk:Bots (Português))