Пример #1
0
/* expands to your usermode on channel, op '@', halfop '%', "+" voice */
static char *expando_cumode(SERVER_REC *server, void *item, int *free_ret)
{
	if (IS_IRC_CHANNEL(item) && CHANNEL(item)->ownnick) {
		return NICK(CHANNEL(item)->ownnick)->op ? "@" :
		       NICK(CHANNEL(item)->ownnick)->halfop ? "%" :
		       NICK(CHANNEL(item)->ownnick)->voice ? "+" : "";
	}
	return "";
}
Пример #2
0
/* expands to your usermode on channel, op '@', halfop '%', "+" voice or other */
static char *expando_cumode(SERVER_REC *server, void *item, int *free_ret)
{
	if (IS_IRC_CHANNEL(item) && CHANNEL(item)->ownnick) {
		char other = NICK(CHANNEL(item)->ownnick)->other;
		if (other != '\0') {
			char *cumode = g_malloc(2);
			cumode[0] = other;
			cumode[1] = '\0';
			*free_ret = TRUE;
			return cumode;
		}

		return NICK(CHANNEL(item)->ownnick)->op ? "@" :
		       NICK(CHANNEL(item)->ownnick)->halfop ? "%" :
		       NICK(CHANNEL(item)->ownnick)->voice ? "+" : "";
	}
	return "";
}
Пример #3
0
Файл: init.c Проект: goXXip/K9
void introduce_user(const char *user)
{
    /* Watch out for infinite loops... */
#define LTSIZE 20
    static int lasttimes[LTSIZE];
    if (lasttimes[0] >= time(NULL)-3)
	fatal("introduce_user() loop detected");
    memmove(lasttimes, lasttimes+1, sizeof(lasttimes)-sizeof(int));
    lasttimes[LTSIZE-1] = time(NULL);
#undef LTSIZE

    if (!user || stricmp(user, s_NickServ) == 0)
	NICK(s_NickServ, desc_NickServ, UMODE_o);
    if (!user || stricmp(user, s_ChanServ) == 0) {
        new_user(s_ChanServ);
	NICK(s_ChanServ, desc_ChanServ, UMODE_o);
    }
}
Пример #4
0
void
xmpp_nicklist_rename(MUC_REC *channel, XMPP_NICK_REC *nick,
    const char *oldnick, const char *newnick)
{

	g_return_if_fail(IS_MUC(channel));
	g_return_if_fail(IS_XMPP_NICK(nick));
	g_return_if_fail(oldnick != NULL);
	g_return_if_fail(newnick != NULL);
	/* remove old nick from hash table */
	nick_hash_remove(CHANNEL(channel), NICK(nick));
	g_free(nick->nick);
	nick->nick = g_strdup(newnick);
	/* add new nick to hash table */
	nick_hash_add(CHANNEL(channel), NICK(nick));
	signal_emit("nicklist changed", 3, channel, nick, oldnick);
	if (strcmp(oldnick, channel->nick) == 0) {
		nicklist_set_own(CHANNEL(channel), NICK(nick));
		g_free(channel->nick);
		channel->nick = g_strdup(newnick);
	}
}
Пример #5
0
/* expands to your usermode on channel, op '@', halfop '%', "+" voice or other */
static char *expando_cumode(SERVER_REC *server, void *item, int *free_ret)
{
	if (IS_IRC_CHANNEL(item) && CHANNEL(item)->ownnick) {
		char prefix = NICK(CHANNEL(item)->ownnick)->prefixes[0];
		if (prefix != '\0') {
			char *cumode = g_malloc(2);
			cumode[0] = prefix;
			cumode[1] = '\0';
			*free_ret = TRUE;
			return cumode;
		}
	}
	return "";
}
Пример #6
0
void introduce_user(const char *user)
{
#ifdef IRC_UNDERNET_P10
    char *modos=NULL;
#endif    
    
    /* Watch out for infinite loops... */
#define LTSIZE 20
    static int lasttimes[LTSIZE];
    if (lasttimes[0] >= time(NULL)-3)
	fatal("introduce_user() loop detected");
    memmove(lasttimes, lasttimes+1, sizeof(lasttimes)-sizeof(int));
    lasttimes[LTSIZE-1] = time(NULL);
#undef LTSIZE

    
#ifdef IRC_UNDERNET_P10
    if (!user || stricmp(user, s_NickServ) == 0 || stricmp(user, s_NickServP10) == 0) {
        s_NickServP10[0]=convert2y[ServerNumerico];
        s_NickServP10[1]='\0';
        strcat(s_NickServP10, "AA");
        modos="+okdrh";
        NICK(s_NickServ, modos, s_NickServP10, desc_NickServ);
        send_cmd(s_NickServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_NickServP10);
	send_cmd(s_NickServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_NickServP10);
    }    
    if (!user || stricmp(user, s_ChanServ) == 0 || stricmp(user, s_ChanServP10) == 0) {
        s_ChanServP10[0]=convert2y[ServerNumerico];
        s_ChanServP10[1]='\0';
        strcat(s_ChanServP10, "AB");
        modos="+Bkrhd";
        NICK(s_ChanServ, modos, s_ChanServP10, desc_ChanServ);
        send_cmd(s_ChanServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_ChanServP10);
	 send_cmd(s_ChanServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_ChanServP10);
    }    
    if (!user || stricmp(user, s_MemoServ) == 0 || stricmp(user, s_MemoServP10) == 0) {    
        s_MemoServP10[0]=convert2y[ServerNumerico];
        s_MemoServP10[1]='\0';
        strcat(s_MemoServP10, "AE");
        modos="+krhd";
        NICK(s_MemoServ, modos, s_MemoServP10, desc_MemoServ);
        send_cmd(s_MemoServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_MemoServP10);
	send_cmd(s_MemoServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_MemoServP10);
    }                                                                                                                                                                                                                                                                                                                
    if (!user || stricmp(user, s_OperServ) == 0 || stricmp(user, s_OperServP10) == 0) {    
        s_OperServP10[0]=convert2y[ServerNumerico];
        s_OperServP10[1]='\0';
        strcat(s_OperServP10, "AF");
        modos="+Bkorhdi";
        NICK(s_OperServ, modos, s_OperServP10, desc_OperServ);
        send_cmd(s_OperServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_OperServP10);
        send_cmd(s_OperServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_OperServP10);
    }
    if (!user || stricmp(user, s_NewsServ) == 0 || stricmp(user, s_NewsServP10) == 0) {
        s_NewsServP10[0]=convert2y[ServerNumerico];
        s_NewsServP10[1]='\0';
        strcat(s_NewsServP10, "AG");
        modos="+krd";
        NICK(s_NewsServ, modos, s_NewsServP10, desc_NewsServ);
        send_cmd(s_NewsServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_NewsServP10);
	send_cmd(s_NewsServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_NewsServP10);
    }   
      if (!user || stricmp(user, s_SpamServ) == 0 || stricmp(user, s_SpamServP10) == 0) {
        s_SpamServP10[0]=convert2y[ServerNumerico];
        s_SpamServP10[1]='\0';
        strcat(s_SpamServP10, "AH");
        modos="+kro";
        NICK(s_SpamServ, modos, s_SpamServP10, desc_SpamServ);
        send_cmd(s_SpamServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_SpamServP10);
	send_cmd(s_SpamServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_SpamServP10);

    }
    if (!user || stricmp(user, s_GlobalNoticer) == 0 || stricmp(user, s_GlobalNoticerP10) == 0) {
        s_GlobalNoticerP10[0]=convert2y[ServerNumerico];
        s_GlobalNoticerP10[1]='\0';
        strcat(s_GlobalNoticerP10, "AI");
        modos="+krhod";
        NICK(s_GlobalNoticer, modos, s_GlobalNoticerP10, desc_GlobalNoticer);
        send_cmd(s_GlobalNoticer, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_GlobalNoticerP10);
	 send_cmd(s_GlobalNoticer, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_GlobalNoticerP10);
    }    
    if (!user || stricmp(user, s_HelpServ) == 0 || stricmp(user, s_HelpServP10) == 0) {
        s_HelpServP10[0]=convert2y[ServerNumerico];
        s_HelpServP10[1]='\0';
        strcat(s_HelpServP10, "AJ");
        modos="+krd";
        NICK(s_HelpServ, modos, s_HelpServP10, desc_HelpServ);
        send_cmd(s_HelpServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_HelpServP10);
	send_cmd(s_HelpServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_HelpServP10);
    }
    if (s_IrcIIHelp && (!user || stricmp(user, s_IrcIIHelp) == 0 || stricmp(user, s_IrcIIHelpP10) == 0)) {
        s_IrcIIHelpP10[0]=convert2y[ServerNumerico];
        s_IrcIIHelpP10[1]='\0';
        strcat(s_IrcIIHelpP10, "AK");
        modos="+krd";
        NICK(s_IrcIIHelp, modos, s_IrcIIHelpP10, desc_IrcIIHelp);
        send_cmd(s_IrcIIHelp, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_IrcIIHelpP10);
	send_cmd(s_IrcIIHelp, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_IrcIIHelpP10);
    }    
	if (s_mIRCHelp && (!user || stricmp(user, s_mIRCHelp) == 0 || stricmp(user, s_mIRCHelpP10) == 0)) {
        s_IrcIIHelpP10[0]=convert2y[ServerNumerico];
        s_IrcIIHelpP10[1]='\0';
        strcat(s_IrcIIHelpP10, "AK");
        modos="+krd";
        NICK(s_mIRCHelp, modos, s_mIRCHelpP10, desc_mIRCHelp);
        send_cmd(s_IrcIIHelp, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_mIRCHelpP10);
	send_cmd(s_mIRCHelp, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_mIRCHelpP10);
    }    
   
   if (!user || stricmp(user, s_EuskalIRCServ) == 0 || stricmp(user, s_EuskalIRCServP10) == 0) {
        s_EuskalIRCServP10[0]=convert2y[ServerNumerico];
        s_EuskalIRCServP10[1]='\0';
        strcat(s_EuskalIRCServP10, "AH");
        modos="+kro";
        NICK(s_EuskalIRCServ, modos, s_EuskalIRCServP10, desc_EuskalIRCServ);
        send_cmd(s_EuskalIRCServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_EuskalIRCServP10);
	send_cmd(s_EuskalIRCServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_EuskalIRCServP10);

    }
if (!user || stricmp(user, s_CregServ) == 0 || stricmp(user, s_CregServP10) == 0) {
        s_CregServP10[0]=convert2y[ServerNumerico];
        s_CregServP10[1]='\0';
        strcat(s_CregServP10, "AJ");
        modos="+krd";
        NICK(s_CregServ, modos, s_CregServP10, desc_CregServ);
        send_cmd(s_CregServ, "J #%s", CanalOpers);
        send_cmd(ServerName, "M #%s +o %s", CanalOpers, s_CregServP10);
	send_cmd(s_CregServ, "J #%s", CanalAdmins);
        send_cmd(ServerName, "M #%s +o %s", CanalAdmins, s_CregServP10);
    }
#else
    if (!user || stricmp(user, s_ChanServ) == 0) {
	NICK(s_ChanServ, desc_ChanServ);
        send_cmd(s_ChanServ, "MODE %s +Bbikdor", s_ChanServ);
        send_cmd(s_ChanServ, "JOIN #%s", CanalOpers);
	send_cmd(s_ChanServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_ChanServ);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalOpers, s_ChanServ);
       	send_cmd(s_ChanServ, "MODE #%s +ntsil 1", CanalOpers);
    }
    if (!user || stricmp(user, s_NickServ) == 0) {
            NICK(s_NickServ, desc_NickServ);
        send_cmd(s_NickServ, "MODE %s +kdbBr", s_NickServ);
        send_cmd(s_NickServ, "JOIN #%s", CanalOpers);
	send_cmd(s_NickServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_NickServ);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalOpers, s_NickServ);
          }

    if (!user || stricmp(user, s_HelpServ) == 0) {
	NICK(s_HelpServ, desc_HelpServ);
        send_cmd(s_HelpServ, "MODE %s +dbBrk", s_HelpServ);
	send_cmd(s_HelpServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_HelpServ, "JOIN #%s", CanalAyuda);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAyuda, s_HelpServ);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_HelpServ);
       

    }
    
     if (s_IrcIIHelp && (!user || stricmp(user, s_IrcIIHelp) == 0)) {
	NICK(s_IrcIIHelp, desc_IrcIIHelp);
         send_cmd(s_IrcIIHelp, "JOIN #%s", CanalAdmins);
	  send_cmd(s_IrcIIHelp, "JOIN #%s", CanalAyuda);
        send_cmd(s_IrcIIHelp, "MODE %s +dbBrk", s_IrcIIHelp);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_IrcIIHelp);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAyuda, s_IrcIIHelp);
              
    }
    if (s_mIRCHelp && (!user || stricmp(user, s_mIRCHelp) == 0)) {
	NICK(s_mIRCHelp, desc_mIRCHelp);
         send_cmd(s_mIRCHelp, "JOIN #%s", CanalAdmins);
	send_cmd(s_mIRCHelp, "JOIN #%s", CanalAyuda);
        send_cmd(s_mIRCHelp, "MODE %s +dbBrk", s_mIRCHelp);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_mIRCHelp);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAyuda, s_mIRCHelp);
              
    }

    if (!user || stricmp(user, s_MemoServ) == 0) {
	NICK(s_MemoServ, desc_MemoServ);
	send_cmd(s_MemoServ, "MODE %s +krbdB", s_MemoServ);
	send_cmd(s_MemoServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_MemoServ);
       
    }
    if (!user || stricmp(user, s_OperServ) == 0) {
	NICK(s_OperServ, desc_OperServ);
        send_cmd(s_OperServ, "MODE %s +Bbikdor", s_OperServ);
        send_cmd(s_OperServ, "JOIN #%s", CanalAdmins);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_OperServ);
        send_cmd(s_OperServ, "JOIN #%s", CanalOpers);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalOpers, s_OperServ);
	send_cmd(s_OperServ, "MODE #%s +ntsil 1", CanalAdmins);
    }
    if (!user || stricmp(user, s_CregServ) == 0) {
	NICK(s_CregServ, desc_CregServ);
        send_cmd(s_CregServ, "MODE %s +Bbikdor", s_CregServ);
        send_cmd(s_CregServ, "JOIN #%s", CanalAdmins);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_CregServ);
        
    }
     if (!user || stricmp(user, s_EuskalIRCServ) == 0) {
	euskalirc(s_EuskalIRCServ, desc_EuskalIRCServ);
        send_cmd(s_EuskalIRCServ, "MODE %s +Bbikor", s_EuskalIRCServ);
        send_cmd(s_EuskalIRCServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_EuskalIRCServ, "JOIN #%s", CanalAyuda);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAyuda, s_EuskalIRCServ);
        send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_EuskalIRCServ);
        
    }
    if (!user || stricmp(user, s_BddServ) == 0) {
        CNICK(s_BddServ, desc_BddServ, "-", "-base.de.datos-");
	send_cmd(s_BddServ, "MODE %s +iXkoBrd", s_BddServ);
	send_cmd(s_BddServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_BddServ);
	
    }
    
    if (!user || stricmp(user, s_GlobalNoticer) == 0) {
	NICK(s_GlobalNoticer, desc_GlobalNoticer);
	send_cmd(s_GlobalNoticer, "MODE %s +ikorBd", s_GlobalNoticer);
	send_cmd(s_GlobalNoticer, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_GlobalNoticer);
    }
    if (!user || stricmp(user, s_ShadowServ) == 0) {
        CNICK(s_ShadowServ, desc_ShadowServ, "-", "-");
	send_cmd(s_ShadowServ, "MODE %s +rokbXBd", s_ShadowServ);
	send_cmd(s_ShadowServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_ShadowServ);
                              
    }
/* Esto, algún día funcionará... o eso espero ;) */
    if (!user || stricmp(user, s_IpVirtual) == 0) {
    	CNICK(s_IpVirtual, desc_IpVirtual, "ipvirtual", ServerName);
 	send_cmd(s_IpVirtual, "MODE %s +rokhBX", s_IpVirtual);
	send_cmd(s_IpVirtual, "JOIN #%s", CanalAdmins);
	send_cmd(s_IpVirtual, "MODE #%s +o %s", CanalAdmins, s_IpVirtual);
    }
 
    if (!user || stricmp(user, s_NewsServ) == 0) {
        NICK(s_NewsServ, desc_NewsServ);
        send_cmd(s_NewsServ, "MODE %s +kBbord", s_NewsServ);
	send_cmd(s_NewsServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_NewsServ);
    	                        
    }
    if (!user || stricmp(user,  s_SpamServ) == 0) {
      SPAM(s_SpamServ, desc_SpamServ);
        send_cmd( s_SpamServ, "MODE %s +kBbor",  s_SpamServ);
	send_cmd( s_SpamServ, "JOIN #%s", CanalAdmins);
	send_cmd(s_ChanServ, "MODE #%s +o %s", CanalAdmins, s_SpamServ);
    	send_cmd(NULL, "STATS b");
                        
    }
   
#endif
}