您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CMD_IRC_SERVER函数代码示例

51自学网 2021-06-01 20:02:47
  C++
这篇教程C++ CMD_IRC_SERVER函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CMD_IRC_SERVER函数的典型用法代码示例。如果您正苦于以下问题:C++ CMD_IRC_SERVER函数的具体用法?C++ CMD_IRC_SERVER怎么用?C++ CMD_IRC_SERVER使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CMD_IRC_SERVER函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: command_2self

static void command_2self(const char *data, IRC_SERVER_REC *server){	char *target, *text;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &target, &text))		return;	if (*target == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	irc_send_cmdv(server, "%s %s :%s", current_command, target, text);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:13,


示例2: cmd_op

/* SYNTAX: OP <nicks> */static void cmd_op(const char *data, IRC_SERVER_REC *server,		   WI_ITEM_REC *item){        IRC_CHANNEL_REC *channel;	char *nicks;	CMD_IRC_SERVER(server);	nicks = get_nicks(server, item, data, 0, -1, &channel);	if (nicks != NULL && *nicks != '/0')		channel_set_singlemode(channel, nicks, "+o");	g_free_not_null(nicks);}
开发者ID:svn2github,项目名称:irssi,代码行数:14,


示例3: cmd_wall

/* SYNTAX: WALL [<channel>] <message> */static void cmd_wall(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *channame, *msg, *args, *recoded;	void *free_arg;	IRC_CHANNEL_REC *chanrec;	GSList *tmp, *nicks;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_GETREST, item, &channame, &msg))		return;	if (*msg == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	chanrec = irc_channel_find(server, channame);	if (chanrec == NULL) cmd_param_error(CMDERR_CHAN_NOT_FOUND);	/* See if the server has advertised support of wallchops */	if (g_hash_table_lookup(chanrec->server->isupport, "statusmsg") ||	    g_hash_table_lookup(chanrec->server->isupport, "wallchops"))		irc_send_cmdv(server, "NOTICE @%s :%s", chanrec->name, msg);	else {		/* Fall back to manually noticing each op */		nicks = NULL;		g_hash_table_foreach(chanrec->nicks,				     (GHFunc) cmd_wall_hash, &nicks);		args = g_strconcat(chanrec->name, " ", msg, NULL);		msg = parse_special_string(settings_get_str("wall_format"),					   SERVER(server), item, args, NULL, 0);		g_free(args);		recoded = recode_out(SERVER(server), msg, channame);		for (tmp = nicks; tmp != NULL; tmp = tmp->next) {			NICK_REC *rec = tmp->data;			if (rec != chanrec->ownnick) {				irc_send_cmdv(server, "NOTICE %s :%s",					      rec->nick, recoded);			}		}		g_free(recoded);		g_free(msg);		g_slist_free(nicks);	}	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:51,


示例4: cmd_server_purge

/* SYNTAX: SERVER PURGE [<target>] */static void cmd_server_purge(const char *data, IRC_SERVER_REC *server){        char *target;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 1, &target))		return;	irc_server_purge_output(server, *target == '/0' ? NULL : target);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:15,


示例5: cmd_oper

/* SYNTAX: OPER [<nick> [<password>]] */static void cmd_oper(const char *data, IRC_SERVER_REC *server){	char *nick, *password;	void *free_arg;        CMD_IRC_SERVER(server);        /* asking for password is handled by fe-common */	if (!cmd_get_params(data, &free_arg, 2, &nick, &password))		return;        if (*password == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	irc_send_cmdv(server, "OPER %s %s", nick, password);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:16,


示例6: cmd_ver

/* SYNTAX: VER [<nick> | <channel> | *] */static void cmd_ver(gchar *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *str;	g_return_if_fail(data != NULL);        CMD_IRC_SERVER(server);	if (*data == '/0' && !IS_QUERY(item))		cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS);	str = g_strdup_printf("%s VERSION", *data == '/0' ?			      window_item_get_target(item) : data);	signal_emit("command ctcp", 3, str, server, item);	g_free(str);}
开发者ID:Liaf,项目名称:irssi,代码行数:16,


示例7: cmd_wallchops

/* SYNTAX: WALLCHOPS <channel> <message> */static void cmd_wallchops(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *channame, *msg;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_GETREST, item, &channame, &msg))		return;	if (*msg == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	irc_send_cmdv(server, "WALLCHOPS %s :%s", channame, msg);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:17,


示例8: cmd_wallchops

static void cmd_wallchops(const char *data, IRC_SERVER_REC *server,			  WI_ITEM_REC *item){	char *channame, *msg;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_GETREST, item, &channame, &msg))		return;	if (*msg == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	signal_emit("message irc own_wall", 3, server, msg, channame);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:17,


示例9: cmd_kickban

/* SYNTAX: KICKBAN [<channel>] <nicks> <reason> */static void cmd_kickban(const char *data, IRC_SERVER_REC *server,			WI_ITEM_REC *item){        IRC_CHANNEL_REC *chanrec;	char *channel, *nicks, *reason, *kickcmd, *bancmd, *recoded;        char **nicklist, *spacenicks;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_OPTCHAN | PARAM_FLAG_GETREST,			    item, &channel, &nicks, &reason))		return;	if (*channel == '/0' || *nicks == '/0')		cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	chanrec = irc_channel_find(server, channel);	if (chanrec == NULL)		cmd_param_error(CMDERR_CHAN_NOT_FOUND);	if (!chanrec->wholist)		cmd_param_error(CMDERR_CHAN_NOT_SYNCED);	nicklist = g_strsplit(nicks, ",", -1);        spacenicks = g_strjoinv(" ", nicklist);	g_strfreev(nicklist);	recoded = recode_out(SERVER(server), reason, channel);	kickcmd = g_strdup_printf("%s %s %s", chanrec->name, nicks, recoded);	g_free(recoded);	bancmd = g_strdup_printf("%s %s", chanrec->name, spacenicks);        g_free(spacenicks);        if (settings_get_bool("kick_first_on_kickban")) {		signal_emit("command kick", 3, kickcmd, server, chanrec);		signal_emit("command ban", 3, bancmd, server, chanrec);	} else {		signal_emit("command ban", 3, bancmd, server, chanrec);		signal_emit("command kick", 3, kickcmd, server, chanrec);	}	g_free(kickcmd);	g_free(bancmd);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:47,


示例10: cmd_mode

/* SYNTAX: MODE <your nick>|<channel> [<mode> [<mode parameters>]] */static void cmd_mode(const char *data, IRC_SERVER_REC *server,		     IRC_CHANNEL_REC *channel){	IRC_CHANNEL_REC *chanrec;	char *target, *mode;	void *free_arg;        CMD_IRC_SERVER(server);	if (*data == '+' || *data == '-') {		target = "*";		if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_GETREST, &mode))			return;	} else {		if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &target, &mode))			return;	}	if (strcmp(target, "*") == 0) {		if (!IS_IRC_CHANNEL(channel))			cmd_param_error(CMDERR_NOT_JOINED);		target = channel->name;	}	if (*target == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	if (*mode == '/0') {		chanrec = irc_channel_find(server, target);		if (chanrec != NULL)			target = chanrec->name;		irc_send_cmdv(server, "MODE %s", target);	} else if (ischannel(*target))		channel_set_mode(server, target, mode);	else {		if (g_strcasecmp(target, server->nick) == 0) {			server_redirect_event(server, "mode user", 1, target, -1, NULL,					      "event mode", "requested usermode change", NULL);		}		irc_send_cmdv(server, "MODE %s %s", target, mode);	}	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:46,


示例11: cmd_away

/* SYNTAX: AWAY [-one | -all] [<reason>] */static void cmd_away(const char *data, IRC_SERVER_REC *server){	GHashTable *optlist;	char *reason;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS |			    PARAM_FLAG_GETREST, "away", &optlist, &reason)) return;	if (g_hash_table_lookup(optlist, "one") != NULL)		server_send_away(server, reason);	else		g_slist_foreach(servers, (GFunc) server_send_away, reason);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:19,


示例12: cmd_nick

/* SYNTAX: NICK <new nick> */static void cmd_nick(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){        char *nick;	void *free_arg;	g_return_if_fail(data != NULL);        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 1, &nick))		return;	g_free(server->last_nick);	server->last_nick = g_strdup(nick);	irc_send_cmdv(server, "NICK %s", nick);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:19,


示例13: cmd_nctcp

static void cmd_nctcp(const char *data, IRC_SERVER_REC *server,		      WI_ITEM_REC *item){	const char *target, *text;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,			    &target, &text))		return;	if (g_strcmp0(target, "*") == 0)		target = item == NULL ? "" : window_item_get_target(item);	if (*target == '/0' || *text == '/0')		cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	signal_emit("message irc own_notice", 3, server, text, target);	cmd_params_free(free_arg);}
开发者ID:Liaf,项目名称:irssi,代码行数:19,


示例14: cmd_topic

/* SYNTAX: TOPIC [-delete] [<channel>] [<topic>] */static void cmd_topic(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	GHashTable *optlist;	char *channame, *topic;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST,			    item, "topic", &optlist, &channame, &topic))		return;	irc_send_cmdv(server, *topic == '/0' &&		      g_hash_table_lookup(optlist, "delete") == NULL ?		      "TOPIC %s" : "TOPIC %s :%s", channame, topic);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:20,


示例15: cmd_ping

/* SYNTAX: PING [<nick> | <channel> | *] */static void cmd_ping(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	GTimeVal tv;        char *str;        CMD_IRC_SERVER(server);	if (*data == '/0') {		if (!IS_QUERY(item))			cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS);		data = window_item_get_target(item);	}	g_get_current_time(&tv);	str = g_strdup_printf("%s PING %ld %ld", data, tv.tv_sec, tv.tv_usec);	signal_emit("command ctcp", 3, str, server, item);	g_free(str);}
开发者ID:btamada,项目名称:irssi,代码行数:20,


示例16: cmd_kick

/* SYNTAX: KICK [<channel>] <nicks> [<reason>] */static void cmd_kick(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *channame, *nicks, *reason;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_GETREST |			    PARAM_FLAG_OPTCHAN, item,			    &channame, &nicks, &reason))		return;	if (*channame == '/0' || *nicks == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	if (!ischannel(*channame)) cmd_param_error(CMDERR_NOT_JOINED);	g_string_sprintf(tmpstr, "KICK %s %s :%s", channame, nicks, reason);	irc_send_cmd_split(server, tmpstr->str, 3, server->max_kicks_in_cmd);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:21,


示例17: cmd_ping

/* SYNTAX: PING <nicks> */static void cmd_ping(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	GTimeVal tv;        char *str;        CMD_IRC_SERVER(server);	if (*data == '/0' || strcmp(data, "*") == 0) {		if (!IS_IRC_ITEM(item))                        cmd_return_error(CMDERR_NOT_JOINED);		data = item->name;	}	g_get_current_time(&tv);	str = g_strdup_printf("%s PING %ld %ld", data, tv.tv_sec, tv.tv_usec);	signal_emit("command ctcp", 3, str, server, item);	g_free(str);}
开发者ID:svn2github,项目名称:irssi,代码行数:21,


示例18: cmd_invite

/* SYNTAX: INVITE <nick> [<channel>] */static void cmd_invite(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *nick, *channame;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2, &nick, &channame))		return;	if (*nick == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	if (*channame == '/0' || strcmp(channame, "*") == 0) {		if (!IS_IRC_CHANNEL(item))			cmd_param_error(CMDERR_NOT_JOINED);		channame = IRC_CHANNEL(item)->name;	}	irc_send_cmdv(server, "INVITE %s %s", nick, channame);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:22,


示例19: cmd_notice

/* SYNTAX: NOTICE <targets> <message> */static void cmd_notice(const char *data, IRC_SERVER_REC *server,		       WI_ITEM_REC *item){	char *target, *msg;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,			    &target, &msg))		return;	if (strcmp(target, "*") == 0)		target = item == NULL ? NULL : item->name;	if (*target == '/0' || *msg == '/0')		cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	g_string_sprintf(tmpstr, "NOTICE %s :%s", target, msg);	irc_send_cmd_split(server, tmpstr->str, 2, server->max_msgs_in_cmd);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:22,


示例20: cmd_list

/* SYNTAX: LIST [-yes] [<channel>] */static void cmd_list(const char *data, IRC_SERVER_REC *server,		     WI_ITEM_REC *item){	GHashTable *optlist;	char *str;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS |			    PARAM_FLAG_GETREST, "list", &optlist, &str))		return;	if (*str == '/0' && g_hash_table_lookup(optlist, "yes") == NULL &&	    (server->channels_formed <= 0 ||	     server->channels_formed > LIST_MAX_CHANNELS_PASS))		cmd_param_error(CMDERR_NOT_GOOD_IDEA);	irc_send_cmdv(server, "LIST %s", str);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:22,


示例21: cmd_wall

static void cmd_wall(const char *data, IRC_SERVER_REC *server,		     WI_ITEM_REC *item){	IRC_CHANNEL_REC *chanrec;	const char *channame, *msg;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_GETREST, item, &channame, &msg))		return;	if (*msg == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	chanrec = irc_channel_find(server, channame);	if (chanrec == NULL) cmd_param_error(CMDERR_CHAN_NOT_FOUND);	signal_emit("message irc own_wall", 3, server, msg,		    chanrec->visible_name);	cmd_params_free(free_arg);}
开发者ID:Liaf,项目名称:irssi,代码行数:22,


示例22: cmd_ban

/* SYNTAX: BAN [<channel>] [<nicks>] */static void cmd_ban(const char *data, IRC_SERVER_REC *server,		    WI_ITEM_REC *item){	IRC_CHANNEL_REC *chanrec;	char *channel, *nicks;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN | 			    PARAM_FLAG_GETREST | PARAM_FLAG_STRIP_TRAILING_WS,			    item, &channel, &nicks))		return;	if (*nicks != '/0') {		/* setting ban - don't handle here */		cmd_params_free(free_arg);		return;	}	/* display bans */	chanrec = IRC_CHANNEL(item);	if (chanrec == NULL && *channel == '/0')		cmd_param_error(CMDERR_NOT_JOINED);	if (*channel != '/0' && g_strcmp0(channel, "*") != 0)		chanrec = irc_channel_find(server, channel);	if (chanrec == NULL || !chanrec->synced) {		/* not joined to such channel or not yet synced,		   ask ban lists from server */		bans_ask_channel(channel, server, item);	} else {		bans_show_channel(chanrec, server);	}	signal_stop();	cmd_params_free(free_arg);}
开发者ID:Liaf,项目名称:irssi,代码行数:40,


示例23: cmd_me

/* SYNTAX: ME <message> */static void cmd_me(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	const char *target;	char *recoded;        CMD_IRC_SERVER(server);	if (!IS_IRC_ITEM(item))		return;	if (server == NULL || !server->connected)		cmd_return_error(CMDERR_NOT_CONNECTED);	target = window_item_get_target(item);	recoded = recode_out(SERVER(server), data, target);	signal_emit("message irc own_action", 3, server, recoded,		    item->visible_name);	irc_send_cmdv(server, "PRIVMSG %s :/001ACTION %s/001",		      target, recoded);	g_free(recoded);}
开发者ID:svn2github,项目名称:irssi,代码行数:24,


示例24: cmd_nctcp

/* SYNTAX: NCTCP <targets> <ctcp command> [<ctcp data>] */static void cmd_nctcp(const char *data, IRC_SERVER_REC *server,		      WI_ITEM_REC *item){	const char *target;	char *ctcpcmd, *ctcpdata;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_GETREST,			    &target, &ctcpcmd, &ctcpdata))		return;	if (strcmp(target, "*") == 0)		target = item == NULL ? NULL : window_item_get_target(item);	if (*target == '/0' || *ctcpcmd == '/0')		cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	g_strup(ctcpcmd);	g_string_sprintf(tmpstr, "NOTICE %s :/001%s %s/001", target, ctcpcmd, ctcpdata);	irc_send_cmd_split(server, tmpstr->str, 2, server->max_msgs_in_cmd);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:24,


示例25: cmd_part

/* SYNTAX: PART [<channels>] [<message>] */static void cmd_part(const char *data, IRC_SERVER_REC *server,		     WI_ITEM_REC *item){	char *channame, *msg;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST |			    PARAM_FLAG_OPTCHAN, item, &channame, &msg))		return;	if (*channame == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	if (*msg == '/0') msg = (char *) settings_get_str("part_message");        if (server->cmdcount > MAX_COMMANDS_ON_PART_UNTIL_PURGE)		irc_server_purge_output(server, channame);	irc_send_cmdv(server, *msg == '/0' ? "PART %s" : "PART %s :%s",		      channame, msg);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:24,


示例26: cmd_me

/* SYNTAX: ME <message> */static void cmd_me(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	const char *target;	char *subdata;	char **splitdata;	int n = 0;        CMD_IRC_SERVER(server);	if (!IS_IRC_ITEM(item))		return;	if (server == NULL || !server->connected)		cmd_return_error(CMDERR_NOT_CONNECTED);	target = window_item_get_target(item);	splitdata = irc_server_split_action(server, target, data);	while ((subdata = splitdata[n++])) {		irc_server_send_action(server, target, subdata);		signal_emit("message irc own_action", 3, server, subdata,			    item->visible_name);	}	g_strfreev(splitdata);}
开发者ID:Liaf,项目名称:irssi,代码行数:24,


示例27: cmd_wall

/* SYNTAX: WALL [<channel>] <message> */static void cmd_wall(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item){	char *channame, *msg, *args;	void *free_arg;	IRC_CHANNEL_REC *chanrec;	GSList *tmp, *nicks;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |			    PARAM_FLAG_GETREST, item, &channame, &msg))		return;	if (*msg == '/0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);	chanrec = irc_channel_find(server, channame);	if (chanrec == NULL) cmd_param_error(CMDERR_CHAN_NOT_FOUND);	/* send notice to all ops */	nicks = NULL;	g_hash_table_foreach(chanrec->nicks, (GHFunc) cmd_wall_hash, &nicks);	args = g_strconcat(chanrec->name, " ", msg, NULL);	msg = parse_special_string(settings_get_str("wall_format"),				   SERVER(server), item, args, NULL, 0);	g_free(args);	for (tmp = nicks; tmp != NULL; tmp = tmp->next) {		NICK_REC *rec = tmp->data;		if (rec != chanrec->ownnick)			irc_send_cmdv(server, "NOTICE %s :%s", rec->nick, msg);	}	g_free(msg);	g_slist_free(nicks);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:38,


示例28: cmd_whowas

/* SYNTAX: WHOWAS [<nicks> [<count> [server]]] */static void cmd_whowas(const char *data, IRC_SERVER_REC *server){	char *nicks, *rest, *nicks_redir;	void *free_arg;	int free_nick;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &nicks, &rest))		return;	if (*nicks == '/0') nicks = server->nick;	nicks_redir = get_redirect_nicklist(nicks, &free_nick);	server_redirect_event(server, "whowas", 1, nicks_redir, -1, NULL,			      "event 301", "whowas away", /* 301 can come as a reply to /MSG, /WHOIS or /WHOWAS */			      "event 314", "whowas event", NULL);	if (free_nick) g_free(nicks_redir);	server->whowas_found = FALSE;	irc_send_cmdv(server, *rest == '/0' ? "WHOWAS %s" :		      "WHOWAS %s %s", nicks, rest);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:25,


示例29: cmd_notice

static void cmd_notice(const char *data, IRC_SERVER_REC *server,		       WI_ITEM_REC *item){	const char *target, *msg;	char *recoded;	void *free_arg;        CMD_IRC_SERVER(server);	if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,			    &target, &msg))		return;	if (strcmp(target, "*") == 0)		target = item == NULL ? "" : window_item_get_target(item);	if (*target == '/0' || *msg == '/0')		cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);			recoded = recode_out(SERVER(server), msg, target);	signal_emit("message irc own_notice", 3, server, recoded, target);		g_free(recoded);	cmd_params_free(free_arg);}
开发者ID:svn2github,项目名称:irssi,代码行数:24,


示例30: command_self

static void command_self(const char *data, IRC_SERVER_REC *server){        CMD_IRC_SERVER(server);	irc_send_cmdv(server, *data == '/0' ? "%s" : "%s %s", current_command, data);}
开发者ID:svn2github,项目名称:irssi,代码行数:6,



注:本文中的CMD_IRC_SERVER函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CMICMDBASE_GETOPTION函数代码示例
C++ CMDQ_ERR函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。