#include "DBHelper.h"
#include "tools.h"
#include "timeq.h"
-#include "version.h"
#include "EventLogger.h"
#include "cmd_neonserv.h"
bind_part(neonserv_event_part);
bind_quit(neonserv_event_quit);
bind_chanctcp(neonserv_event_chanctcp);
- bind_privctcp(neonserv_event_privctcp);
+ bind_privctcp(general_event_privctcp);
bind_channotice(neonserv_event_channotice);
bind_topic(neonserv_event_topic);
bind_invite(neonserv_event_invite);
//register events
bind_bot_ready(neonspam_bot_ready);
//bind_join(neonspam_event_join);
+ bind_privctcp(general_event_privctcp);
set_trigger_callback(BOTID, neonspam_trigger_callback);
#include "UserNode.h"
#include "ChanNode.h"
#include "ChanUser.h"
+#include "version.h"
#include "bot_NeonServ.h"
#include "bot_NeonSpam.h"
}
free(str_banid);
}
+
+static int general_ctcp(char *buffer, char *command, char *text);
+
+void general_event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text) {
+ char ctcpBuf[MAXLEN];
+ if(general_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 general_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;
+}
#include "main.h"
#include "timeq.h"
+struct UserNode;
struct ChanNode;
struct ClientSocket;
struct ClientSocket *getChannelBot(struct ChanNode *chan, int botid);
TIMEQ_CALLBACK(channel_ban_timeout);
+void general_event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text);
#endif
\ No newline at end of file
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;
-}