/* mod-helpserv.c - Support Helper assistant service
* Copyright 2002-2003 srvx Development Team
*
- * This file is part of srvx.
+ * This file is part of x3.
*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
else
send_message_type(4, user, hs->helpserv, "%s %s %s", lbuf[0], lbuf[1], lbuf[2]);
- if (hs->req_on_join && req == hs->unhandled && hs->helpchan_empty) {
+ if (hs->req_on_join && req == hs->unhandled && hs->helpchan_empty && !user->uplink->burst) {
timeq_del(0, run_empty_interval, hs, TIMEQ_IGNORE_WHEN);
run_empty_interval(hs);
}
/* Logging */
if (shutting_down && (req->hs->persist_types[PERSIST_T_REQUEST] != PERSIST_CLOSE || !req->handle)) {
- helpserv_log_request(req, "srvx shutdown");
+ helpserv_log_request(req, "X3 shutdown");
}
/* Clean up from the unhandled queue */
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_REMOVE | MODE_VOICE;
- change.args[0].member = mn;
+ change.args[0].u.member = mn;
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
}
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_VOICE;
- if ((change.args[0].member = GetUserMode(hs->helpchan, req->user)))
+ if ((change.args[0].u.member = GetUserMode(hs->helpchan, req->user)))
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
REQUIRE_PARMS(2);
- assert(hs_user);
-
if (!(req = smart_get_request(hs, hs_user, argv[1], &num_requests))) {
helpserv_notice(user, "HSMSG_REQ_INVALID", argv[1]);
return 0;
REQUIRE_PARMS(3);
- assert(hs_user);
-
if (!(req = smart_get_request(hs, hs_user, argv[1], &num_requests))) {
helpserv_notice(user, "HSMSG_REQ_INVALID", argv[1]);
return 0;
}
if (!(hs->helpchan = GetChannel(newchan))) {
- hs->helpchan = AddChannel(newchan, now, NULL, NULL);
+ hs->helpchan = AddChannel(newchan, now, NULL, NULL, NULL);
AddChannelUser(hs->helpserv, hs->helpchan)->modes |= MODE_CHANOP;
} else if (!helpserv_in_channel(hs, old_helpchan)) {
struct mod_chanmode change;
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_CHANOP;
- change.args[0].member = AddChannelUser(hs->helpserv, hs->helpchan);
+ change.args[0].u.member = AddChannelUser(hs->helpserv, hs->helpchan);
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_REMOVE | MODE_VOICE;
- change.args[0].member = mn;
+ change.args[0].u.member = mn;
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
if(req->handle)
* it's a harmless default */
hs = calloc(1, sizeof(struct helpserv_bot));
- if (!(hs->helpserv = AddService(nick, helpserv_conf.description, NULL))) {
+ if (!(hs->helpserv = AddService(nick, "+iok", helpserv_conf.description, NULL))) {
free(hs);
return NULL;
}
reg_privmsg_func(hs->helpserv, helpserv_botmsg);
if (!(hs->helpchan = GetChannel(help_channel))) {
- hs->helpchan = AddChannel(help_channel, now, NULL, NULL);
+ hs->helpchan = AddChannel(help_channel, now, NULL, NULL, NULL);
AddChannelUser(hs->helpserv, hs->helpchan)->modes |= MODE_CHANOP;
} else {
struct mod_chanmode change;
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_CHANOP;
- change.args[0].member = AddChannelUser(hs->helpserv, hs->helpchan);
+ change.args[0].u.member = AddChannelUser(hs->helpserv, hs->helpchan);
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
}
new_target = GetChannel(target);
if (!new_target) {
- new_target = AddChannel(target, now, NULL, NULL);
+ new_target = AddChannel(target, now, NULL, NULL, NULL);
AddChannelUser(hs->helpserv, new_target);
}
} else {
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_CHANOP;
- change.args[0].member = AddChannelUser(hs->helpserv, new_target);
+ change.args[0].u.member = AddChannelUser(hs->helpserv, new_target);
mod_chanmode_announce(hs->helpserv, new_target, &change);
}
hs->page_targets[idx] = new_target;
helpserv_conf.db_backup_frequency = str ? ParseInterval(str) : 7200;
str = database_get_data(conf_node, "description", RECDB_QSTRING);
- helpserv_conf.description = str;
+ helpserv_conf.description = str ? str : "Help Queue Manager";
str = database_get_data(conf_node, "reqlogfile", RECDB_QSTRING);
if (str && strlen(str))
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_VOICE;
- if ((change.args[0].member = GetUserMode(hs->helpchan, user)))
+ if ((change.args[0].u.member = GetUserMode(hs->helpchan, user)))
mod_chanmode_announce(hs->helpserv, hs->helpchan, &change);
}
}