-/* event_neonserv_ctcp.c - NeonServ v5.1
+/* event_neonserv_ctcp.c - NeonServ v5.3
* Copyright (C) 2011 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
static USERAUTH_CALLBACK(neonserv_event_ctcp_nick_lookup);
static void neonserv_event_ctcp_async1(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *command, char *text);
-static int neonserv_ctcp(char *buffer, char *command, char *text);
static void neonserv_event_chanctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text) {
if(!stricmp(command, "ACTION")) return; //always allow CTCP ACTION (/me)
}
}
-static void neonserv_event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text) {
- char ctcpBuf[MAXLEN];
- if(neonserv_ctcp(ctcpBuf, command, text)) {
- struct ClientSocket *bot;
- for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
- if(bot->user == target) break;
- }
- if(bot)
- putsock(bot, "NOTICE %s :\001%s\001", user->nick, ctcpBuf);
- }
-}
-
-static int neonserv_ctcp(char *buffer, char *command, char *text) {
- if(!stricmp(command, "VERSION")) {
- sprintf(buffer, "VERSION NeonServ v" NEONSERV_VERSION " by pk910 (%s)", (strcmp(revision, "") ? revision : "-"));
- return 1;
- }
- if(!stricmp(command, "FINGER")) {
- sprintf(buffer, "FINGER NeonServ v" NEONSERV_VERSION " (%s) build %s lines C code using " COMPILER " (see +netinfo)", (strcmp(revision, "") ? revision : "-"), codelines);
- return 1;
- }
- if(!stricmp(command, "PING")) {
- sprintf(buffer, "PING %s", (text ? text : "0"));
- return 1;
- }
- if(!stricmp(command, "TIME")) {
- time_t rawtime;
- struct tm *timeinfo;
- char timeBuf[80];
- time(&rawtime);
- timeinfo = localtime(&rawtime);
- strftime(timeBuf, 80, "%c", timeinfo);
- sprintf(buffer, "TIME %s", timeBuf);
- return 1;
- }
- return 0;
-}