[srvx-commits] CVS: services/src helpserv.c,1.27,1.28
Brought to you by:
entrope
|
From: Adrian D. <sai...@us...> - 2002-08-18 16:25:12
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv30770
Modified Files:
helpserv.c
Log Message:
Add "trial" user level to HelpServ. If there are only trials in the help channel, the emptyalert will still trigger.
Remove the only remaining tabs in helpserv.c. It is now a tab-free file.
Index: helpserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -r1.27 -r1.28
*** helpserv.c 18 Aug 2002 16:04:33 -0000 1.27
--- helpserv.c 18 Aug 2002 16:25:09 -0000 1.28
***************
*** 96,101 ****
/* General */
! #define HSMSG_WRITE_SUCCESS "HelpServ db write completed (in "FMT_TIME_T".%03lu seconds)."
! #define HSMSG_READHELP_SUCCESS "Read HelpServ help database in "FMT_TIME_T".%03ld seconds."
#define HSMSG_DISABLED "HelpServ is disabled in the configuration file. If you enable it, you must restart srvx."
#define HSMSG_INVALID_BOT "This command requires a valid HelpServ bot name."
--- 96,101 ----
/* General */
! #define HSMSG_WRITE_SUCCESS "HelpServ db write completed (in "FMT_TIME_T".%03lu seconds)."
! #define HSMSG_READHELP_SUCCESS "Read HelpServ help database in "FMT_TIME_T".%03ld seconds."
#define HSMSG_DISABLED "HelpServ is disabled in the configuration file. If you enable it, you must restart srvx."
#define HSMSG_INVALID_BOT "This command requires a valid HelpServ bot name."
***************
*** 205,208 ****
--- 205,209 ----
#define HSMSG_PAGE_IDLE_HEADER "$b%u users$b in %s $bidle at least %s$b:"
#define HSMSG_PAGE_EMPTYALERT "$b%s has no helpers present$b"
+ #define HSMSG_PAGE_ONLYTRIALALERT "$b%s has no full helpers present (%d trial%s)$b"
/* Notification messages */
***************
*** 241,244 ****
--- 242,246 ----
enum helpserv_level {
HlNone,
+ HlTrial,
HlHelper,
HlManager,
***************
*** 250,253 ****
--- 252,256 ----
static const char *helpserv_level_names[] = {
"None",
+ "Trial",
"Helper",
"Manager",
***************
*** 493,497 ****
extern struct userNode *opserv;
! #define HELPSERV_SYNTAX() helpserv_help(hs, from_opserv, user, argv[0])
#define HELPSERV_FUNC(NAME) int NAME(struct userNode *user, struct helpserv_bot *hs, int from_opserv, unsigned int argc, unsigned char *argv[])
typedef HELPSERV_FUNC(helpserv_func_t);
--- 496,500 ----
extern struct userNode *opserv;
! #define HELPSERV_SYNTAX() helpserv_help(hs, from_opserv, user, argv[0])
#define HELPSERV_FUNC(NAME) int NAME(struct userNode *user, struct helpserv_bot *hs, int from_opserv, unsigned int argc, unsigned char *argv[])
typedef HELPSERV_FUNC(helpserv_func_t);
***************
*** 975,979 ****
/* If we want to add stuff like "wlist", "mlist", and "hlist", make it a
* copy+paste type job */
! const enum helpserv_level lvl_lowest=HlHelper, lvl_highest=HlOwner;
(void)argc; (void)argv;
--- 978,982 ----
/* If we want to add stuff like "wlist", "mlist", and "hlist", make it a
* copy+paste type job */
! const enum helpserv_level lvl_lowest=HlTrial, lvl_highest=HlOwner;
(void)argc; (void)argv;
***************
*** 1078,1081 ****
--- 1081,1088 ----
}
+ static HELPSERV_FUNC(cmd_addtrial) {
+ return cmd_add_user(hs, from_opserv, user, HlTrial, argc, argv);
+ }
+
static HELPSERV_FUNC(cmd_clvl) {
struct helpserv_user *actor=NULL, *victim;
***************
*** 1285,1290 ****
case 4:
if (!req->helper || (req->helper->handle != user->handle_info)) {
! continue;
! }
break;
}
--- 1292,1297 ----
case 4:
if (!req->helper || (req->helper->handle != user->handle_info)) {
! continue;
! }
break;
}
***************
*** 2001,2004 ****
--- 2008,2012 ----
struct helpserv_bot *hs=data;
dict_iterator_t it;
+ int num_trials=0;
for (it=dict_first(hs->users); it; it=iter_next(it)) {
***************
*** 2006,2014 ****
if (find_handle_in_channel(hs->helpchan, hs_user->handle, NULL)) {
! return;
}
}
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_EMPTYALERT, hs->helpchan->name);
if (hs->intervals[INTERVAL_EMPTY_INTERVAL]) {
--- 2014,2027 ----
if (find_handle_in_channel(hs->helpchan, hs_user->handle, NULL)) {
! if (hs_user->level >= HlHelper) return;
! num_trials++;
}
}
! if (num_trials) {
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_ONLYTRIALALERT, hs->helpchan->name, num_trials, (num_trials == 1 ? "" : "s"));
! } else {
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_EMPTYALERT, hs->helpchan->name);
! }
if (hs->intervals[INTERVAL_EMPTY_INTERVAL]) {
***************
*** 3575,3587 ****
helpserv_define_func("HELP", cmd_help, HlNone, CMD_NOT_OVERRIDE|CMD_IGNORE_EVENT);
helpserv_define_func("VERSION", cmd_version, HlNone, CMD_NOT_OVERRIDE|CMD_IGNORE_EVENT);
! helpserv_define_func("LIST", cmd_list, HlHelper, CMD_NEED_BOT|CMD_IGNORE_EVENT);
! helpserv_define_func("NEXT", cmd_next, HlHelper, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("PICKUP", cmd_pickup, HlHelper, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
helpserv_define_func("REASSIGN", cmd_reassign, HlManager, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("CLOSE", cmd_close, HlHelper, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("SHOW", cmd_show, HlHelper, CMD_NEED_BOT|CMD_IGNORE_EVENT);
! helpserv_define_func("ADDNOTE", cmd_addnote, HlHelper, CMD_NEED_BOT);
helpserv_define_func("ADDOWNER", cmd_addowner, HlOper, CMD_NEED_BOT|CMD_FROM_OPSERV_ONLY);
helpserv_define_func("DELOWNER", cmd_deluser, HlOper, CMD_NEED_BOT|CMD_FROM_OPSERV_ONLY);
helpserv_define_func("ADDHELPER", cmd_addhelper, HlManager, CMD_NEED_BOT);
helpserv_define_func("ADDMANAGER", cmd_addmanager, HlOwner, CMD_NEED_BOT);
--- 3588,3601 ----
helpserv_define_func("HELP", cmd_help, HlNone, CMD_NOT_OVERRIDE|CMD_IGNORE_EVENT);
helpserv_define_func("VERSION", cmd_version, HlNone, CMD_NOT_OVERRIDE|CMD_IGNORE_EVENT);
! helpserv_define_func("LIST", cmd_list, HlTrial, CMD_NEED_BOT|CMD_IGNORE_EVENT);
! helpserv_define_func("NEXT", cmd_next, HlTrial, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("PICKUP", cmd_pickup, HlTrial, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
helpserv_define_func("REASSIGN", cmd_reassign, HlManager, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("CLOSE", cmd_close, HlTrial, CMD_NEED_BOT|CMD_NEVER_FROM_OPSERV);
! helpserv_define_func("SHOW", cmd_show, HlTrial, CMD_NEED_BOT|CMD_IGNORE_EVENT);
! helpserv_define_func("ADDNOTE", cmd_addnote, HlTrial, CMD_NEED_BOT);
helpserv_define_func("ADDOWNER", cmd_addowner, HlOper, CMD_NEED_BOT|CMD_FROM_OPSERV_ONLY);
helpserv_define_func("DELOWNER", cmd_deluser, HlOper, CMD_NEED_BOT|CMD_FROM_OPSERV_ONLY);
+ helpserv_define_func("ADDTRIAL", cmd_addtrial, HlManager, CMD_NEED_BOT);
helpserv_define_func("ADDHELPER", cmd_addhelper, HlManager, CMD_NEED_BOT);
helpserv_define_func("ADDMANAGER", cmd_addmanager, HlOwner, CMD_NEED_BOT);
***************
*** 3589,3595 ****
helpserv_define_func("HELPERS", cmd_helpers, HlNone, CMD_NEED_BOT);
helpserv_define_func("CLVL", cmd_clvl, HlOwner, CMD_NEED_BOT);
! helpserv_define_func("PAGE", cmd_page, HlHelper, CMD_NEED_BOT);
helpserv_define_func("SET", cmd_set, HlHelper, CMD_NEED_BOT);
! helpserv_define_func("STATS", cmd_stats, HlHelper, CMD_NEED_BOT);
helpserv_define_func("STATSREPORT", cmd_statsreport, HlManager, CMD_NEED_BOT);
helpserv_define_func("UNREGISTER", cmd_unregister, HlOwner, CMD_NEED_BOT);
--- 3603,3609 ----
helpserv_define_func("HELPERS", cmd_helpers, HlNone, CMD_NEED_BOT);
helpserv_define_func("CLVL", cmd_clvl, HlOwner, CMD_NEED_BOT);
! helpserv_define_func("PAGE", cmd_page, HlTrial, CMD_NEED_BOT);
helpserv_define_func("SET", cmd_set, HlHelper, CMD_NEED_BOT);
! helpserv_define_func("STATS", cmd_stats, HlTrial, CMD_NEED_BOT);
helpserv_define_func("STATSREPORT", cmd_statsreport, HlManager, CMD_NEED_BOT);
helpserv_define_func("UNREGISTER", cmd_unregister, HlOwner, CMD_NEED_BOT);
|