Пример #1
0
static void event_command(const char *data)
{
    const char *cmdchar;

    /* save current command line */
    current_cmdline = data;

    /* for detecting if we're pasting text */
    time_command_last = time_command_now;
    last_command_cmd = command_cmd;

    g_get_current_time(&time_command_now);
    command_cmd = *data != '\0' &&
                  strchr(settings_get_str("cmdchars"), *data) != NULL;

    /* /^command hides the output of the command */
    cmdchar = *data == '\0' ? NULL :
              strchr(settings_get_str("cmdchars"), *data);
    if (cmdchar != NULL && (data[1] == '^' ||
                            (data[1] == *cmdchar && data[2] == '^'))
            && !command_hide_output++) {
        signal_add_first("print starting", (SIGNAL_FUNC) sig_stop);
        signal_add_first("print format", (SIGNAL_FUNC) sig_stop);
        signal_add_first("print text", (SIGNAL_FUNC) sig_stop);
    }
}
Пример #2
0
void netsplit_init(void)
{
	split_tag = g_timeout_add(1000, (GSourceFunc) split_check_old, NULL);
	signal_add_first("event join", (SIGNAL_FUNC) event_join);
	signal_add_first("event quit", (SIGNAL_FUNC) event_quit);
	signal_add("server disconnected", (SIGNAL_FUNC) sig_disconnected);
}
Пример #3
0
void chatnets_init(void)
{
	chatnets = NULL;

	signal_add_first("event connected", (SIGNAL_FUNC) sig_connected);
	signal_add("setup reread", (SIGNAL_FUNC) read_chatnets);
        signal_add_first("irssi init read settings", (SIGNAL_FUNC) read_chatnets);
}
Пример #4
0
void gui_window_activities_init(void)
{
	signal_add_first("window hilight", (SIGNAL_FUNC) sig_activity);
	signal_add_first("window activity", (SIGNAL_FUNC) sig_activity);

	signal_add("window hilight", (SIGNAL_FUNC) sig_activity_update);
	/* we need to use "window changed", so we can clear activity in
	   all split windows in tab. */
	signal_add("window changed", (SIGNAL_FUNC) sig_activity_update);
}
Пример #5
0
void core_init(void)
{
	dialog_type_queue = NULL;
	dialog_text_queue = NULL;
	client_start_time = time(NULL);

	modules_init();
	pidwait_init();

	net_disconnect_init();
	signals_init();

	signal_add_first("gui dialog", (SIGNAL_FUNC) sig_gui_dialog);
	signal_add_first("irssi init finished", (SIGNAL_FUNC) sig_init_finished);

	settings_init();
	commands_init();
	nickmatch_cache_init();
        session_init();
#ifdef HAVE_CAPSICUM
	capsicum_init();
#endif

	chat_protocols_init();
	chatnets_init();
        expandos_init();
	ignore_init();
	servers_init();
        write_buffer_init();
	log_init();
	log_away_init();
	rawlog_init();
	recode_init();

	channels_init();
	queries_init();
	nicklist_init();

	chat_commands_init();
	wcwidth_wrapper_init();

	settings_add_str("misc", "ignore_signals", "");
	settings_add_bool("misc", "override_coredump_limit", FALSE);

#ifdef HAVE_SYS_RESOURCE_H
	getrlimit(RLIMIT_CORE, &orig_core_rlimit);
#endif
	read_settings();
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);
	signal_add("irssi init finished", (SIGNAL_FUNC) sig_irssi_init_finished);

	settings_check();

        module_register("core", "core");
}
Пример #6
0
void channel_rejoin_init(void)
{
	rejoin_tag = g_timeout_add(REJOIN_TIMEOUT,
				   (GSourceFunc) sig_rejoin, NULL);

	command_bind("rmrejoins", NULL, (SIGNAL_FUNC) cmd_rmrejoins);
	signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable);
	signal_add_first("channel joined", (SIGNAL_FUNC) sig_remove_rejoin);
	signal_add_first("channel destroyed", (SIGNAL_FUNC) sig_remove_rejoin);
	signal_add("server disconnected", (SIGNAL_FUNC) sig_disconnected);
}
Пример #7
0
void
fe_xmpp_messages_init(void)
{
	signal_add("message xmpp history", sig_history);
	signal_add("message xmpp history action", sig_history_action);
	signal_add("message xmpp action", sig_action);
	signal_add("message xmpp own_action", sig_own_action);
	signal_add("message xmpp error", sig_error);
	signal_add_first("message xmpp own_public", sig_message_own_public);
	signal_add_first("message own_public", sig_message_ignore);
}
Пример #8
0
void core_init(int argc, char *argv[])
{
	dialog_type_queue = NULL;
	dialog_text_queue = NULL;

	modules_init();
#ifndef WIN32
	pidwait_init();
#endif

	net_disconnect_init();
	net_sendbuffer_init();
	signals_init();

	signal_add_first("gui dialog", (SIGNAL_FUNC) sig_gui_dialog);
	signal_add_first("irssi init finished", (SIGNAL_FUNC) sig_init_finished);

	settings_init();
	commands_init();
	nickmatch_cache_init();
        session_init();

	chat_protocols_init();
	chatnets_init();
        expandos_init();
	ignore_init();
	servers_init();
        write_buffer_init();
	log_init();
	log_away_init();
	rawlog_init();
	recode_init();

	channels_init();
	queries_init();
	nicklist_init();

	chat_commands_init();

	settings_add_str("misc", "ignore_signals", "");
	settings_add_bool("misc", "override_coredump_limit", TRUE);

#ifdef HAVE_SYS_RESOURCE_H
	getrlimit(RLIMIT_CORE, &orig_core_rlimit);
#endif
	read_settings();
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);
	signal_add("irssi init finished", (SIGNAL_FUNC) sig_irssi_init_finished);

	settings_check();

        module_register("core", "core");
}
Пример #9
0
void fe_ignore_messages_init(void)
{
	signal_add_first("message public", (SIGNAL_FUNC) sig_message_public);
	signal_add_first("message private", (SIGNAL_FUNC) sig_message_private);
	signal_add_first("message join", (SIGNAL_FUNC) sig_message_join);
	signal_add_first("message part", (SIGNAL_FUNC) sig_message_part);
	signal_add_first("message quit", (SIGNAL_FUNC) sig_message_quit);
	signal_add_first("message kick", (SIGNAL_FUNC) sig_message_kick);
	signal_add_first("message nick", (SIGNAL_FUNC) sig_message_nick);
	signal_add_first("message own_nick", (SIGNAL_FUNC) sig_message_own_nick);
	signal_add_first("message invite", (SIGNAL_FUNC) sig_message_invite);
	signal_add_first("message topic", (SIGNAL_FUNC) sig_message_topic);
}
Пример #10
0
void channel_rejoin_init(void)
{
	settings_add_bool("servers", "channels_rejoin_unavailable", TRUE);

	rejoin_tag = g_timeout_add(REJOIN_TIMEOUT,
				   (GSourceFunc) sig_rejoin, NULL);

	command_bind_irc("rmrejoins", NULL, (SIGNAL_FUNC) cmd_rmrejoins);
	signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel);
	signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable);
	signal_add_first("channel joined", (SIGNAL_FUNC) sig_remove_rejoin);
	signal_add_first("channel destroyed", (SIGNAL_FUNC) sig_remove_rejoin);
	signal_add("server disconnected", (SIGNAL_FUNC) sig_disconnected);
}
Пример #11
0
void ctcp_init(void)
{
	settings_add_str("misc", "ctcp_version_reply", PACKAGE" v$J - running on $sysname");
	settings_add_int("flood", "max_ctcp_queue", 5);

	signal_add("server disconnected", (SIGNAL_FUNC) ctcp_deinit_server);
	signal_add_first("event privmsg", (SIGNAL_FUNC) event_privmsg);
	signal_add_first("event notice", (SIGNAL_FUNC) event_notice);
	signal_add("ctcp msg", (SIGNAL_FUNC) ctcp_msg);
	signal_add("ctcp reply", (SIGNAL_FUNC) ctcp_reply);
	signal_add("ctcp msg ping", (SIGNAL_FUNC) ctcp_ping);
	signal_add("ctcp msg version", (SIGNAL_FUNC) ctcp_version);
	signal_add("ctcp msg time", (SIGNAL_FUNC) ctcp_time);
}
Пример #12
0
Файл: sasl.c Проект: Liaf/irssi
void sasl_init(void)
{
	signal_add_first("server cap ack sasl", (SIGNAL_FUNC) sasl_start);
	signal_add_first("event authenticate", (SIGNAL_FUNC) sasl_step);
	signal_add_first("event 903", (SIGNAL_FUNC) sasl_success);
	signal_add_first("event 902", (SIGNAL_FUNC) sasl_fail);
	signal_add_first("event 904", (SIGNAL_FUNC) sasl_fail);
	signal_add_first("event 905", (SIGNAL_FUNC) sasl_fail);
	signal_add_first("event 906", (SIGNAL_FUNC) sasl_fail);
	signal_add_first("event 907", (SIGNAL_FUNC) sasl_already);
	signal_add_first("server disconnected", (SIGNAL_FUNC) sasl_disconnected);
}
Пример #13
0
void fe_common_core_finish_init(void)
{
	int setup_changed;

	signal_emit("irssi init read settings", 0);

#ifdef SIGPIPE
	signal(SIGPIPE, SIG_IGN);
#endif

        setup_changed = FALSE;
	if (cmdline_nick != NULL && *cmdline_nick != '\0') {
		/* override nick found from setup */
		settings_set_str("nick", cmdline_nick);
		setup_changed = TRUE;
	}

	if (cmdline_hostname != NULL) {
		/* override host name found from setup */
		settings_set_str("hostname", cmdline_hostname);
		setup_changed = TRUE;
	}

	sig_setup_changed();
	signal_add_first("setup changed", (SIGNAL_FUNC) sig_setup_changed);

        /* _after_ windows are created.. */
	g_log_set_default_handler((GLogFunc) glog_func, NULL);

	if (setup_changed)
                signal_emit("setup changed", 0);

	autorun_startup();
	autoconnect_servers();
}
Пример #14
0
void fe_queries_init(void)
{
	settings_add_level("lookandfeel", "autocreate_query_level", "MSGS DCCMSGS");
	settings_add_bool("lookandfeel", "autocreate_own_query", TRUE);
	settings_add_time("lookandfeel", "autoclose_query", "0");

	queryclose_tag = -1;
	read_settings();

	signal_add("query created", (SIGNAL_FUNC) signal_query_created);
	signal_add("query destroyed", (SIGNAL_FUNC) signal_query_destroyed);
	signal_add("query server changed", (SIGNAL_FUNC) signal_query_server_changed);
	signal_add("query nick changed", (SIGNAL_FUNC) signal_query_nick_changed);
        signal_add("window item server changed", (SIGNAL_FUNC) signal_window_item_server_changed);
	signal_add("server connected", (SIGNAL_FUNC) sig_server_connected);
	signal_add("window changed", (SIGNAL_FUNC) sig_window_changed);
	signal_add_first("message private", (SIGNAL_FUNC) sig_message_private);
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);

	command_bind("query", NULL, (SIGNAL_FUNC) cmd_query);
	command_bind("unquery", NULL, (SIGNAL_FUNC) cmd_unquery);
	command_bind("window server", NULL, (SIGNAL_FUNC) cmd_window_server);

	command_set_options("query", "window");
}
Пример #15
0
void fe_log_init(void)
{
    autoremove_tag = g_timeout_add(60000, (GSourceFunc) sig_autoremove, NULL);

    settings_add_str("log", "autolog_path", "~/irclogs/$tag/$0.log");
    settings_add_str("log", "autolog_level", "all");
    settings_add_bool("log", "autolog", FALSE);

    autolog_level = 0;
    read_settings();

    command_bind("log", NULL, (SIGNAL_FUNC) cmd_log);
    command_bind("log open", NULL, (SIGNAL_FUNC) cmd_log_open);
    command_bind("log close", NULL, (SIGNAL_FUNC) cmd_log_close);
    command_bind("log start", NULL, (SIGNAL_FUNC) cmd_log_start);
    command_bind("log stop", NULL, (SIGNAL_FUNC) cmd_log_stop);
    command_bind("log ", NULL, (SIGNAL_FUNC) cmd_log_list);
    command_bind("window log", NULL, (SIGNAL_FUNC) cmd_window_log);
    command_bind("window logfile", NULL, (SIGNAL_FUNC) cmd_window_logfile);
    signal_add_first("print text stripped", (SIGNAL_FUNC) sig_printtext_stripped);
    signal_add("window item remove", (SIGNAL_FUNC) sig_window_item_remove);
    signal_add("window refnum changed", (SIGNAL_FUNC) sig_window_refnum_changed);
    signal_add("log locked", (SIGNAL_FUNC) sig_log_locked);
    signal_add("log create failed", (SIGNAL_FUNC) sig_log_create_failed);
    signal_add("awaylog show", (SIGNAL_FUNC) sig_awaylog_show);
    signal_add("setup changed", (SIGNAL_FUNC) read_settings);
}
Пример #16
0
void channel_events_init(void)
{
    settings_add_bool("misc", "join_auto_chans_on_invite", TRUE);

    signal_add_last("server event", (SIGNAL_FUNC) irc_server_event);
    signal_add_first("event 403", (SIGNAL_FUNC) event_no_such_channel); /* no such channel */
    signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel); /* duplicate channel */

    signal_add("event topic", (SIGNAL_FUNC) event_topic);
    signal_add_first("event join", (SIGNAL_FUNC) event_join);
    signal_add("event part", (SIGNAL_FUNC) event_part);
    signal_add("event kick", (SIGNAL_FUNC) event_kick);
    signal_add("event invite", (SIGNAL_FUNC) event_invite);
    signal_add("event 332", (SIGNAL_FUNC) event_topic_get);
    signal_add("event 333", (SIGNAL_FUNC) event_topic_info);
}
Пример #17
0
void channel_rejoin_init(void)
{
	rejoin_tag = g_timeout_add(REJOIN_TIMEOUT, (GSourceFunc) sig_rejoin, NULL);

	signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable);
	signal_add("server disconnected", (SIGNAL_FUNC) sig_disconnected);
}
Пример #18
0
void irc_servers_init(void)
{
	settings_add_str("misc", "usermode", DEFAULT_USER_MODE);
	settings_add_time("flood", "cmd_queue_speed", DEFAULT_CMD_QUEUE_SPEED);
	settings_add_int("flood", "cmds_max_at_once", DEFAULT_CMDS_MAX_AT_ONCE);

	cmd_tag = -1;

	signal_add_first("server connected", (SIGNAL_FUNC) sig_connected);
	signal_add_last("server disconnected", (SIGNAL_FUNC) sig_disconnected);
	signal_add_last("server quit", (SIGNAL_FUNC) sig_server_quit);
	signal_add("event 001", (SIGNAL_FUNC) event_connected);
	signal_add("event 004", (SIGNAL_FUNC) event_server_info);
	signal_add("event 005", (SIGNAL_FUNC) event_isupport);
	signal_add("event 375", (SIGNAL_FUNC) event_motd);
	signal_add_last("event 376", (SIGNAL_FUNC) event_end_of_motd);
	signal_add_last("event 422", (SIGNAL_FUNC) event_end_of_motd); /* no motd */
	signal_add("event 254", (SIGNAL_FUNC) event_channels_formed);
	signal_add("event 396", (SIGNAL_FUNC) event_hosthidden);
	signal_add("event 465", (SIGNAL_FUNC) event_server_banned);
	signal_add("event error", (SIGNAL_FUNC) event_error);
	signal_add("event ping", (SIGNAL_FUNC) event_ping);
	signal_add("event empty", (SIGNAL_FUNC) event_empty);

	irc_servers_setup_init();
	irc_servers_reconnect_init();
	servers_redirect_init();
	servers_idle_init();
}
void
xmpp_servers_reconnect_init(void)
{
	signal_add_first("server connect copy", sig_server_connect_copy);
	signal_add("server reconnect save status", sig_save_status);
	signal_add_last("server connected", sig_connected);
}
Пример #20
0
void proxy_listen_init(void)
{
	if (enabled) {
		return;
	}
	enabled = TRUE;

	next_line = g_string_new(NULL);

	proxy_clients = NULL;
	proxy_listens = NULL;
	read_settings();

	signal_add("server incoming", (SIGNAL_FUNC) sig_incoming);
	signal_add("server event", (SIGNAL_FUNC) sig_server_event);
	signal_add("event connected", (SIGNAL_FUNC) event_connected);
	signal_add("server disconnected", (SIGNAL_FUNC) sig_server_disconnected);
	signal_add_first("event nick", (SIGNAL_FUNC) event_nick);
	signal_add("message own_public", (SIGNAL_FUNC) sig_message_own_public);
	signal_add("message own_private", (SIGNAL_FUNC) sig_message_own_private);
	signal_add("message irc own_action", (SIGNAL_FUNC) sig_message_own_action);
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);

	signal_add("proxy client dump", (SIGNAL_FUNC) sig_dump);
}
Пример #21
0
void dcc_server_init(void)
{
	dcc_register_type("SERVER");
	command_bind("dcc server", NULL, (SIGNAL_FUNC) cmd_dcc_server);
	command_bind("dcc close", NULL, (SIGNAL_FUNC) cmd_dcc_close);
	signal_add("dcc destroyed", (SIGNAL_FUNC) sig_dcc_destroyed);
	signal_add_first("dcc server message", (SIGNAL_FUNC) dcc_server_msg);
}
Пример #22
0
void gui_channels_init(void)
{
	signal_add_first("channel created", (SIGNAL_FUNC) sig_channel_created);
	signal_add("channel destroyed", (SIGNAL_FUNC) sig_channel_destroyed);
	signal_add("channel topic changed", (SIGNAL_FUNC) sig_channel_topic_changed);
	signal_add("tab pane focused", (SIGNAL_FUNC) sig_pane_focused);
	signal_add("tab pane unfocused", (SIGNAL_FUNC) sig_pane_unfocused);
}
Пример #23
0
void setup_fish()
{
	signal_add_first("server sendmsg", (SIGNAL_FUNC) encrypt_msg);
	signal_add_first("message private", (SIGNAL_FUNC) decrypt_msg);
	signal_add_first("message public", (SIGNAL_FUNC) decrypt_msg);
	signal_add_first("message irc notice", (SIGNAL_FUNC) decrypt_notice);
	signal_add_first("message irc action", (SIGNAL_FUNC) decrypt_action);
 
	signal_add_first("message own_private", (SIGNAL_FUNC) format_msg);
	signal_add_first("message own_public", (SIGNAL_FUNC) format_msg);
 
	signal_add_first("channel topic changed",
			 (SIGNAL_FUNC) decrypt_changed_topic);
	signal_add_first("message topic", (SIGNAL_FUNC) decrypt_topic);
	signal_add_first("server incoming", (SIGNAL_FUNC) raw_handler);
 
	signal_add("query created", (SIGNAL_FUNC) do_auto_keyx);
	signal_add("query nick changed", (SIGNAL_FUNC) query_nick_changed);
 
	signal_add("complete command topic+", (SIGNAL_FUNC) sig_complete_topic_plus);
 
	command_bind("topic+", NULL, (SIGNAL_FUNC) cmd_crypt_topic);
	command_bind("notice+", NULL, (SIGNAL_FUNC) cmd_crypt_notice);
	command_bind("me+", NULL, (SIGNAL_FUNC) cmd_crypt_action);
	command_bind("setkey", NULL, (SIGNAL_FUNC) cmd_setkey);
	command_bind("delkey", NULL, (SIGNAL_FUNC) cmd_delkey);
	command_bind("key", NULL, (SIGNAL_FUNC) cmd_key);
	command_bind("showkey", NULL, (SIGNAL_FUNC) cmd_key);
	command_bind("keyx", NULL, (SIGNAL_FUNC) cmd_keyx);
	command_bind("setinipw", NULL, (SIGNAL_FUNC) cmd_setinipw);
	command_bind("unsetinipw", NULL, (SIGNAL_FUNC) cmd_unsetinipw);
 
	settings_add_bool_module("fish", "fish", "process_outgoing", 1);
	settings_add_bool_module("fish", "fish", "process_incoming", 1);
	settings_add_bool_module("fish", "fish", "auto_keyxchange", 1);
	settings_add_bool_module("fish", "fish", "nicktracker", 1);
 
	settings_add_str_module("fish", "fish", "mark_broken_block",
				"\002&\002");
	settings_add_str_module("fish", "fish", "mark_encrypted", "\002>\002 ");
	settings_add_str_module("fish", "fish", "plain_prefix", "+p ");
 
	settings_add_int_module("fish", "fish", "mark_position", 1);
}
Пример #24
0
void irc_nicklist_init(void)
{
	signal_add("event nick", (SIGNAL_FUNC) event_nick);
	signal_add_first("event 352", (SIGNAL_FUNC) event_who);
	signal_add("silent event who", (SIGNAL_FUNC) event_who);
	signal_add("silent event whois", (SIGNAL_FUNC) event_whois);
	signal_add_first("event 311", (SIGNAL_FUNC) event_whois);
	signal_add_first("event 301", (SIGNAL_FUNC) event_whois_away);
	signal_add_first("event 313", (SIGNAL_FUNC) event_whois_ircop);
	signal_add("event 318", (SIGNAL_FUNC) event_end_of_whois);
	signal_add("event 353", (SIGNAL_FUNC) event_names_list);
	signal_add("event 366", (SIGNAL_FUNC) event_end_of_names);
	signal_add("event 433", (SIGNAL_FUNC) event_nick_in_use);
	signal_add("event 437", (SIGNAL_FUNC) event_target_unavailable);
	signal_add("event 302", (SIGNAL_FUNC) event_userhost);
	signal_add("userhost event", (SIGNAL_FUNC) event_userhost);
	signal_add("user mode changed", (SIGNAL_FUNC) sig_usermode);
	signal_add("server connected", (SIGNAL_FUNC) sig_connected);
}
Пример #25
0
void
stanzas_init(void)
{
	signal_add("server connecting", register_stanzas);
	signal_add_first("server disconnected", unregister_stanzas);
	signal_add_last("xmpp send message", send_stanza); 
	signal_add_last("xmpp send presence", send_stanza); 
	signal_add_last("xmpp send iq", send_stanza); 
	signal_add_last("xmpp send others", send_stanza); 
}
Пример #26
0
void hilight_text_init(void)
{
	hilight_next = FALSE;
	last_nick_color = 0;

	read_hilight_config();
	settings_add_str("misc", "hilight_color", "8");
	settings_add_bool("misc", "hilight_only_nick", TRUE);

	signal_add_first("print text", (SIGNAL_FUNC) sig_print_text);
	signal_add_first("print text stripped", (SIGNAL_FUNC) sig_print_text_stripped);
        signal_add("setup reread", (SIGNAL_FUNC) read_hilight_config);
	signal_add_last("message public", (SIGNAL_FUNC) sig_message);
	signal_add_last("message private", (SIGNAL_FUNC) sig_message);
	command_bind("hilight", NULL, (SIGNAL_FUNC) cmd_hilight);
	command_bind("dehilight", NULL, (SIGNAL_FUNC) cmd_dehilight);

	command_set_options("hilight", "-color -level -channels nick nonick mask word regexp");
}
Пример #27
0
void textbuffer_reformat_init(void)
{
	format = g_string_new(NULL);
	settings_add_bool("history", "scrollback_save_formats", FALSE);

        read_settings();
	signal_add("print format", (SIGNAL_FUNC) sig_print_format);
	signal_add_first("gui print text finished", (SIGNAL_FUNC) sig_gui_printtext_finished);
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);
}
Пример #28
0
void fe_exec_init(void)
{
	command_bind("exec", NULL, (SIGNAL_FUNC) cmd_exec);
	command_set_options("exec", "!- interactive nosh +name out +msg +notice +in window close +level quiet");

        signal_exec_input = signal_get_uniq_id("exec input");
        signal_add("pidwait", (SIGNAL_FUNC) sig_pidwait);
        signal_add("exec input", (SIGNAL_FUNC) sig_exec_input);
        signal_add("window destroyed", (SIGNAL_FUNC) sig_window_destroyed);
	signal_add_first("send text", (SIGNAL_FUNC) event_text);
}
Пример #29
0
void dcc_chat_init(void)
{
	command_bind("msg", NULL, (SIGNAL_FUNC) cmd_msg);
	command_bind("me", NULL, (SIGNAL_FUNC) cmd_me);
	command_bind("action", NULL, (SIGNAL_FUNC) cmd_action);
	command_bind("ctcp", NULL, (SIGNAL_FUNC) cmd_ctcp);
	command_bind("dcc chat", NULL, (SIGNAL_FUNC) cmd_dcc_chat);
	command_bind("mircdcc", NULL, (SIGNAL_FUNC) cmd_mircdcc);
	signal_add_first("dcc chat message", (SIGNAL_FUNC) dcc_chat_msg);
	signal_add("dcc ctcp dcc", (SIGNAL_FUNC) dcc_ctcp_redirect);
}
Пример #30
0
void irc_flood_init(void)
{
	settings_add_int("flood", "flood_timecheck", 8);
	settings_add_int("flood", "flood_max_msgs", 4);

	flood_tag = -1;
	read_settings();
	signal_add("setup changed", (SIGNAL_FUNC) read_settings);
	signal_add_first("server connected", (SIGNAL_FUNC) flood_init_server);
	signal_add("server disconnected", (SIGNAL_FUNC) flood_deinit_server);

	autoignore_init();
}