Bot

Què és un bot?

Un bot és un programa amb instruccions per actuar de forma independent, podent fer una varietat d'accions de forma automàtica o controlada de forma remota. En el cas concret d'un bot d'IRC, és un programa que s'ubica en un determinat canal de xat d'un servidor (en aquest cas, #ubuntu-cat a irc.freenode.org), on apareix com a usuari normal i pot executar determinades accions, generalment per fer la vida més fàcil als altres usuaris.

Propostes per al nostre bot

Escriu aquí les teves propostes relacionades amb el bot (funcions que hauria de tenir, etc).

  • Comprovar (via RSS2 o Atom) si hi ha nous articles al Planet o es crea un nou tòpic a http://cat.ubuntuforums.com i informar-ne al canal.

  • Afegir la possibilitat de fer votacions del tipus +1/+0/-1 amb l'ajuda del bot (Sessions/DB?)

  • Veure si podem aprofitar la feina de l'ScribesTeam amb ScribesTeam/MootBot per a les reunions en català.

  • Possibilitat de crear comptes enrere que comprovin la data en lloc dels segons transcorreguts. Ex: Compte enrere pel Feisty.

Ajuda (ordres disponibles)

Aquí pots trobar informació sobre les ordres i funcions que suporta fer el bot. Tingues en compte que algunes d'ella estan restringides i només poden ser utilitzades per moderadors o administradors del bot.

Compte enrere

  • Instrucció: !crono <número inicial> <notificacio cada X números> [<nom del compte enrere>]

    • Exemple d'ús: !crono 10 2 (El bot dirà: 10, 8, 6, 4, 2, Fet!)

    • Exemple d'ús: !crono 20 0 Compte enrere de 20 segons (Al cap de 20 segons el bot notificarà que el "Compte enrere de 20 segons" ha acabat)
    • Instrucció alternativa: !countdown
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Limitacions / Requeriments:
    • El bot cancel·lara qualsevol compte enrere pel que ja hagi imprès més de 100 missatges. Pot ser que aquest nombre canvii més endavant.
    • Utilitzar zero com a segon atribut (és a dir, que no hi hagi cap missatge fins que acabi) millora notablement el rendiment del bot.
  • Pendent d'implementació:
    • Fer que només els moderadors puguin fer comptes enrere (motiu: evitar SPAM, sobrecarrega del bot, etc.).
    • Escriu aquí la teva proposta seguida de: (?).

Fer parlar al robot

  • Instrucció: !parla <missatge>

    • Exemple d'ús: !parla Ei, ubuntaires! (El bot dirà "Ei, ubuntaires!" al canal #ubuntu-cat)

    • Instrucció alternativa: !digues
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Limitacions / Requeriments:
    • Només es pot executar des d'una finestra de conversa privada amb el bot.
  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Recuperar informació guardada a la base de dades

  • Instrucció: !explica <nom clau> [a <nom usuari>]

    • Exemple d'ús: !explica wiki (El bot proporcionarà informació sobre el wiki del Loco)
    • Exemple d'ús: !explica wiki a cortsenc (El bot dirà: "cortsenc: <aquí la informació corresponent al wiki>")

  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Introduir nova informació a la base de dades

  • Instrucció: !apren <nom clau> <informació>

  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Crear un alias per informació guardada a la base de dades

  • Instrucció: !aka <alias> <nom clau real>

    • Exemple d'ús: !aka Gaim Pidgin (Es podrà accedir a la informació disponible sota Pidgin amb la paraula Gaim)
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Esborrar informació de la base de dades

  • Instrucció: !oblida <nom clau>

    • Exemple d'ús: !oblida wiki
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Veure tota la informació disponible

  • Instrucció: !llista [<filtre>]

    • Exemple d'ús: !llista (El bot retornarà el nom clau de tota la informació disponible).
    • Exemple d'ús: !llista Herd% (El bot retornarà tots els noms claus que comencen amb Herd. El símbol % fa de comodí).
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Llegir un nombre hexadecimal de la forma "cata-ubuntaire"

  • Instrucció: !hexa [#]<valor hexadecimal> [a <nom usuari>]

    • Exemple d'ús: !hexa 1A58D3 (El bot dirà: ElTeuNick: dialfa cinquanta-vuit depanta-tres)

    • Exemple d'ús: !hexa #54AB74 a carlesoriol (El bot dirà: carlesoriol: cinquanta-quatre alfanta-breeze setanta-quatre)

  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Repetir els últims missatges

  • Instrucció: !repeteix [<quantitat de missatges>]

    • Exemple d'ús: !repeteix (Torna els últims 10 missatges que s'han enviat)
    • Exemple d'ús: !repeteix 5 (Torna els últims 5 missatges que s'han enviat)
    • Exemple d'ús: !repeteix 26 (Diu la URL de la pàgina de l'historial d'avui)
    • Explicació: Repeteix els últims missatges que s'han dit, aconseguint-los des de l'historial que hi ha a la web.
  • Propostes per re-anomenar la instrucció: Escriu aquí la teva proposta

  • Limitacions: La quantitat màxima de missatges a repetir és 25.
  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Càlcul del quòrum

  • Instrucció: !quorum <membres a l'equip>

    • Exemple d'ús: !quorum 100 (Torna un missatge indicant que el mínim de membres en una reunió és de 5)
  • Explicació: Calcula el quòrum mínim necessari per dur a terme una reunió segons el nombre de membres actuals de l'equip.

Salutació al entrar

  • Al entrar algú a l'IRC, el bot li envia automàticament un missatge privat amb una notice on diu: "Benvingut al canal d'IRC d'ubuntaires en català! Pots trobar més informació sobre nosaltres a https://wiki.ubuntu.com/CatalanTeam".

  • Limitacions / Requeriments:
    • Si entra algú quan fa menys de 50 segons que s'ha iniciat l'UbuCat, aquest no el saluda. Això és així per evitar que saludi a tothom cada cop que entra.

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

Inteŀligència Artificial del Bot

  • S'ha començat a implementar una mica d'Inteŀligència Artificial al bot, però de moment encara està en fase experimental. Algunes coses que suporta són:
    • Exemple d'ús: Hola UbuCat! (El bot dirà: Hola, ElTeuNick)

    • Exemple d'ús: UbuCat, ping? (El bot dirà: ElTeuNick: Pong!)

    • Exemple d'ús: Oh, gràcies UbuCat! (El bot pot dir, entre d'altres: 'De res ;)')

    • Exemple d'ús: UbuCat: Què m'expliques sobre la Feisty? (El bot explicarà el que sap sobre la paraula "Feisty")

  • Requisits / Limitacions / Altres
    • Per què entengui que parles amb ell has de dir el seu nom entre els 45 primers caràcters i no pots dir "l'UbuCat" ni "el UbuCat".

    • No cal que et preocupis, cap paraula depenen de caixa (és a dir, no diferència entre majúscules i minúscules).
    • També hi ha algun "ou de pasqua" (easter egg), a veure si el trobes :P

  • Pendent d'implementació:
    • Escriu aquí la teva proposta seguida de: (?).

"Pegar" a altres usuaris

  • Bé, per animar una mica la cosa, aquí teniu una nova funció (proposada per en crazyserver): !fotunaostia.
  • Instrucció: !fotunaostia [<a qui>] [<motiu>]

    • Exemple d'ús: !fotunaostia 1000Oriol (Produeix: ***UbuCat observa com en RainCT fot un bon cop a en 1000Oriol.)

    • Exemple d'ús: !fotunaostia elMerda On vas amb aquest nick? (Produeix: ***UbuCat observa com en RainCT fot un bon cop a en elMerda. Ho justifica així: «On vas amb aquest nick?»)

  • Limitacions:
    • El bot estima el seu creador :).

Actualitzar el bot

  • Instrucció: !update
  • Atenció: Aquesta és una funció per al desenvolupador del bot, no l'ha de fer servir ningú més - només provocaria càrrega inútil al servidor.

Progrés

  • 23/IX/2007. S'ha mogut el bot a un servidor. Implementats els permisos d'usuari.
  • 17/VII/2007. Creada la funció !quorum.
  • 19/V/2007. Com es va acordar a l'última reunió, s'ha afegit un avís sota «!explica reunió».
  • 15/V/2007. Afegida l'ordre !fotunaostia; una mica d'humor sempre va bé!
  • 22/IV/2007. L'UbuCat ja no saluda a tothom cada cop que entra.

  • 21/IV/2007. Afegida l'ordre !hexa.
  • 21/IV/2007. El bot contesta de forma més humana i té noves opcions d'interactivitat (IA).
  • 19/IV/2007. Implementada l'ordre !aka i totes les adaptacions necessàries.
  • 19/IV/2007. Aprovada la proposta d'en AlexMuntada de reanomenar !countdown a !crono.

  • 16/III/2007. Afegida l'ordre !repeteix.
  • 12/III/2007. Ja es pot interactuar amb el bot de forma privada (llista, explica, apren, oblida).
  • 11/III/2007. Creada la funció !update.
  • 11/III/2007. El bot saluda amb una 'notice' quan algú entra.
  • 10/III/2007. Registrat el nom "UbuCat" al Freenode.

  • 2/III/2007. Creada la funció !llista.
  • 1/III/2007. Millorada la funció !countdown.
  • 28/II/2007. Canvis en la funció !parla. Afegides les funcions !explica, !apren i !oblida.
  • 26/II/2007. Millorada la funció !countdown. Creada la funció !parla. Comença la creació de la funció !explica.
  • 23/II/2007. Agafant familiaritat amb el sistema. Creada la funció !countdown.

Nom per al bot

A la tercera reunió del LoCo es va aprovat unànimement la proposta de nom "UbuCat", i el nick ha estat registrat al Freenode.

Moderadors del bot

Hi ha certes funcions del bot que requereixen que l'usuari disposi de privilegis de moderador o d'administrador per tal de ser utilitzades. Aquí trobaràs un llistat de les persones que en tenen.

  • RainCT (Siegfried Gevatter). Administrador.
  • Arualavi (Ivà Burgos). Moderador.
  • Alex_muntada (Alex Muntada). Moderador.

Si t'agradaria tenir algun privilegi deixa un missatge al fil de discussió sobre el bot que hi ha al fòrum i especifica quines accions vols poder fer i perquè. Per tal de poder fer aquesta soŀlicitut has de ser membre del LoCo Team Català.

Autor i programari utilitzat

El bot està sent desenvolupat per en RainCT (Siegfried Gevatter), utilitzant com a base el k.bot d'en Kore Nordmann.

Està allotjat al servidor personal d'en Sharwin_F. Gràcies!

Enllaços

CatalanTeam/IRC/Bot (last edited 2008-08-06 16:14:39 by localhost)