Wikipedia:Bot/Autorizaciones

De Wikipedia, la enciclopedia libre
(Redirigido desde «Wikipedia:Bot requests»)
NOTA: si apruebas una solicitud no te olvides de actualizar {{Bots autorizados}}
Las votaciones se encuentran archivadas por años en las siguientes páginas

Las votaciones finalizadas de este año están almacenadas en el archivo de 2024.

Número de solicitudes actualmente en curso / Number of current requests: 1.


Solicitudes actuales[editar]

Esta postulación de bot está regulada por la política «Wikipedia:Política de bots».
Solicitud de autorización aprobada
Resultado
  • La postulación es autorizada con un 100 % de los votos a favor.

Postulación de una o varias nuevas tareas para ser realizadas por el bot estándar PeriodiBOT, ya autorizado y controlado por MarioFinale.

  • Usuario controlador: MarioFinale (disc. · 13 781 contr. · reg. · global · SUL)
  • Bot: PeriodiBOT (disc. · 244 212 contr. · reg. · global · SUL)
  • Plazo de votación (7 días): 18 de abril de 2024 — 25 de abril de 2024 a las 04:17 (UTC) —plazo expirado—
  • Idiomas del usuario controlador: español
  • Tarea: Ajuste de referencias
  • Comentarios: Durante un tiempo he estado desarrollando una función para resolver ciertos problemas comunes con las referencias en los artículos de Wikipedia.

Como funciona:

  • Cada cierta cantidad de tiempo (5 minutos, para luego ir reduciéndolo en medida de su comportamiento) el bot cargará una página aleatoria.
  • Verificará si la función no ha sido deshabilitada por algún bibliotecario en esta página, si ha sido desactivada se detendrá acá.
  • Verificará si hay referencias vacías en la página cargada, si hay las simplificará por etiquetas ref autocerradas.
  • Verificará si hay referencias duplicadas en la página cargada, si las hay las condensará utilizando "ref name".
  • Por cada referencia Web que haya detectado en la página, revisará en el historial cuando fue añadida, para luego re-crear la referencia utilizando la plantilla {{Cita web}} añadiendo la fecha de acceso y el nombre del sitio web y cargará el sitio web de la referencia.
    • Si el sitio web está caído o redirecciona a una página genérica (un 404 personalizado, por ejemplo):
      • Intentará rescatar el snapshot en Internet Archive más cercano a la fecha en la que fue añadida la referencia.
      • Si no hay snapshots en Internet Archive del sitio original, marcará la referencia como rota e irrecuperable.
    • Si el sitio web no está caído:
      • Enviará la página a Internet Archive para que haga un snapshot de esta.
      • Si la referencia no tenía un texto al interior intentará obtener el nombre del sitio desde la página web en la referencia.
      • Intentará obtener el idioma original del sitio web, si logra detectarlo lo colocara en el parámetro "idioma" de la plantilla {{Cita web}}.
  • Para algunas páginas especiales realizará cambios especiales en las referencias:
    • Para aob.oxfordjournals.org: Regenerará la referencia con el sitio web nuevo para "Annals of Botany".
    • Para www.tropicos.org: Los sinónimos y nombres de tropico redireccionan a la página "legacy", por lo que regenerará la referencia con el enlace en el sitio actualizado.
    • Para theplantlist.org: El sitio web es obsoleto y puede ser dado de baja en algún momento, en su lugar el bot utilizará "World Flora Online" un sitio web actualizado con la misma información.
    • Para web.archive.org: El bot corregirá estas referencias y las regenerará utilizando la plantilla {{Cita web}} y completando las fechas de archivo y la url del archivo.
    • Para apps.kew.org: El bot reemplazará los enlaces de KEW que sean a sinónimos ya que la función en el sitio web fue descontinuada y redirecciona a la página principal. En su lugar intentará obtener el enlace al taxon desde WikiData para en "World Flora Online" y regenerará la referencia.

La idea es, con el tiempo, ir añadiendo más casos para páginas especiales, ya que problema del "Link rot" en las referencias se está extendiendo bastante.

Algunos ejemplos de su funcionamiento: 1 2 3 4 5 6 7 8 9

Como siempre, el código del bot y la libería son libres:

Votos en contra. Votos en contra / No

Para votar añade #~~~~ en una línea nueva al final de esta lista.

Comentarios

Hola, MarioFinale, suena bien. Me preguntaba quizás si no sería mejor guardar la información de esta página en una página json. Estas solo pueden ser editadas, por defecto, por el usuario que las crea, bibliotecarios o administradores de interfaz. Así no tendrías que hacer una petición específica en el tablón de solicitudes de protección. Un saludo y muchas gracias por la aportación. Nacaru (discusión) 09:17 18 abr 2024 (UTC)[responder]

Si, es simple; Para el bot todas las páginas son iguales. Solo tendría que crearla manualmente utilizando la interfaz web, ya que por API no se pueden crear ni editar páginas JSON. ~ℳɑrio - (¿Un té?) 06:24 19 abr 2024 (UTC)[responder]
@MarioFinale, de todas formas, independientemente de si se pueden crear o no, en este caso, entiendo que lo único que tiene que hacer el BOT es leer su contenido periódicamente, para lo cual la API no debería dar problemas. La página la puedes crear manualmente. Nacaru (discusión) 12:25 20 abr 2024 (UTC)[responder]
@MarioFinale, con la API sí se puede crear un JSON como subpágina de usuario usando el parámetro contentmodel json y un título con extensión .json, pero ten en cuenta que no se puede usar para cambiar el modelo de contenido en páginas ya existentes (es decir, que una vez creada una página con un modelo no se puede cambiar con una edición de la API, pues es necesario el permiso editcontentmodel, solo disponible por bibliotecarios y editores de plantillas). -- Leoncastro (discusión) 14:21 19 abr 2024 (UTC)[responder]
Código

Por cierto, la llamada a la API en el enlace de ejemplo constaba de los parámetros:

{
	action: 'edit',
	format: 'json',
	formatversion: 2,
	title: 'Usuario:Semibot/Ejemplo.json',
	text: '{"activo":true}',
	contentmodel: 'json',
	token: ...
}

Y la respuesta:

{
    "edit": {
        "new": true,
        "result": "Success",
        "pageid": 10860788,
        "title": "Usuario:Semibot/Ejemplo.json",
        "contentmodel": "json",
        "oldrevid": 0,
        "newrevid": 159541466,
        "newtimestamp": "2024-04-19T14:19:53Z"
    }
}
  • comentario Comentario: sobre las ediciones del bot:
    • el parámetro |sitioweb= debería ser el título del sitio; según la documentación: «Es preferible evitar poner la url con el nombre del dominio (por ejemplo, allmusic.com o abc.es; mejor Allmusic y ABC [se puede wikienlazar])». Por tanto en este ejemplo debe evitarse |sitioweb=www.easycredit-bbl.de y |sitioweb=www.sportando.com. Por favor, MarioFinale, corrije el procedimiento del bot con este parámetro.
    • la anotación <small>enlace irrecuperable</small> que va al final de la referencia, se presenta después del punto final de esta, por lo que sería conveniente que dicha frase llevase un espacio de separación, mayúscula inicial y punto final. Véase la cuarta referencia corregida en este ejemplo.
    • cuando se marca como enlace roto «irrecuperable (Sitio caído y no hay snapshots en Internet Archive)», ¿el formato es compatible con InternetArchiveBot, que usa otras copias además de Internet Archive? (me consta que en ocasiones enlaza a webcitation.org). -- Leoncastro (discusión) 14:48 19 abr 2024 (UTC)[responder]

┌─────────────────────────────┘
Hola, gracias por los avisos.

  • Sobre el título del sitio, como la plantilla no lo comenta como algo absoluto me había limitado a utilizar la autoridad de la URL. Pero estoy de acuerdo que sería mejor que utilice el nombre del sitio para casos simples. En algunos otros casos más complejos (ej: subdomain.domain.tld1.tld2) tendría que seguir utilizando la autoridad de la url porque distintos subdominios podrían ser páginas web completamente diferentes, y se complica aún más la cosa con algunos subdominios efectivos como .gob.uk o com.ar.
  • Anotación corregida, gracias por el aviso, no lo había notado.
  • No tenía idea sobre la existencia de webcite. Vi la documentación y es bastante fácil de implementar así que lo estaría añadiendo como fuente alternativa a Web Archive. Igualmente siempre se podrían ir añadiendo más fuentes con el tiempo (siempre y cuando sean abiertas).

Sobre utilizar una página JSON, lo he estado revisando y honestamente veo más complicaciones que beneficios. Estoy contemplando crear una subpágina de usuario única que contenga los distintos parámetros para las otras funciones (así también podrían configurar otras cosas gente que no esté en IRC) y que el parámetro de referencias sea simplemente uno más en esta página. Para eso, una semiprotección debería ser suficiente. Saludos.~ℳɑrio - (¿Un té?) 03:28 20 abr 2024 (UTC)[responder]

En tal caso recomiendo no usar en lo absoluto el parámetro |sitioweb=. Es mejor que falte algún caso bueno que agregar algunos casos malos. La alternativa para hacerlo bien no sería viable en todos los casos, pero se podría intentar extraer de los metadatos de la cabecera del código HTML si existe la propiedad og:site_name (y del mismo modo se podrían extraer, también opcionalmente, otros datos como el autor). -- Leoncastro (discusión) 12:00 20 abr 2024 (UTC)[responder]
  • comentario Otro comentario: tal como aclara la plantilla de Cita web, en el caso de |idioma=, si la fuente está en español, no es necesario incluir ese parámetro. Lo digo por el ejemplo número 2 que enlazó Mario y para evitar futuros inconvenientes con el bot. Saludos cordiales, MadonnaFan 15:01 24 abr 2024 (UTC)[responder]
  • comentario Otro comentario: Ante todo, MarioFinale, me alegra que tengas la posibilidad de dedicarte a programar nuevas funciones que, como estas en particular, abordan tareas interesantes y a las que estábamos prestando poca o ninguna atención en nuestro proyecto. Te pregunto/comento también sobre algunos detalles:
    • En tu diff de ejemplo 9 (el último), el bot marca este enlace como roto e irrecuperable, cuando parece funcionar correctamente...
    • Lo de trabajar en páginas aleatorias cada 5 minutos me parece que es poco práctico a largo plazo, porque además habría que llevar algún tipo de control para no repetir páginas, etc. ¿No sería más eficaz hacer barridos sistemáticos de toda Wikipedia de forma periódica, siguiendo el orden que se decida? Más la posibilidad de habilitar algún interfaz para procesar artículos específicos bajo demanda...
    • Para los sitios que usen en sus URL algún tipo de patrón junto con identificadores y a los que tengamos muchos enlaces, sugiero usar una plantilla que nos facilite el mantenimiento y en especial actualizar de una sola vez todos los enlaces si algún día deciden cambiar de patrón (cosa que pasa con cierta frecuencia, lamentablemente). En realidad tendríamos que hacer una revisión sistemática de todos los sitios muy enlazados para ir creando plantillas, pero eso lo dejo para otro momento y lugar.
    • Dado que entiendo que compruebas y «capturas» todos los enlaces externos de las referencias para ver si están caídos, ¿sería viable ampliar esa comprobación y captura a los enlaces externos de la sección homónima, y marcarlos también como rotos cuando proceda? Sería útil y complementaría/respaldaría la labor de InternetArchiveBot. - José Emilio –jem– Tú dirás... 20:14 24 abr 2024 (UTC)[responder]

Solicitudes resueltas[editar]


Bot A favor En contra Resolución Tarea Enlace permanente
Strakbot 12 0 Autorizado date-link-remover.js Votación
NacaruBot 12 0 Autorizado retirar rápidamente enlaces internos a fechas de forma semiautomática a través de script mediante date-link-remover-control-panel.js Votación
Paquibot 14 5 Rechazado Actualización del estatus en la Lista Roja de la IUCN en la {{Ficha de taxón}} Votación