Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Módulo Saluda

Última Actualización: 01 de Octubre de 2003 - Miércoles

Este módulo es una prueba muy sencilla de la interfaz y del sistema de módulos. Sencillamente, se le envía un mensaje, cualquiera, y nos saluda con nuestro nick y alguna información adicional.

El objetivo de estos módulos fue probar el correcto funcionamiento de Olimpo y la carga de módulos dinámicos en sus inicios. Hoy no tienen ningún interés y no están en producción.

Adjunto el listado de los módulos, a modo de curiosidad. Hay dos versiones. Una en C y otra en Python.


Versión en Python

# $Id: saluda.py,v 1.4 2002/09/17 14:03:39 jcea Exp $

import Olimpo

def privmsg(nick,remitente,mensaje):
  flags=Olimpo.privmsg.lee_flags_nick(remitente)
  nick_u=Olimpo.privmsg.lee_nick(remitente)
  ip=Olimpo.privmsg.lee_ip_nick(remitente)
  if not ip: ip=(0,0,0,0)
  host=Olimpo.privmsg.lee_host_nick(remitente)

  Olimpo.privmsg.envia_nick(nick,remitente,"Hola, %s, ?Como estas?. Veo que tus flags son '%s'" %(nick_u,flags))
  Olimpo.privmsg.envia_nick(nick,remitente,"Tu IP es %d.%d.%d.%d, y tu host es '%s'" %(ip[0],ip[1],ip[2],ip[3],host))

def inicio():
  Olimpo.comentario_modulo("Modulo PYTHON de ejemplo $Revision: 1.4 $")
  Olimpo.privmsg.nuevo_nick("saluda","+odkirhB",privmsg)

Versión en C

/*
** SALUDA_C
**
** 28/Feb/00 Primera Version
*/

/*
    $Id: saluda.c,v 1.13 2001/03/19 14:31:49 jcea Exp $
*/

#include <stdio.h>

#include "module.h"
#include "mod_privmsg.h"


static int handle;

static void privmsg(int nick, int remitente, char *mensaje)
{
  char flags[1024];
  char nick_u[1024];
  char buf[1024];

  flags[0] = '\0';
  lee_flags_nick(remitente, flags);

  nick_u[0] = '\0';
  lee_nick(remitente, nick_u);

  sprintf(buf, "Hola, %s, ?Como estas?. Veo que tus flags son %s", nick_u,
          flags);
  envia_nick(nick, remitente, buf);
}

static void fin(void)
{
}

int inicio(void)
{
  especifica_fin(fin);
  comentario_modulo("Modulo 'privmsg' de ejemplo $Revision: 1.13 $");
  handle = nuevo_nick("saluda", "+odkirh", privmsg);
  if (handle < 0)
    return -1;
  return 0;
}



Python Zope ©2000-2003 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS