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; }
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()); } }
/** * @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); } }
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"); }