kubot

kubot es un bot administrado por m4v y hosteado en http://ubottu.com. Ofrece un servicio de factos, manpages en español y búsquedas en internet. kubot nació en #kubuntu-es para reemplazar a botijo cuando este desapareció.

kubot se encuentra en los canales:
#ubuntu-es #kubuntu-es #xubuntu-es #lubuntu-es #ubuntu-co #ubuntu-pe #ubuntu-es-cafe 

Factos

Un facto es un fragmento de información útil, la palabra viene del inglés factoid. Se utiliza para recordar respuestas de preguntas comunes y que los usuarios del canal pueden llamar cuando sea necesario.

Llamando factos

Para llamar un facto simplemente escribe el nombre del facto empezando con ! (o el nombre del bot)

!<facto>
kubot: <facto> 

Reemplaza <facto> por el nombre del facto que deseas llamar.

Ejemplo:

!hola
<kubot> hola! bienvenido!

Para prefijar algo la salida del facto usa | seguido por el texto que quieras

!<facto> | <texto> 

Se puede omitir el | siempre y cuando <texto> sea una lista de apodos separadas por espacios

!<facto> <nick> [<nick> ...] 

Ejemplo:

!hola usuario
<kubot> usuario: hola! bienvenido!
!hola esto es una prueba
<kubot> Soy solo un bot, no pienses que soy inteligente.

Para enviar un facto a alguien en privado usa > seguido por el nick (máximo 3 apodos)

!<facto> > <nick> [<nick> [<nick>]] 

Se puede agregar un mensaje extra prefijando dos puntos a este en el final del comando (el bot ignora este mensaje, es simplemente para indicar algo al usuario, típicamente para avisarle que mire el privado que está por llegar)

!<facto> > <nick> :<texto> 

Se puede combinar | y > para mandar un mensaje privado con algo prefijado

!<facto> | <texto> > <nick> 

Ejemplo:

!hola > usuario :mira el mensaje privado de kubot
(en un mensaje privado) <kubot> hola! bienvenido!
!hola | esto es una prueba > usuario
(en un mensaje privado) <kubot> esto es una prueba: hola! bienvenido!

Creando factos

Para crear nuevos factos, la sintaxis es

!<facto> es <texto> 

Ejemplo:

!Ubuntu es una distribución Linux.
<kubot> Recordaré 'ubuntu'.
!ubuntu
<kubot> Ubuntu es una distribución Linux.

Si uno no quiere que el facto empiece con "foo es ..."

!<facto>: <texto> 

Es importante dejar un espacio después de los 2 puntos o kubot no reconocerá el comando.

Ejemplo:

!10.10: Ubuntu 10.10 (Maverick Meerkat)
<kubot> Recordaré '10.10'.
!10.10
<kubot> Ubuntu 10.10 (Maverick Meerkat)

Peticiones

Editar o crear factos nuevos puede estar restringido, si es así, usa la opción --request en el mismo comando. Esto pondrá tu sugerencia en una lista de peticiones donde será revisado y aprobado si corresponde. Kubot te avisará cuando esto ocurra.

Ejemplo:

!10.10: Ubuntu 10.10 (Maverick Meerkat) --request
<kubot> Tu pedido fue puesto en cola para su revisión, ¡gracias! - ID del pedido 1

Editando factos

Para modificar factos existentes se utiliza la misma sintaxis para crearlos pero anteponiendo no,

!no, <facto> es <texto> [--preview]
!no, <facto>: <texto> [--preview]

La opción --preview muestra el resultado sin guardar ningún cambio.

Ejemplo:

!no, Ubuntu es una distribución Linux basada en Debian.
<kubot> 'ubuntu' cambió, lo recordaré.
!ubuntu
<kubot> Ubuntu es una distribución Linux basada en Debian.

IconsPage/important.png

La hora de añadir o editar factos, siempre que sea posible estos deben utilizar documentación de Ubuntu disponible en la web de sitios como ubuntu.com, ubuntu-es.org, guia-ubuntu.org, etc. Los factos deben ser lo más informativos posibles, y no muy específicos o sobre algún dato oscuro que rara vez se utilice.

Expresiones regulares

Se pueden usar expresiones regulares para editar un facto

!sed <facto> s/<regexp>/<texto>/ [--preview]
!<facto> =~ s/<regexp>/<texto>/ [--preview]

Las 2 formas son equivalentes, se puede usa otro símbolo en lugar de la barra '/', por ejemplo, en vez de s/ .. / .. / se puede usar s, .. , .. ,. Esto es útil cuando el regexp o el texto contienen barras. La expresión regular es sensible a las mayúsculas y minúsculas, la sintaxis está explicada en la documentación del módulo re de Python http://docs.python.org/lib/re-syntax.html

Ejemplo:

!sed ubuntu s/$/ La última versión estable es 10.10/
<kubot> 'ubuntu' cambió, lo recordaré.
!ubuntu
<kubot> Ubuntu es una distribución Linux basada en Debian. La última versión estable es 10.10
!sed ubuntu s,Linux,GNU/Linux,
<kubot> 'ubuntu' cambió, lo recordaré.
!ubuntu
<kubot> Ubuntu es una distribución GNU/Linux basada en Debian. La última versión estable es 10.10

Olvidar/recordar factos

Para eliminar un facto.

!olvidar <facto> 

Los factos nunca son borrados completamente, simplemente se marcan como olvidados, para restaurarlo usa

!recuerda <facto> 

Información sobre un facto

Utilizando la opción --info podrás obtener información de un facto, como quién lo creo, cuando fue editado, cuantas veces se usó, a qué categoría pertenece, etc.

!<facto> --info 

Ver cambios anteriores

kubot recuerda los cambios realizados en cada facto, utilizando la opción --rev estos se puede visualizar.

!<facto> --rev <id> 

<id> es el número de la revisión, la revisión 0 es siempre el facto original, así un facto con 4 revisiones tiene las revisiones 0, 1, 2 y 3. Si <id> es un número negativo entonces la revisión resultante es la revisión actual más el número negativo, en el caso anterior de 4 revisiones, --rev -1 sería la revisión número 2, es decir, la anterior.

Ejemplo:

!ubuntu
<kubot> Ubuntu es una distribución GNU/Linux basada en Debian. La última versión estable es 10.10
!ubuntu --rev -1
<kubot> Revisión 2: Ubuntu es una distribución Linux basada en Debian. La última versión estable es 10.10
!ubuntu --rev 0
<kubot> Revisión 0: Ubuntu es una distribución Linux.
!ubuntu --rev 1
<kubot> Revisión 1: Ubuntu es una distribución Linux basada en Debian. 

Deshacer/rehacer cambios

En el caso de un error o vandalismo se puede revertir los cambios.

!deshacer <facto> [--rev <id>] 

La opción --rev es para indicar a que revisión se desea revertir el facto.

Para rehacer cambios.

!rehacer <facto> [--rev <id>] 

Ejemplo:

!no, Ubuntu: asd asd asd asd
<kubot> 'ubuntu' cambió, lo recordaré.
!ubuntu
<kubot> asd asd asd asd
!deshacer ubuntu
<kubot> Facto 'ubuntu' restaurado a la revisión 2. 
!ubuntu
<kubot> Ubuntu es una distribución GNU/Linux basada en Debian. La última versión estable es 10.10

Creando un alias a otro facto

Un alias es un enlace a un facto, es útil para cuando uno quiere que más de un término apunte al mismo contenido.

!<alias> alias <facto> 

Ejemplo:

!Maverick alias 10.10
<kubot> Recordaré 'maverick→10.10'
!maverick
<kubot> Ubuntu 10.10 (Maverick Meerkat)

Cuando uno edita un alias, en realidad está editando el facto que el alias apunta, para realmente modificar un alias uno tiene que borrarlo y volverlo a crear.

Factos globales/locales

Todos los factos son normalmente globales, es decir, están disponibles en todos los canales donde el kubot se encuentre, pero puedes crear factos que sean locales a un canal en particular, estos tendrán preferencia sobre los factos globales solo en ese canal. La sintaxis es la misma que para crear factos pero se usa el nombre del canal como sufijo en el nombre del facto

!<facto><#canal> es <texto>
!<facto><#canal>: <texto>

Ejemplo:

(suponiendo que estamos en #ubuntu-es)
!hola
<kubot> hola! bienvenido!
!hola#ubuntu-es: hola, bienvenido/a a #ubuntu-es.
<kubot> Recordaré 'hola#ubuntu-es'.
!hola
<kubot> hola, bienvenido/a a #ubuntu-es.

Si quisiéramos llamar de todas formas el facto global utilizaremos el signo numeral.

!hola#
<kubot> hola! bienvenido!

Categorías

Esencialmente una categoría es una base de datos distinta donde se almacenan factos. Cada canal tiene una categoría principal, y puede o no tener categorías secundarias, de esta forma cada canal puede tener su propio set de factos. Cuando se solicita un facto, kubot lo busca primero dentro de la categoría principal del canal, si no existe, entonces se fija en las categorías secundarias.

Para interactuar con factos de una categoría determinada, se usa los mismos comandos vistos anteriormente, pero se usa '@categoría' al final del nombre del facto.

!<facto><@categoría> 

Ejemplo:

!ubuntu
<kubot> Ubuntu es una distribución GNU/Linux basada en Debian. La última versión estable es 10.10
!ubuntu@en
<kubot> Ubuntu is a GNU/Linux distribution based on Debian. Last stable version is 10.10

IconsPage/info.png

A no ser que se indique la categoría con el sufijo '@categoría', solo se puede modificar los factos de la categoría principal del canal.

Lista de categorías

kubot tiene estas categorías disponibles

es

factos de soporte en español

en

factos de soporte en inglés (importados desde ubottu)

offtopic

factos de #ubuntu-es-cafe

Canales

canal

principal

secundarias

#ubuntu-es

es

en

#kubuntu-es

es

en

#xubuntu-es

es

en

#lubuntu-es

es

en

#ubuntu-es-cafe

offtopic

es, en

#ubuntu-co

es

en

#ubuntu-pe

es

en

Variables

kubot reconoce varias variables que son reemplazadas en los factos para hacer su contenido más dinámico:

Reemplazos simples

$nick

Apodo del usuario llamando el facto.

$channel

Nombre del canal donde el facto es llamado, si es desde un query se reemplaza por 'privado'.

$botnick

Apodo actual del bot, normalmente kubot.

Para escapar $ simplemente usa $$, de esta forma $$channel (por ejemplo) queda como $channel y no se reemplaza.

Ejemplo:

!no, hola: Hola! bienvenido a $channel
<kubot> 'hola' cambió, lo recordaré.
!hola
<kubot> Hola! bienvenido a #ubuntu-es
!no, hola: Hola! bienvenido a $$channel
<kubot> 'hola' cambió, lo recordaré.
!hola
<kubot> Hola! bienvenido a $channel

Reemplazos con factos

Una forma de reemplazo más versátil es usar %<facto>, esto reemplaza la variable con el contenido de <facto>

Ejemplo:

!estable alias 10.10
<kubot> recordaré 'estable→10.10'
!estable
<kubot> Ubuntu 10.10 (Maverick Meerkat)
!no, Ubuntu es una distribución GNU/Linux basada en Debian. Última vesión estable %estable
<kubot> 'ubuntu' cambió, lo recordaré.
!ubuntu
<kubot> Ubuntu es una distribución GNU/Linux basada en Debian. Última vesión estable Ubuntu 10.10 (Maverick Meerkat)

Para escapar % usa %%.

Llamando un facto con la opción --preview te permite ver el contenido del facto sin reemplazar las variables.

Ejemplo:

!ubuntu --preview
<kubot> (vista previa) Ubuntu es una distribución GNU/Linux basada en Debian. Última vesión estable %estable

Buscando factos

Para buscar factos

!buscar [<palabra> [<palabra> ... ]] [--db <categoría>] 

Los factos de kubot se pueden ver desde la web, link

IconsPage/info.png

Si necesitas consultar por factos que no sabes si existen o simplemente quieres verlos hazlo en privado con "/QUERY kubot", de esta forma evitarás generar ruido y molestar en el canal.

Manpages

Normalmente cada comando o programa en Ubuntu tiene un manual o "manpage", estos los ves desde la consola con el comando 'man', el mismo comando sirve para solicitar a kubot el manual disponible en línea

!man <comando o programa> 

kubot te dará un resumen y el link del manual si este existe, y en español si está traducido

Ejemplo:

!man mount
<kubot> mount - monta un sistema de ficheros | ver http://manpages.ubuntu.com (...)

Si solo quieres el link del manual utiliza el comando !manurl

!manurl <comando o programa> 

El comando man no es parte del plugin de Factos, utilizar "!man mount | <nick>" no tiene efecto y dará error

Búsquedas

kubot soporta el comando google para buscar links, muestra un solo resultado.

!google <términos de la busqueda> 

IconsPage/important.png

El comando google no es parte del plugin de Factos, utilizar "!google ubuntu | <nick>" NO va a prefijar <nick> al resultado y lo más probable es que cause una mala búsqueda.

El comando google no debería usarse en lo posible, el abuso de !google se traduce en soporte de mala calidad y poco confiable, ya que uno desconoce que va a salir de antemano, el link puede no ser útil o incluso dañino para el que solicita ayuda, además de muchas veces generar ruido innecesario.

IRC/ES/kubot (last edited 2012-07-17 19:39:35 by m4v)