Esempio n. 1
0
void event_join( irc_session_t *irc_session, const char *event, const char *origin, const char **params, unsigned int count ) {
	ConfigArrayPtr settings[2];
	char nickbuf[128];
	char buffer[512];

dump_event( irc_session, event, origin, params, count );
irc_cmd_user_mode( irc_session, "+i" );
irc_target_get_nick( origin, nickbuf, sizeof(nickbuf) );

settings[0] = GetSetting( "IRC Bot Nick" );
if( !strcmp( nickbuf, settings[0]->string_value ) ) {
	info( "IRC Bot Joined Channel: %s", params[0] );
	snprintf(buffer, sizeof(buffer), "op %s", params[0] );	
	irc_cmd_msg( irc_session, "ChanServ", buffer );
} else if( !strcmp( nickbuf, "ChanServ" ) ) {
	settings[0] = GetSetting( "IRC Bot Pass" );
	if( settings[0]->string_value ){
		snprintf(buffer, sizeof(buffer), "identify %s", settings[0]->string_value );
		irc_cmd_msg( irc_session, "NickServ", buffer);
	}
	snprintf(buffer, sizeof(buffer), "op %s", params[0] );	
	irc_cmd_msg( irc_session, "ChanServ", buffer );
}

return;
}
Esempio n. 2
0
void IRC::event_connect(irc_session_t* session, const char* event, const char* origin, const char** params, unsigned int count)
{
    std::cout << "IRC::event_connect() connected to " << IRC::_sessionServerMap[session].address << std::endl;

    std::vector<ConfigHandler::IRCOptions_Bridge> channels = IRC::_sessionServerMap[session].channelVector;
    std::vector<ConfigHandler::IRCOptions_Bridge>::iterator it;

    // set user modes
    irc_cmd_user_mode(session, "i");

    for(it = channels.begin(); it != channels.end(); it++)
    {
        std::cout << "IRC::event_connect() joining channel " << it->ircChannelName << std::endl;
        irc_cmd_join(session, it->ircChannelName.c_str(), it->ircChannelKey.c_str());
    }
}
Esempio n. 3
0
/**
* @brief Join Event
* Diese Funktion wird aufgerufen, sobald ein Client den IRC Chat betritt.
* Logt das Event.
* @param session ein Pointer von irc_session_t, Session von der ein Event erzeugt wird.
* @param event ein konstanter char Pointer, Event Name
* @param origin ein konstanter char Pointer, Herkunfts Name (Name der Joinenden Person)
* @param params const char, Liste der Parameter (0 - Channel Name)
* @param count ein unsigned int, Anzahl der Parameter
*/
void event_join (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
	irc_cmd_user_mode (session, "+i");
	
	if(logging==1)
	{
		char nickbuf[128];
		irc_target_get_nick (origin, nickbuf, sizeof(nickbuf));
		
		char theTime[100];
		struct tm * clock;
		time_t sec;
		time(&sec);
		clock = localtime(&sec);
		strftime(theTime, sizeof(theTime), "%Y-%m-%d %H:%M:%S", clock);
		
		char message[1024];
		sprintf(message, "INSERT INTO log (name, chan, message, date) VALUES ('%s', 'joined %s', '%s', '%s');", nickbuf, params[0], "", theTime);
		logSQL(message);
	}
}
Esempio n. 4
0
File: main.c Progetto: Sokrad/ircbot
void event_join (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
	irc_cmd_user_mode (session, "+i");
	//irc_cmd_msg (session, params[0], "Hi all");
}