Ayuda:Bots
Los bots (o robots) son programas que hacen tareas repetitivas y tediosas. Sirven para agregar nuevo contenido al wiki, hacer modificaciones o hacer mantenimiento, entre otras cosas.
- Atención: los bots son herramientas que usadas mal pueden causar destrozos en las páginas del wiki. Aunque todo se puede revertir usando los historiales, es mejor buscar el consenso antes de hacer muchos cambios en muchas páginas.
Contenido |
[editar] Requisitos
Para hacer bots necesitarás lo siguiente:
- Conocer algún lenguaje de programación, preferiblemente Python, aunque sea a nivel básico
- Instalar un framework para trabajar con MediaWiki. Para Python existe pywikibot, aunque hay otros para otros lenguajes. El fichero de configuración 15mpedia_family.py deberás guardarlo en el directorio pywikibot/families
- Programar el bot (ver más abajo un ejemplo de bot sencillo)
- Contar con el consenso antes de lanzar los cambios en el wiki. Si son cambios triviales o son cambios consensuados anteriormente, no es necesario volver a debatirlos. Si quieres agregar mucho contenido nuevo con el bot o usarlo para hacer cambios en muchas páginas, mejor coméntalo antes en Portal de la Comunidad. Eso ayudará a que tu idea sea mejorada con las aportaciones de otros.
- Pedir el flag bot para tu cuenta de bot (así los cambios no saldrán en Special:Recentchanges por defecto, evitando inundar la página)
[editar] Instalación
Primero necesitas instalar Python 2.7 en tu sistema:
- Si estás en Windows, puedes descargarlo de aquí
- En GNU/Linux seguramente ya lo tengas instalado, sino escribe en la consola: sudo apt-get install python
Segundo, necesitas descargar el framework pywikibot (core) y descomprimirlo.
Tercero, debes configurar el framework para que sea compatible con 15Mpedia, descargando el fichero 15mpedia_family.py en el directorio pywikibot/families del pywikibot que has descomprimido en el paso anterior.
Cuarto, tienes que crear un fichero user-config.py dentro del directorio core con el siguiente contenido:
# -*- coding: utf-8 -*- family = '15mpedia' mylang = '15mpedia' usernames['15mpedia']['15mpedia'] = u'NICKDELBOT'
Donde NICKDELBOT es el nombre de la cuenta de usuario de tu bot. Debes registrar una cuenta de usuario para el bot, no se recomienda correr el bot con tu cuenta de usuario personal.
Por último debes hacer login del siguiente modo (te pedirá que escribas la contraseña): python pwb.py login
[editar] Un primer bot
Estudia el siguiente código para comprender cómo funciona. Cópialo a un fichero, por ejemplo primerbot.py y guárdalo en el directorio de pywikipediabot.
#!/usr/bin/env python # -*- coding: utf-8 -*- import datetime #necesario en este ejemplo porque vamos a trabajar con fechas import pywikibot #necesario siempre #creamos variable site para trabajar sobre 15mpedia (no poner la m en mayúscula) site = pywikibot.Site("15mpedia", "15mpedia") #creamos variable page indicándole en qué página de qué wiki vamos a trabajar page = pywikibot.Page(site, u"15Mpedia:Zona de pruebas") #leemos lo que haya en esa página text = page.text #añadimos la fecha de hoy newtext = u"%s\n\nHola, hoy es %s" % (text, datetime.datetime.today()) page.text = newtext #guardamos los cambios e indicamos un resumen de edición page.save(u"BOT - Haciendo prueba")
Para ejecutarlo, escribe lo siguiente en la consola: python primerbot.py
[editar] Bots comunes
El framework pywikibot incluye algunos bots para tareas comunes. Uno de los más usados es el que arregla redirecciones que quedan rotas después de hacer traslados de páginas.
Para utilizarlo, copia el fichero scripts/redirect.py al directorio principal, y ejecútalo así: python redirect.py double
[editar] Usuarios bot
Estos son algunos de los usuarios con flag bot en este wiki (ver lista automática):
- 15MBot (discusión · contribuciones)
- BotQuincemayista (discusión · contribuciones)
- Botchan (discusión · contribuciones)
- AlgarroBot (discusión · contribuciones)
[editar] Véase también
[editar] Enlaces externos
- Repositorio de código de scripts usados en 15Mpedia
- Aplausos comprados, risas grabadas. El submundo de los 'bots' en México
- Bot moderador de asambleas para IRC
- Un montón de bots en el repositorio svn de wikimedia