X-Git-Url: https://git.harvie.cz/?p=mirrors%2Flibpurple-core-answerscripts.git;a=blobdiff_plain;f=answerscripts.c;fp=answerscripts.c;h=bb3d8498458b9f7d5962d76d6847db7bf57e6379;hp=d24e58f9ad1104465d35fafd1be9c22721fe4b05;hb=5cd90c724ea732d22049421acc0e5da739af7076;hpb=0de4c2047c7cc14218a898038fab6822ff7d23cf diff --git a/answerscripts.c b/answerscripts.c index d24e58f..bb3d849 100755 --- a/answerscripts.c +++ b/answerscripts.c @@ -49,9 +49,14 @@ int answerscripts_process_message_cb(answerscripts_job *job) { && (errno == EWOULDBLOCK || errno == EAGAIN) //WARNING! Not compatible with windows :-( ) return 1; - for(i=0;response[i];i++) if(response[i]=='\n') response[i]=0; - if(response[0]!='\0') purple_conv_im_send(purple_conversation_get_im_data(conv), response); - + for(i=0;response[i];i++) if(response[i]=='\n') response[i]='\0'; + if(response[0]!='\0') { + if(purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) { + purple_conv_chat_send(purple_conversation_get_chat_data(conv), response); + } else { + purple_conv_im_send(purple_conversation_get_im_data(conv), response); + } + } if(!feof(pipe)) return 1; } pclose(pipe); @@ -89,6 +94,9 @@ static void received_msg_cb(PurpleAccount *account, char *who, char *buffer, Pur const char* local_alias = purple_account_get_alias(account); if(local_alias == NULL) local_alias = local_name; + //Do not respond to messages sent by myself + if(strcmp(local_name, who) == 0) return; + //Was my nick said? char *highlighted; if(flags & PURPLE_MESSAGE_NICK || purple_utf8_has_word(buffer, local_name)) @@ -200,7 +208,7 @@ static PurplePluginInfo info = { "core-answerscripts", "AnswerScripts", - "0.5.2", + "0.5.3", "Framework for hooking scripts to process received messages for libpurple clients", "\nThis plugin will execute script \"~/.purple/" ANSWERSCRIPT "\" " "(or any other executable called \"" ANSWERSCRIPT "\" and found in purple_user_dir()) "