/* m_sshortcut.c - Script generated services commands definition file
** Do not edit this file
*/

#include "stdinc.h"
#include "client.h"
#include "common.h"
#include "ircd.h"
#include "irc_string.h"
#include "numeric.h"
#include "s_conf.h"
#include "s_log.h"
#include "s_serv.h"
#include "send.h"
#include "msg.h"
#include "parse.h"
#include "modules.h"

#define SVS_operserv_NICK "OperServ"
#define SVS_operserv_USERSERV "OperServ@services.thekeyboardcowboys.org"
#define SVS_userserv_NICK "UserServ"
#define SVS_userserv_USERSERV "UserServ@services.thekeyboardcowboys.org"
#define SVS_nickserv_NICK "NickServ"
#define SVS_nickserv_USERSERV "NickServ@services.thekeyboardcowboys.org"
#define SVS_global_NICK "Global"
#define SVS_global_USERSERV "Global@services.thekeyboardcowboys.org"
#define SVS_operbot_NICK "OperBot"
#define SVS_operbot_USERSERV "OperBot@services.thekeyboardcowboys.org"
#define SVS_alis_NICK "Alis"
#define SVS_alis_USERSERV "Alis@services.thekeyboardcowboys.org"
#define SVS_chanserv_NICK "ChanServ"
#define SVS_chanserv_USERSERV "ChanServ@services.thekeyboardcowboys.org"
#define SVS_jupeserv_NICK "JupeServ"
#define SVS_jupeserv_USERSERV "JupeServ@services.thekeyboardcowboys.org"

char *reconstruct_parv(int parc, const char *parv[]);

static void m_operserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_userserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_nickserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_global(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_operbot(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_alis(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_chanserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
static void m_jupeserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);

struct Message operserv_msgtab = {
  "operserv", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_operserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_operserv, 1}}
};

struct Message userserv_msgtab = {
  "userserv", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_userserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_userserv, 1}}
};

struct Message nickserv_msgtab = {
  "nickserv", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_nickserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_nickserv, 1}}
};

struct Message global_msgtab = {
  "global", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_global, 1}, mg_ignore, mg_ignore, mg_ignore, {m_global, 1}}
};

struct Message operbot_msgtab = {
  "operbot", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_operbot, 1}, mg_ignore, mg_ignore, mg_ignore, {m_operbot, 1}}
};

struct Message alis_msgtab = {
  "alis", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_alis, 1}, mg_ignore, mg_ignore, mg_ignore, {m_alis, 1}}
};

struct Message chanserv_msgtab = {
  "chanserv", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_chanserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_chanserv, 1}}
};

struct Message jupeserv_msgtab = {
  "jupeserv", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_jupeserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_jupeserv, 1}}
};

struct Message os_msgtab = {
  "os", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_operserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_operserv, 1}}
};

struct Message ns_msgtab = {
  "ns", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_nickserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_nickserv, 1}}
};

struct Message ob_msgtab = {
  "ob", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_operbot, 1}, mg_ignore, mg_ignore, mg_ignore, {m_operbot, 1}}
};

struct Message cs_msgtab = {
  "cs", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_chanserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_chanserv, 1}}
};

struct Message js_msgtab = {
  "js", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_jupeserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_jupeserv, 1}}
};

struct Message us_msgtab = {
  "us", 0, 0, 0, MFLG_SLOW,
  {mg_unreg, {m_userserv, 1}, mg_ignore, mg_ignore, mg_ignore, {m_userserv, 1}}
};

mapi_clist_av1 sshortcut_clist[] = {
  &operserv_msgtab,
  &userserv_msgtab,
  &nickserv_msgtab,
  &global_msgtab,
  &operbot_msgtab,
  &alis_msgtab,
  &chanserv_msgtab,
  &jupeserv_msgtab,
  &os_msgtab,
  &ns_msgtab,
  &ob_msgtab,
  &cs_msgtab,
  &js_msgtab,
  &us_msgtab,
  NULL
};

DECLARE_MODULE_AV1(sshortcut, NULL, NULL, sshortcut_clist, NULL, NULL, "$Revision$");

char *reconstruct_parv(int parc, const char *parv[])
{
  static char tmpbuf[BUFSIZE]; int i;

  strlcpy(tmpbuf, parv[0], BUFSIZE);
  for (i = 1; i < parc; i++)
  {
    strlcat(tmpbuf, " ", BUFSIZE);
    strlcat(tmpbuf, parv[i], BUFSIZE);
  }
  return tmpbuf;
}

static void m_operserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_operserv_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_operserv_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_operserv_NICK);
  }
}

static void m_userserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_userserv_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_userserv_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_userserv_NICK);
  }
}

static void m_nickserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_nickserv_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_nickserv_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_nickserv_NICK);
  }
}

static void m_global(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_global_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_global_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_global_NICK);
  }
}

static void m_operbot(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_operbot_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_operbot_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_operbot_NICK);
  }
}

static void m_alis(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_alis_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_alis_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_alis_NICK);
  }
}

static void m_chanserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_chanserv_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_chanserv_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_chanserv_NICK);
  }
}

static void m_jupeserv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
  struct Client *target_p;

  if (parv[1] == NULL)
  {
    sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
    return;
  }

  if ((target_p = find_person(SVS_jupeserv_NICK)))
  {
    sendto_one(target_p, ":%s PRIVMSG %s :%s", parv[0], SVS_jupeserv_USERSERV, reconstruct_parv(parc - 1, &parv[1]));
  }
  else
  {
    sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, parv[0], SVS_jupeserv_NICK);
  }
}


