diff options
| author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-07-19 14:08:30 +0000 |
|---|---|---|
| committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-07-19 14:08:30 +0000 |
| commit | a1479a87757fb5e9b48f3c8bb5dd9cc247406f1a (patch) | |
| tree | 06d23a51082a398c512ed8f1e39bdac60d4dd658 /src/helpserv.c | |
| parent | 7fffea77edbe72cd66f7a55f41a3966204f9cf86 (diff) | |
BUILD : 1.7.4 (264) BUGS : N/A NOTES : Switched to autoconf - try to commit part 1
git-svn-id: svn://svn.anope.org/anope/trunk@264 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@169 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/helpserv.c')
| -rw-r--r-- | src/helpserv.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/helpserv.c b/src/helpserv.c new file mode 100644 index 000000000..dfded27fc --- /dev/null +++ b/src/helpserv.c @@ -0,0 +1,83 @@ +/* HelpServ functions + * + * (C) 2003 Anope Team / GeniusDex + * Contact us at info@anope.org + * + * Please read COPYING and README for furhter details. + * + * Based on the original code of Epona by Lara. + * Based on the original code of Services by Andy Church. + * + * $Id$ + * + */ + +/*************************************************************************/ +#include "services.h" +#include "pseudo.h" + +#define HELP_VERSION 1 + +void helpserv_init(void); +static int do_help(User * u); +void moduleAddHelpServCmds(void); + +/*************************************************************************/ +void moduleAddHelpServCmds(void) +{ + Command *c; + c = createCommand("HELP", do_help, NULL, -1, -1, -1, -1, -1); + addCoreCommand(HELPSERV, c); +} + +/*************************************************************************/ + +/*************************************************************************/ +/* HelpServ initialization. */ +void helpserv_init(void) +{ + moduleAddHelpServCmds(); +} + +/*************************************************************************/ +/* Main HelpServ routine. */ +void helpserv(User * u, char *buf) +{ + char *cmd, *s; + + cmd = strtok(buf, " "); + + if (!cmd) { + return; + } else if (stricmp(cmd, "\1PING") == 0) { + if (!(s = strtok(NULL, ""))) + s = "\1"; + notice(s_HelpServ, u->nick, "\1PING %s", s); + } else { + mod_run_cmd(s_HelpServ, u, HELPSERV, cmd); + } +} + +/*************************************************************************/ +/* Display the HelpServ help. */ +/* This core function has been embed in the source for a long time, but */ +/* it moved into it's own file so we now all can enjoy the joy of */ +/* modules for HelpServ. */ + +static int do_help(User * u) +{ + char *cmd = strtok(NULL, ""); + + if (!cmd) { + notice_help(s_HelpServ, u, HELP_HELP, s_NickServ, s_ChanServ, + s_MemoServ); + if (s_BotServ) + notice_help(s_HelpServ, u, HELP_HELP_BOT, s_BotServ); + if (s_HostServ) + notice_help(s_HelpServ, u, HELP_HELP_HOST, s_HostServ); + moduleDisplayHelp(7, u); + } else { + mod_help_cmd(s_HelpServ, u, HELPSERV, cmd); + } + return MOD_CONT; +} |
