/*****************************************************************
 * libircservice is (C) CopyRight PTlink IRC Software 1999-2004  *
 *                    http://software.pt-link.net                *
 * This program is distributed under GNU Public License          *
 * Please read the file COPYING for copyright information.       *
 *****************************************************************

  Description: init connect routines

 *  $Id: infoserv.c,v 1.2 2005/09/08 18:09:55 jpinto Exp $
*/

#include "setup.h"
#include "ircservice.h"

#define SERVICENAME	"InfoServ"

/* internal functions declaration */
void do_hello(IRC_User* s, IRC_User* t);
void do_help(IRC_User* s, IRC_User* t);
void do_unknown(IRC_User* s, IRC_User* t);

IRC_User* info_user; 	/* info user */

void do_hello(IRC_User* s, IRC_User* t)
{
  irc_SendNotice(t, s, "Hello %s", t->nick);
}

void do_help(IRC_User* s, IRC_User* t)
{
  irc_SendNotice(t, s, "**** Available commands ****");
  irc_SendNotice(t, s, "  HELP - List commands");
  irc_SendNotice(t, s, "  HELLO - Hello command");
  irc_SendNotice(t, s, "****************************");  
}

void do_unknown(IRC_User* s, IRC_User* t)
{
  irc_SendNotice(t, s, "The command %s is not implemented", 
    irc_GetLastMsgCmd());
  irc_SendNotice(t, s, "Try /%s HELP", SERVICENAME);
}
  

/* main program */
int main(void)
{
  int cr;
  
  /* set server service info */
  irc_Init(IRCDTYPE, SERVERNAME, "Sample IRC Service", stderr);
  
  printf("Connecting to "CONNECTO"\n");
  cr = irc_FullConnect(CONNECTO,6667,CONNECTPASS, 0);
  if(cr<0)
    {
      printf("Error connecting to irc server: %s\n", irc_GetLastMsg());
      return 1;
     }
  else
    printf("--- Connected ----\n");
  
  /* Create the sample service user */
  info_user = irc_CreateLocalUser(SERVICENAME,"Services","PTlink.net","PTlink.net",
  	"Sample IRC Service","+r");
  	
  /* Introduce the user */
  irc_IntroduceUser(info_user);
  
  /* Set the new user event */
  irc_AddUMsgEvent(info_user, "help", do_help);
  irc_AddUMsgEvent(info_user, "hello", do_hello);
  irc_AddUMsgEvent(info_user, "*", do_unknown);
  
  /* Loop while connected */
  irc_LoopWhileConnected();
  printf("Connection terminated: %s\n", irc_GetLastMsg());
  return 0;
}


syntax highlighted by Code2HTML, v. 0.9.1