X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2Fevent_neonserv_topic.c;h=577e0a349d3a45beb2fe6fafa7a8f0d2b882eaa2;hp=1dc2b51d26b761bc4ce767e68345858fed1abfb0;hb=b013fcf166b6b84f7b946412dacfe84ba5cfe6b6;hpb=0f1dc61921eef1db8e404a5a82372e2d1cd55daa diff --git a/src/event_neonserv_topic.c b/src/event_neonserv_topic.c index 1dc2b51..577e0a3 100644 --- a/src/event_neonserv_topic.c +++ b/src/event_neonserv_topic.c @@ -1,3 +1,19 @@ +/* event_neonserv_topic.c - NeonServ v5.3 + * Copyright (C) 2011-2012 Philipp Kreil (pk910) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ struct neonserv_event_topic_cache { struct ClientSocket *client; @@ -12,7 +28,7 @@ static void neonserv_event_topic_async1(struct ClientSocket *client, struct User static void neonserv_event_topic(struct UserNode *user, struct ChanNode *chan, const char *new_topic) { struct ClientSocket *client = getBotForChannel(chan); if(!client) return; //we can't "see" this event - if(user->flags & (USERFLAG_ISBOT | USERFLAG_ISIRCOP)) return; + if(isNetworkService(user)) return; loadChannelSettings(chan); if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) return; if(!(user->flags & USERFLAG_ISAUTHED)) { @@ -74,13 +90,14 @@ static void neonserv_event_topic_async1(struct ClientSocket *client, struct User //BOTWAR! chanuser->changeTime = time(0); if(chanuser->chageEvents > 0) { - putsock(client, "NOTICE @%s :%s %s", chan->name, get_language_string(user, "NS_BOTWAR_DETECTED"), (BOTWAR_ALERT_CHAN ? get_language_string(user, "NS_BOTWAR_REPORTED") : "")); - if(BOTWAR_ALERT_CHAN) { - struct ChanNode *alertchan = getChanByName(BOTWAR_ALERT_CHAN); + char *alertchan = get_string_field("General.alertchan"); + putsock(client, "NOTICE @%s :%s %s", chan->name, get_language_string(user, "NS_BOTWAR_DETECTED"), (alertchan ? get_language_string(user, "NS_BOTWAR_REPORTED") : "")); + if(alertchan) { + struct ChanNode *alertchan_chan = getChanByName(alertchan); struct ClientSocket *alertclient; - if(alertchan && (alertclient = getBotForChannel(chan)) != NULL) { + if(alertchan_chan && (alertclient = getBotForChannel(chan)) != NULL) { char msgBuf[MAXLEN]; - putsock(alertclient, "PRIVMSG %s :%s", alertchan->name, build_language_string(user, msgBuf, "NS_BOTWAR_ALERT", chan->name, user->nick)); + putsock(alertclient, "PRIVMSG %s :%s", alertchan_chan->name, build_language_string(NULL, msgBuf, "NS_BOTWAR_ALERT", chan->name, user->nick)); } } }