X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fopserv.c;fp=src%2Fopserv.c;h=e81b7840c2d821945f44d762df0513b17d480a21;hb=03eb826ca8a7b85b90f768587e98afe312883e44;hp=2776e5a05e2d185058dbb0651f6a30f77ca1e9d9;hpb=c3096a913619c5a057a102dd2b7eacba74b9c1cc;p=srvx.git diff --git a/src/opserv.c b/src/opserv.c index 2776e5a..e81b784 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -297,6 +297,7 @@ static const struct message_entry msgtab[] = { { "OSMSG_DEVNULL_SET_M", "OverrideNoAmsg: %s" }, { "OSMSG_DEVNULL_SET_N", "MaxSendQ: %s" }, { "OSMSG_DEVNULL_SET_N_i", "MaxSendQ: %i" }, + { "OSMSG_DEVNULL_SET_OPME", "OpMe: %s" }, { "OSMSG_DEVNULL_SET_DONE", "Done." }, { "OSMSG_DEVNULL_RENAMED", "Devnull class %s renamed to %s" }, { "OSMSG_DEVNULL_SET_INVALID", "Invalid Option for setting %s" }, @@ -4271,7 +4272,7 @@ static MODCMD_FUNC(cmd_listdevnull) count++; } tbl.length = count+1; - tbl.width = 14; + tbl.width = 15; tbl.flags = 0; tbl.flags = TABLE_NO_FREE; tbl.contents = malloc(tbl.length * sizeof(tbl.contents[0])); @@ -4290,6 +4291,7 @@ static MODCMD_FUNC(cmd_listdevnull) tbl.contents[0][11] = "+S"; tbl.contents[0][12] = "+X"; tbl.contents[0][13] = "MaxQ"; + tbl.contents[0][14] = "OpMe"; if(!count) { table_send(cmd->parent->bot, user->nick, 0, NULL, tbl); @@ -4369,6 +4371,11 @@ static MODCMD_FUNC(cmd_listdevnull) } else { tbl.contents[ii][13] = off; } + if(DEVNULL_FLAGGED(th, MODE_OPME)) { + tbl.contents[ii][14] = on; + } else { + tbl.contents[ii][14] = off; + } } table_send(cmd->parent->bot, user->nick, 0, NULL, tbl); for(ii = 1; ii < tbl.length; ++ii) @@ -4405,6 +4412,7 @@ static MODCMD_FUNC(cmd_listdevnull) send_message_type(4, user, opserv,"+k = ChanServ Mode (mode +k)"); send_message_type(4, user, opserv,"+S = NetServ Mode (mode +S)"); send_message_type(4, user, opserv,"+X = XtraOp Mode (mode +X)"); + send_message_type(4, user, opserv,"OpMe = ChanServ opme command"); return 1; } @@ -4612,6 +4620,17 @@ static MODCMD_FUNC(cmd_setdevnull) th->maxsendq = strtoul(argv[offset+3], NULL, 0); reply("OSMSG_DEVNULL_SET_DONE"); } + } + else if(!strcmp("OPME",argv[offset+2])) { + if (!strcmp("OFF",argv[offset+3]) || !strcmp("0",argv[offset+3])) { + DEVNULL_CLEAR_FLAG(th, MODE_OPME); + reply("OSMSG_DEVNULL_SET_DONE"); + } else if (!strcmp("ON",argv[offset+3]) || !strcmp("1",argv[offset+3])) { + DEVNULL_SET_FLAG(th, MODE_OPME); + reply("OSMSG_DEVNULL_SET_DONE"); + } else { + reply("OSMSG_DEVNULL_SET_INVALID", argv[offset+3]); + } } else { reply("OSMSG_DEVNULL_SET_INVALID", argv[offset+2]); } @@ -4685,6 +4704,11 @@ static MODCMD_FUNC(cmd_setdevnull) } else { reply("OSMSG_DEVNULL_SET_N", "off"); } + if(DEVNULL_FLAGGED(th, MODE_OPME)) { + reply("OSMSG_DEVNULL_SET_OPME", "on"); + } else { + reply("OSMSG_DEVNULL_SET_OPME", "off"); + } } } else { reply("OSMSG_DEVNULL_NOTFOUND", argv[offset+1]);