static void send(module_t *module, const char *channel, const char *message) { irc_t *irc = (irc_t *)module; if (strncmp(message, me_prefix, strlen(me_prefix)) == 0) { const char *action = message + strlen(me_prefix); // Transmit an action printf("[%s] * %s %s\n", channel, irc->current_nick, action); if (irc_cmd_me(irc->session, channel, action)) { fprintf(stderr, "irc: %s\n", irc_strerror(irc_errno(irc->session))); return; } } else { // Send a regular message printf("[%s] <%s> %s\n", channel, irc->current_nick, message); if (irc_cmd_msg(irc->session, channel, message)) { fprintf(stderr, "irc: %s\n", irc_strerror(irc_errno(irc->session))); return; } } bot_on_read_log(module->bot, irc->current_nick, message); }
bool CslIrcSession::SendCtcpAction(const wxString& channel,const wxString& text) { if (!CslIrcEngine::GetThread() || m_state!=STATE_CONNECTED) return false; wxCharBuffer buffer; if (ConvertToChannelEncoding(channel,text,buffer)) return irc_cmd_me(m_context.Session,U2A(channel),buffer)==0; return false; }
void event_channel (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) { irc_ctx_t * ctx = (irc_ctx_t *) irc_get_ctx (session); if ( !origin || count != 2 ) return; if ( strstr (params[1], "f**k") == 0 ) return; char nickbuf[128], text[256]; irc_target_get_nick (origin, nickbuf, sizeof(nickbuf)); if ( ctx->insolents.find(nickbuf) == ctx->insolents.end() ) ctx->insolents[nickbuf] = 0; ctx->insolents[nickbuf]++; printf ("'%s' swears in the channel '%s' %d times\n", nickbuf, params[1], ctx->insolents[nickbuf]); switch (ctx->insolents[nickbuf]) { case 1: // Send a private message sprintf (text, "%s, please do not swear in this channel.", nickbuf); irc_cmd_msg (session, nickbuf, text); break; case 2: // Send a channel message sprintf (text, "%s, do not swear in this channel, or you'll leave it.", nickbuf); irc_cmd_msg (session, params[0], text); break; default: // Send a channel notice, and kick the insolent sprintf (text, "kicked %s from %s for swearing.", nickbuf, params[0]); irc_cmd_me (session, params[0], text); irc_cmd_kick (session, nickbuf, params[0], "swearing"); break; } }
static int lua_irc_cmd_me(lua_State *L) { void *session; const char *nch,*msg; int result=LIBIRC_ERR_INVAL; if(lua_gettop(L)==3){ session=lua_touserdata(L,1); if(session!=NULL){ nch=lua_tostring(L,2); msg=lua_tostring(L,3); if((nch!=NULL) && (msg!=NULL)){ result=irc_cmd_me(session,nch,msg); } } } lua_pushinteger(L,result); return 1; }
void dazeus::Server::ctcpAction( const std::string &destination, const std::string &message ) { ircEventMe("ACTION_ME", destination, message); irc_cmd_me(IRC, destination.c_str(), message.c_str()); }
void IRCSession::me(string_t target, string_t m) { if (irc_cmd_me( session, target, m)) throw std::runtime_error{"Could not send message."}; }