[IRC-DEV] Protocolo bots externos <-> Olimpo

Juan Jose Sanchez Mesa juanjo.listas at doblej.net
Thu Nov 15 12:49:50 CET 2001


Bueno, a mi siempre me ha parecido una idea buena. Me gustaria hacer unas 
preguntas, aunque supongo que algunas es algo pronto para hacerlas si por 
ahora es solo una idea ...

* Es necesario entregar los fuentes del bot o basta simplemente con que 
cumpla el protocolo de comunicacion ?

* Supongo que el bot será visible al usuario como un nick normal, pero ... 
podrá estar en un canal o se quedará en el "pasillo" ?

* Que tal poder enviar mensajes globales a un determinado canal registrado 
? Tal vez mediante una "certificación" por parte de IRC-Hispano y permitir 
que ese bot envie mensajes solo a ese canal e interactuar solo con los 
usuarios que este en ese canal, sin necesidad de que sea el usuario el que 
primero haga la comunicación con el bot. Por ejemplo, el fundador del canal 
autoriza que un determinado bot este en un canal (aunque primero deba 
autorizarlo IRC-Hispano), y este bot pueda interactuar con los usuarios del 
canal, aunque haya usuarios que no tengan +r. Vamos, limitar toda la 
actividad del bot a un canal. Tal vez para una segunda fase ?

A mi me vendria muy bien para hacer un bot que interactue con un canal que 
tengo fundado y su correspondiente web. Hace tiempo, cuando aun estaban 
visibles las IPs de los usuarios, queria haber hecho un bot que, cuando 
entraras en la web del canal, te saludara con el nick que tenias en 
IRC-Hispano :). Ahora esa idea no sirve (por razones evidentes), pero tengo 
mas ideas que me gustaria hacer con un bot para interactuar con la web ...

Saludos,
Juanjo [Kendal].

At 19:21 14/11/2001, you wrote:
>Como todos sabeis, una de mis viejas ideas es abrir el API de Olimpo
>(http://www.argo.es/~jcea/irc/modulos/api.htm) para que sea posible que
>programadores externos escriban bots que puedan "pincharse" a Olimpo a
>través de Internet, y entrar en IRC-Hispano.
>
>Tras dar mil vueltas al asunto y concluir que utilizar protocolos
>estándares (y con librerías para infinidad de lenguajes y plataformas)
>como XML-RPC o SOAP suponen una carga brutal a nivel de ancho de banda,
>no queda otra opción que desarrollar un protocolo "propio", con lo que
>ello supone: diseño, implementación de librerías en varios lenguajes,
>soporte de varias plataformas, etc.
>
>En una primera fase quiero hacer una "micro API" con las siguientes
>características:
>
>- Cualquier programador, de forma gratuita y cumpliendo unos requisitos
>mínimos, deberá poder enlazar sus bots utilizando Olimpo, de forma
>sencilla y rápida.
>
>- La comunicación entre Olimpo y los bots externos se realizarán
>mediante una conexión TCP/IP. Los comandos fluirán en ambas direcciones
>de forma asíncrona, como el protocolo IRC normal.
>
>- En esta primera fase, la única capacidad permitida para los bots será:
>
>   - Recibir privados de usuarios +r.
>
>   - Enviar privados a usuarios que, previamente, hayan enviado un
>privado al bot.
>
>Las etapas de la comunicación bot<->Olimpo serán dos:
>
>a) Autentificación
>b) Servicio
>
>El procedimiento, a grosso modo, sería:
>
>1. El bot se conecta a Olimpo.
>2. Olimpo envía un "reto" al bot.
>3. El bot envía una "respuesta" a Olimpo, indicando también su
>identidad.
>4. Si todo es correcto, Olimpo "injecta" el bot en IRC-Hispano.
>5. Cuando un usuario envía un privado al bot:
>    a) Si es la primera vez que el usuario envía el privado, Olimpo
>       envía al bot un alta de usuario nuevo, asignándole un Id.
>    b) Seguidamente envía el mensaje del usuario, con el Id que le
>       corresponda.
>6. Cuando el bot desea enviar algo a un usuario, lo debe enviar al
>    Id de ese usuario que le haya dado Olimpo en su primera comunicación.
>7. En cualquier momento, Olimpo puede enviar al bot una baja de Id. A
>partir de ese momento, cualquier intento del bot para enviar un mensaje
>al usuario al que corresponda ese Id será ignorado.
>8. Ping/Pong reto/respuesta cada 30 segundos entre Olimpo y el bot, para
>verificar la integridad de la conexión.
>
>Con este esquema bastaría con implementar media docena de comandos.
>
>¿Comentarios?.
>
>--
>Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
>jcea at argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
>                                       _/_/    _/_/          _/_/_/_/_/
>PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
>"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
>"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
>"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
>_______________________________________________
>IRC-Dev mailing list
>IRC-Dev at argo.es
>http://mailman.argo.es/listinfo/irc-dev





More information about the IRC-Dev mailing list