本文整理汇总了C++中command_success_nodata函数的典型用法代码示例。如果您正苦于以下问题:C++ command_success_nodata函数的具体用法?C++ command_success_nodata怎么用?C++ command_success_nodata使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了command_success_nodata函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ns_cmd_set_nevergroup
/* SET NEVERGROUP <ON|OFF> */
static void ns_cmd_set_nevergroup(sourceinfo_t *si, int parc, char *parv[])
{
char *params = parv[0];
if (!params)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "NEVERGROUP");
return;
}
if (!strcasecmp("ON", params))
{
if (MU_NEVERGROUP & si->smu->flags)
{
command_fail(si, fault_nochange, _("The \2%s\2 flag is already set for account \2%s\2."), "NEVERGROUP", entity(si->smu)->name);
return;
}
logcommand(si, CMDLOG_SET, "SET:NEVERGROUP:ON");
si->smu->flags |= MU_NEVERGROUP;
command_success_nodata(si, _("The \2%s\2 flag has been set for account \2%s\2."), "NEVERGROUP", entity(si->smu)->name);
return;
}
else if (!strcasecmp("OFF", params))
{
if (!(MU_NEVERGROUP & si->smu->flags))
{
command_fail(si, fault_nochange, _("The \2%s\2 flag is not set for account \2%s\2."), "NEVERGROUP", entity(si->smu)->name);
return;
}
logcommand(si, CMDLOG_SET, "SET:NEVERGROUP:OFF");
si->smu->flags &= ~MU_NEVERGROUP;
command_success_nodata(si, _("The \2%s\2 flag has been removed for account \2%s\2."), "NEVERGROUP", entity(si->smu)->name);
return;
}
else
{
command_fail(si, fault_badparams, STR_INVALID_PARAMS, "NEVERGROUP");
return;
}
}
开发者ID:Canternet,项目名称:atheme,代码行数:51,代码来源:set_nevergroup.c
示例2: gs_cmd_set_email
static void gs_cmd_set_email(sourceinfo_t *si, int parc, char *parv[])
{
mygroup_t *mg;
char *mail = parv[1];
if (!(mg = mygroup_find(parv[0])))
{
command_fail(si, fault_nosuch_target, _("Group \2%s\2 does not exist."), parv[0]);
return;
}
if (si->smu == NULL)
{
command_fail(si, fault_noprivs, _("You are not logged in."));
return;
}
if (!groupacs_sourceinfo_has_flag(mg, si, GA_SET))
{
command_fail(si, fault_noprivs, _("You are not authorized to execute this command."));
return;
}
if (!mail || !strcasecmp(mail, "NONE") || !strcasecmp(mail, "OFF"))
{
if (metadata_find(mg, "email"))
{
metadata_delete(mg, "email");
command_success_nodata(si, _("The e-mail address for group \2%s\2 was deleted."), entity(mg)->name);
logcommand(si, CMDLOG_SET, "SET:EMAIL:NONE: \2%s\2", entity(mg)->name);
return;
}
command_fail(si, fault_nochange, _("The e-mail address for group \2%s\2 was not set."), entity(mg)->name);
return;
}
if (!validemail(mail))
{
command_fail(si, fault_badparams, _("\2%s\2 is not a valid e-mail address."), mail);
return;
}
/* we'll overwrite any existing metadata */
metadata_add(mg, "email", mail);
logcommand(si, CMDLOG_SET, "SET:EMAIL: \2%s\2 \2%s\2", entity(mg)->name, mail);
command_success_nodata(si, _("The e-mail address for group \2%s\2 has been set to \2%s\2."), parv[0], mail);
}
开发者ID:Cloudxtreme,项目名称:atheme-6.0,代码行数:49,代码来源:set.c
示例3: bs_cmd_set_fantasy
static void
bs_cmd_set_fantasy(struct sourceinfo *si, int parc, char *parv[])
{
char *channel = parv[0];
char *option = parv[1];
struct mychan *mc;
struct metadata *md;
if (parc < 2 || !channel || !option)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "SET FANTASY");
command_fail(si, fault_needmoreparams, _("Syntax: SET <#channel> FANTASY {ON|OFF}"));
return;
}
mc = mychan_find(channel);
if (!mc)
{
command_fail(si, fault_nosuch_target, STR_IS_NOT_REGISTERED, channel);
return;
}
if (!chanacs_source_has_flag(mc, si, CA_SET))
{
command_fail(si, fault_noprivs, STR_NOT_AUTHORIZED);
return;
}
if (!irccasecmp(option, "ON"))
{
if ((md = metadata_find(mc, "private:botserv:bot-assigned")) != NULL)
metadata_add(mc, "private:botserv:bot-handle-fantasy", md->value);
logcommand(si, CMDLOG_SET, "SET:FANTASY:ON: \2%s\2", mc->name);
command_success_nodata(si, _("Fantasy mode is now \2ON\2 on channel %s."), mc->name);
}
else if(!irccasecmp(option, "OFF"))
{
metadata_delete(mc, "private:botserv:bot-handle-fantasy");
logcommand(si, CMDLOG_SET, "SET:FANTASY:OFF: \2%s\2", mc->name);
command_success_nodata(si, _("Fantasy mode is now \2OFF\2 on channel %s."), mc->name);
}
else
{
command_fail(si, fault_badparams, STR_INVALID_PARAMS, "SET FANTASY");
command_fail(si, fault_badparams, _("Syntax: SET <#channel> FANTASY {ON|OFF}"));
}
}
开发者ID:atheme,项目名称:atheme,代码行数:49,代码来源:set_fantasy.c
示例4: gs_cmd_set_joinflags
static void gs_cmd_set_joinflags(sourceinfo_t *si, int parc, char *parv[])
{
mygroup_t *mg;
char *joinflags = parv[1];
unsigned int flags = 0;
if (!(mg = mygroup_find(parv[0])))
{
command_fail(si, fault_nosuch_target, _("Group \2%s\2 does not exist."), parv[0]);
return;
}
if (!groupacs_sourceinfo_has_flag(mg, si, GA_SET))
{
command_fail(si, fault_noprivs, STR_NOT_AUTHORIZED);
return;
}
if (!joinflags || !strcasecmp("OFF", joinflags) || !strcasecmp("NONE", joinflags))
{
/* not in a namespace to allow more natural use of SET PROPERTY.
* they may be able to introduce spaces, though. c'est la vie.
*/
if (metadata_find(mg, "joinflags"))
{
metadata_delete(mg, "joinflags");
logcommand(si, CMDLOG_SET, "SET:JOINFLAGS:NONE: \2%s\2", entity(mg)->name);
command_success_nodata(si, _("The group-specific join flags for \2%s\2 have been cleared."), parv[0]);
return;
}
command_fail(si, fault_nochange, _("Join flags for \2%s\2 were not set."), parv[0]);
return;
}
if (!strncasecmp(joinflags, "-", 1))
{
command_fail(si, fault_badparams, _("You can't set join flags to be removed."));
return;
}
flags = gs_flags_parser(joinflags, 0, flags);
/* we'll overwrite any existing metadata */
metadata_add(mg, "joinflags", number_to_string(flags));
logcommand(si, CMDLOG_SET, "SET:JOINFLAGS: \2%s\2 \2%s\2", entity(mg)->name, joinflags);
command_success_nodata(si, _("The join flags of \2%s\2 have been set to \2%s\2."), parv[0], joinflags);
}
开发者ID:Cloudxtreme,项目名称:shalture,代码行数:49,代码来源:set_joinflags.c
示例5: os_cmd_connavg
static void os_cmd_connavg(sourceinfo_t *si, int parc, char *parv[])
{
command_success_nodata(si, _("Connections in the last minute: %d"), s.connections);
if (s.peak_time != 0)
command_success_nodata(si, _("Peak connections: %d (Reached %s ago)"), s.peak_conn, time_ago(s.peak_time));
command_success_nodata(si, _("Configuration alert level: %d"), safe_connections);
if (s.alert_time != 0)
command_success_nodata(si, _("Alert peak last broken: %s ago"), time_ago(s.alert_time));
else
command_success_nodata(si, _("Alert peak last broken: never"));
logcommand(si, CMDLOG_GET, "CONNAVG");
}
开发者ID:alyx,项目名称:atheme-defender,代码行数:15,代码来源:connavg.c
示例6: ns_cmd_set_emailmemos
/* SET EMAILMEMOS [ON|OFF] */
static void ns_cmd_set_emailmemos(sourceinfo_t *si, int parc, char *parv[])
{
char *params = parv[0];
if (!params)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "EMAILMEMOS");
return;
}
if (!strcasecmp("ON", params))
{
if (me.mta == NULL)
{
command_fail(si, fault_emailfail, _("Sending email is administratively disabled."));
return;
}
if (MU_EMAILMEMOS & si->smu->flags)
{
command_fail(si, fault_nochange, _("The \2%s\2 flag is already set for account \2%s\2."), "EMAILMEMOS", entity(si->smu)->name);
return;
}
logcommand(si, CMDLOG_SET, "SET:EMAILMEMOS:ON");
si->smu->flags |= MU_EMAILMEMOS;
command_success_nodata(si, _("The \2%s\2 flag has been set for account \2%s\2."), "EMAILMEMOS", entity(si->smu)->name);
return;
}
else if (!strcasecmp("OFF", params))
{
if (!(MU_EMAILMEMOS & si->smu->flags))
{
command_fail(si, fault_nochange, _("The \2%s\2 flag is not set for account \2%s\2."), "EMAILMEMOS", entity(si->smu)->name);
return;
}
logcommand(si, CMDLOG_SET, "SET:EMAILMEMOS:OFF");
si->smu->flags &= ~MU_EMAILMEMOS;
command_success_nodata(si, _("The \2%s\2 flag has been removed for account \2%s\2."), "EMAILMEMOS", entity(si->smu)->name);
return;
}
else
{
command_fail(si, fault_badparams, STR_INVALID_PARAMS, "EMAILMEMOS");
return;
}
}
开发者ID:Cloudxtreme,项目名称:shalture,代码行数:49,代码来源:set_emailmemos.c
示例7: os_cmd_set_akicktime
static void os_cmd_set_akicktime(sourceinfo_t *si, int parc, char *parv[])
{
char *minutes = parv[0];
if (!minutes)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "AKICKTIME");
command_fail(si, fault_needmoreparams, _("Syntax: SET AKICKTIME <minutes>"));
return;
}
int value = atoi(minutes);
if (value < 0)
{
command_fail(si, fault_badparams, _("AKICKTIME must be a positive integer, %s is invalid"), minutes);
return;
}
else
{
unsigned int realvalue = value * 60;
chansvs.akick_time = realvalue;
command_success_nodata(si, "AKICKTIME has been successfully set to %s minutes.", minutes);
logcommand(si, CMDLOG_ADMIN, "SET:AKICKTIME: \2%s\2", minutes);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:26,代码来源:set.c
示例8: os_cmd_set_maxfounders
static void os_cmd_set_maxfounders(sourceinfo_t *si, int parc, char *parv[])
{
char *founders = parv[0];
if (!founders)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "MAXFOUNDERS");
command_fail(si, fault_needmoreparams, _("Syntax: SET MAXFOUNDERS <value>"));
return;
}
int value = atoi(founders);
/* Yes, I know how arbitrary the high value is, this is what it is in confprocess.c
* (I rounded it down though) -- JD
*/
if (value < 1 || value > 41)
{
command_fail(si, fault_badparams, _("%s is invalid for MAXFOUNDERS value."), founders);
return;
}
else
{
chansvs.maxfounders = value;
command_success_nodata(si, "MAXFOUNDERS has been successfully set to %s.", founders);
logcommand(si, CMDLOG_ADMIN, "SET:MAXFOUNDERS: \2%s\2", founders);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:28,代码来源:set.c
示例9: os_cmd_set_commitinterval
static void os_cmd_set_commitinterval(sourceinfo_t *si, int parc, char *parv[])
{
char *minutes = parv[0];
if (!minutes)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "COMMITINTERVAL");
command_fail(si, fault_needmoreparams, _("Syntax: SET COMMITINTERVAL <minutes>"));
return;
}
int value = atoi(minutes);
if (value < 0)
{
command_fail(si, fault_badparams, _("COMMITINTERVAL must be a positive integer, %s is invalid"), minutes);
return;
}
else
{
unsigned int realvalue = value * 60;
config_options.commit_interval = realvalue;
command_success_nodata(si, "COMMITINTERVAL has been successfully set to %s minutes.", minutes);
logcommand(si, CMDLOG_ADMIN, "SET:COMMITINTERVAL: \2%s\2", minutes);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:26,代码来源:set.c
示例10: os_cmd_set_klinetime
static void os_cmd_set_klinetime(sourceinfo_t *si, int parc, char *parv[])
{
char *days = parv[0];
if (!days)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "KLINETIME");
command_fail(si, fault_needmoreparams, _("Syntax: SET KLINETIME <days>"));
return;
}
int value = atoi(days);
if (value < 0)
{
command_fail(si, fault_badparams, _("KLINETIME must be a positive integer, %s is invalid"), days);
return;
}
else
{
unsigned int realvalue = value * 24 * 60 * 60;
config_options.kline_time = realvalue;
command_success_nodata(si, "KLINETIME has been successfully set to %s days.", days);
logcommand(si, CMDLOG_ADMIN, "SET:KLINETIME: \2%s\2", days);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:26,代码来源:set.c
示例11: os_cmd_set_mdlimit
static void os_cmd_set_mdlimit(sourceinfo_t *si, int parc, char *parv[])
{
char *limit = parv[0];
if (!limit)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "MDLIMIT");
command_fail(si, fault_needmoreparams, _("Syntax: SET MDLIMIT <value>"));
return;
}
int value = atoi(limit);
if (value < 1 || value > INT_MAX)
{
command_fail(si, fault_badparams, _("%s is invalid for MDLIMIT value."), limit);
return;
}
else
{
me.mdlimit = value;
command_success_nodata(si, "MDLIMIT has been successfully set to %s.", limit);
logcommand(si, CMDLOG_ADMIN, "SET:MDLIMIT: \2%s\2", limit);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:25,代码来源:set.c
示例12: os_cmd_set_recontime
static void os_cmd_set_recontime(sourceinfo_t *si, int parc, char *parv[])
{
char *recontime = parv[0];
if (!recontime)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "RECONTIME");
command_fail(si, fault_needmoreparams, _("Syntax: SET RECONTIME <seconds>"));
return;
}
int value = atoi(recontime);
if (value < 0)
{
command_fail(si, fault_badparams, _("RECONTIME must be a positive integer, %s is invalid"), recontime);
return;
}
else
{
me.recontime = value;
command_success_nodata(si, "RECONTIME has been successfully set to %s seconds.", recontime);
logcommand(si, CMDLOG_ADMIN, "SET:RECONTIME: \2%s\2", recontime);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:25,代码来源:set.c
示例13: funserv_cmd_requestbot
static void funserv_cmd_requestbot(sourceinfo_t *si, int parc, char *parv[])
{
char *name = parv[0];
mychan_t *mc;
if (!name)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "REQUESTBOT");
command_fail(si, fault_needmoreparams, _("Syntax: REQUESTBOT <#channel>"));
}
if (*name != '#')
{
command_fail(si, fault_needmoreparams, STR_INVALID_PARAMS, "REQUESTBOT");
command_fail(si, fault_needmoreparams, _("Syntax: REQUESTBOT <#channel>"));
}
if (!(mc = mychan_find(name)))
{
command_fail(si, fault_nosuch_target, _("Channel \2%s\2 is not registered."), name);
return;
}
if (!is_founder(mc, entity(si->smu)))
{
command_fail(si, fault_noprivs, _("You are not authorized to perform this operation."));
return;
}
myuser_notice(funserv->nick, myuser_find_ext(BOTNAME), "JOIN %s", name);
command_success_nodata(si, "The bot should now be in %s.", name);
}
开发者ID:RobRoseKnows,项目名称:cod,代码行数:33,代码来源:funserv.c
示例14: os_cmd_set_nickexpire
static void os_cmd_set_nickexpire(sourceinfo_t *si, int parc, char *parv[])
{
char *days = parv[0];
if (!days)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "NICKEXPIRE");
command_fail(si, fault_needmoreparams, _("Syntax: SET NICKEXPIRE <days>"));
return;
}
int value = atoi(days);
if (value < 0)
{
command_fail(si, fault_badparams, _("NICKEXPIRE must be a positive integer, %s is invalid"), days);
return;
}
else
{
unsigned int realvalue = value * 24 * 60 * 60;
nicksvs.expiry = realvalue;
command_success_nodata(si, "NICKEXPIRE has been successfully set to %s days.", days);
logcommand(si, CMDLOG_ADMIN, "SET:NICKEXPIRE: \2%s\2", days);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:26,代码来源:set.c
示例15: ns_cmd_listownmail
static void ns_cmd_listownmail(sourceinfo_t *si, int parc, char *parv[])
{
struct listmail_state state;
if (si->smu == NULL)
{
command_fail(si, fault_noprivs, _("You are not logged in."));
return;
}
if (si->smu->flags & MU_WAITAUTH)
{
command_fail(si, fault_noprivs, _("You have to verify your email address before you can perform this operation."));
return;
}
command_add_flood(si, FLOOD_HEAVY);
state.matches = 0;
state.pattern = si->smu->email;
state.origin = si;
myentity_foreach_t(ENT_USER, listmail_foreach_cb, &state);
logcommand(si, CMDLOG_GET, "LISTOWNMAIL: \2%s\2 (\2%d\2 matches)", si->smu->email, state.matches);
command_success_nodata(si, ngettext(N_("\2%d\2 match for e-mail address \2%s\2"),
N_("\2%d\2 matches for e-mail address \2%s\2"), state.matches), state.matches, si->smu->email);
}
开发者ID:carriercomm,项目名称:blitzed-atheme,代码行数:27,代码来源:listownmail.c
示例16: gs_cmd_leave
static void gs_cmd_leave(sourceinfo_t *si, int parc, char *parv[])
{
mygroup_t *mg;
if (!parv[0])
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "LEAVE");
command_fail(si, fault_needmoreparams, _("Syntax: LEAVE <!groupname>"));
return;
}
if (!(mg = mygroup_find(parv[0])))
{
command_fail(si, fault_alreadyexists, _("Group \2%s\2 does not exist."), parv[0]);
return;
}
if (!groupacs_sourceinfo_has_flag(mg, si, 0))
{
command_fail(si, fault_nosuch_target, _("You are not a member of group \2%s\2."), parv[0]);
return;
}
groupacs_delete(mg, entity(si->smu));
command_success_nodata(si, _("You are not longer a member of group \2%s\2."), entity(mg)->name);
}
开发者ID:E-werd,项目名称:shalture,代码行数:26,代码来源:leave.c
示例17: cs_cmd_devoice
static void cs_cmd_devoice(sourceinfo_t *si, int parc, char *parv[])
{
char *chan = parv[0];
char *nick = parv[1];
mychan_t *mc;
user_t *tu;
chanuser_t *cu;
if (!chan)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "DEVOICE");
command_fail(si, fault_needmoreparams, _("Syntax: DEVOICE <#channel> [nickname]"));
return;
}
mc = mychan_find(chan);
if (!mc)
{
command_fail(si, fault_nosuch_target, _("Channel \2%s\2 is not registered."), chan);
return;
}
if (!chanacs_source_has_flag(mc, si, CA_VOICE))
{
command_fail(si, fault_noprivs, _("You are not authorized to perform this operation."));
return;
}
/* figure out who we're going to devoice */
if (!nick)
tu = si->su;
else
{
if (!(tu = user_find_named(nick)))
{
command_fail(si, fault_nosuch_target, _("\2%s\2 is not online."), nick);
return;
}
}
if (is_internal_client(tu))
return;
cu = chanuser_find(mc->chan, tu);
if (!cu)
{
command_fail(si, fault_nosuch_target, _("\2%s\2 is not on \2%s\2."), tu->nick, mc->name);
return;
}
modestack_mode_param(chansvs.nick, mc->chan, MTYPE_DEL, 'v', CLIENT_NAME(tu));
cu->modes &= ~CSTATUS_VOICE;
if (si->c == NULL && tu != si->su)
change_notify(chansvs.nick, tu, "You have been devoiced on %s by %s", mc->name, get_source_name(si));
logcommand(si, CMDLOG_DO, "DEVOICE: \2%s!%[email protected]%s\2 on \2%s\2", tu->nick, tu->user, tu->vhost, mc->name);
if (!chanuser_find(mc->chan, si->su))
command_success_nodata(si, _("\2%s\2 has been devoiced on \2%s\2."), tu->nick, mc->name);
}
开发者ID:Cloudxtreme,项目名称:atheme-6.0,代码行数:60,代码来源:voice.c
示例18: gs_cmd_fdrop
static void gs_cmd_fdrop(sourceinfo_t *si, int parc, char *parv[])
{
mygroup_t *mg;
char *name = parv[0];
if (!name)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "DROP");
command_fail(si, fault_needmoreparams, _("Syntax: DROP <!group>"));
return;
}
if (*name != '!')
{
command_fail(si, fault_badparams, STR_INVALID_PARAMS, "DROP");
command_fail(si, fault_badparams, _("Syntax: DROP <!group>"));
return;
}
if (!(mg = mygroup_find(name)))
{
command_fail(si, fault_nosuch_target, _("Group \2%s\2 does not exist."), name);
return;
}
remove_group_chanacs(mg);
hook_call_group_drop(mg);
logcommand(si, CMDLOG_ADMIN | LG_REGISTER, "FDROP: \2%s\2", entity(mg)->name);
wallops("%s dropped the group \2%s\2", get_oper_name(si), name);
command_success_nodata(si, _("The group \2%s\2 has been dropped."), entity(mg)->name);
object_unref(mg);
return;
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:33,代码来源:fdrop.c
示例19: cs_cmd_invite
static void
cs_cmd_invite(struct sourceinfo *si, int parc, char *parv[])
{
char *chan = parv[0];
struct mychan *mc;
if (si->su == NULL)
{
command_fail(si, fault_noprivs, STR_IRC_COMMAND_ONLY, "INVITE");
return;
}
/* This command is not useful if the user is already in the channel,
* ignore it if it is a fantasy command so users can program bots to
* react on it without interference from ChanServ.
*/
if (si->c != NULL)
return;
if (!chan)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "INVITE");
command_fail(si, fault_needmoreparams, _("Syntax: INVITE <#channel>"));
return;
}
if (!(mc = mychan_find(chan)))
{
command_fail(si, fault_nosuch_target, STR_IS_NOT_REGISTERED, chan);
return;
}
if (metadata_find(mc, "private:close:closer"))
{
command_fail(si, fault_noprivs, STR_CHANNEL_IS_CLOSED, chan);
return;
}
if (!chanacs_source_has_flag(mc, si, CA_INVITE))
{
command_fail(si, fault_noprivs, STR_NOT_AUTHORIZED);
return;
}
if (!mc->chan)
{
command_fail(si, fault_nosuch_target, STR_CHANNEL_IS_EMPTY, mc->name);
return;
}
if (chanuser_find(mc->chan, si->su))
{
command_fail(si, fault_noprivs, _("You're already on \2%s\2."), mc->name);
return;
}
invite_sts(si->service->me, si->su, mc->chan);
logcommand(si, CMDLOG_DO, "INVITE: \2%s\2", mc->name);
command_success_nodata(si, _("You have been invited to \2%s\2."), mc->name);
}
开发者ID:atheme,项目名称:atheme,代码行数:60,代码来源:invite.c
示例20: os_cmd_set_maxchanacs
static void os_cmd_set_maxchanacs(sourceinfo_t *si, int parc, char *parv[])
{
char *chanacs = parv[0];
if (!chanacs)
{
command_fail(si, fault_needmoreparams, STR_INSUFFICIENT_PARAMS, "MAXCHANACS");
command_fail(si, fault_needmoreparams, _("Syntax: SET MAXCHANACS <value>"));
return;
}
int value = atoi(chanacs);
if (value < 0 || value > INT_MAX)
{
command_fail(si, fault_badparams, _("%s is invalid for MAXCHANACS value."), chanacs);
return;
}
else
{
chansvs.maxchanacs = value;
command_success_nodata(si, "MAXCHANACS has been successfully set to %s.", chanacs);
logcommand(si, CMDLOG_ADMIN, "SET:MAXCHANACS: \2%s\2", chanacs);
}
}
开发者ID:ChatLounge,项目名称:ChatServices,代码行数:25,代码来源:set.c
注:本文中的command_success_nodata函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论