void translate_sending_chat_message_cb(const gchar *original_phrase, const gchar *translated_phrase, const gchar *detected_language, gpointer userdata) { struct TranslateConvMessage *convmsg = userdata; gchar *html_text; int err = 0; html_text = purple_strdup_withhtml(translated_phrase); err = serv_chat_send(purple_account_get_connection(convmsg->account), purple_conv_chat_get_id(PURPLE_CONV_CHAT(convmsg->conv)), html_text, convmsg->flags); g_free(html_text); html_text = purple_strdup_withhtml(original_phrase); //if (err > 0) //{ // purple_conversation_write(convmsg->conv, convmsg->sender, html_text, convmsg->flags, time(NULL)); //} purple_signal_emit(purple_conversations_get_handle(), "sent-chat-msg", convmsg->account, html_text, purple_conv_chat_get_id(PURPLE_CONV_CHAT(convmsg->conv))); g_free(html_text); g_free(convmsg->sender); g_free(convmsg); }
/* * call-seq: * chat_send(chat_id, message) * * Send an message to chat */ static VALUE chat_send(VALUE self, VALUE id, VALUE message) { PurpleAccount *account; Data_Get_Struct(self, PurpleAccount, account); if (purple_account_is_connected(account)) { int i = serv_chat_send(purple_account_get_connection(account), rb_Integer(id), StringValueCStr(message), 0); return INT2FIX(i); } else { return Qnil; } }
void amsg(IrcCommandDll *intp, char *command, char *args, char *subargs, char *helparg) { char *nick,*nnick,*loc; CHECK_TOC_ONLINE(); /* loc = msg, nick = username to send msg to */ loc = LOCAL_COPY(args); nick = new_next_arg(loc, &loc); REQUIRED_ARG(nick,command,helparg); if ( nick[0] == '#' ) { struct buddy_chat *b; nick++; REQUIRED_ARG(nick,command,helparg); b = (struct buddy_chat *) find_buddy_chat(nick); if ( ! b ) { statusprintf("Error not on buddy chat %s", nick); return; } /* chatprintf("sent msg %s to buddy chat %s",loc,nick); */ serv_chat_send(b->id,loc); } else { char *ruser,*rnick; nnick = (char *) malloc(strlen(nick)+10); rnick = rm_space(nick); ruser = rm_space(get_dllstring_var("aim_user")); sprintf(nnick,"%s@AIM",rnick); msgprintf("%s", cparse(fget_string_var(FORMAT_SEND_MSG_FSET), "%s %s %s %s",update_clock(GET_TIME), nnick, ruser, loc)); serv_send_im(nick,loc); RemoveFromLLByKey(msgdthem,rnick); AddToLL(msgdthem,rnick,NULL); #ifdef BITCHX_PATCH tks.list = 0; tks.pos = -1; #endif free(rnick); free(ruser); } debug_printf("sending msg to %s '%s'",nick,loc); return; }