now exporting also status and status message
[mirrors/libpurple-core-answerscripts.git] / answerscripts.c
index 5d6830a1e05998f4fb799a7f1db55e43da6a4596..2f8d9ba53c6a1e38879292bbbb913d52455f0761 100755 (executable)
@@ -1,5 +1,10 @@
 //#define __WIN32__
-#define ANSWERSCRIPT "answerscripts.exe"
+#ifndef __WIN32__
+       #define ANSWERSCRIPT_EXT ""
+#else
+       #define ANSWERSCRIPT_EXT ".exe"
+#endif
+#define ANSWERSCRIPT "answerscripts" ANSWERSCRIPT_EXT
 #define ANSWERSCRIPTS_TIMEOUT_INTERVAL 250
 #define ANSWERSCRIPTS_LINE_LENGTH 4096
 
@@ -56,9 +61,26 @@ static void received_im_msg_cb(PurpleAccount *account, char *who, char *buffer,
        //printf("\nHarvie received: %s: %s\n", who, buff); //debug
        //purple_conv_im_send(purple_conversation_get_im_data(conv), ":-*"); //debug
 
+       //Get status
+       PurpleStatus *status = purple_account_get_active_status(account);
+       PurpleStatusType *type = purple_status_get_type(status);
+
+       //Get status id
+       const char *status_id = NULL;
+       status_id = purple_primitive_get_id_from_type(purple_status_type_get_primitive(type));
+
+       //Get status message
+       const char *status_msg = NULL;
+       if (purple_status_type_get_attr(type, "message") != NULL) {
+               status_msg = purple_status_get_attr_string(status, "message");
+       } else {
+               status_msg = (char *) purple_savedstatus_get_message(purple_savedstatus_get_current());
+       }
+
        setenv("PURPLE_FROM", who, 1);
        setenv("PURPLE_MSG", buff, 1);
-
+       setenv("PURPLE_STATUS", status_id, 1);
+       setenv("PURPLE_STATUS_MSG", status_msg, 1);
 
        answerscripts_job *job = (answerscripts_job*) malloc(sizeof(answerscripts_job));
        job->pipe = popen(hook_script, "r");
@@ -97,7 +119,7 @@ static PurplePluginInfo info = {
 
        "core-answerscripts",
        "AnswerScripts",
-       "0.2.1",
+       "0.2.2",
        "Framework for hooking scripts to process received messages for libpurple clients",
        "This plugin will execute script ~/.purple/" ANSWERSCRIPT " "
                "or any other executable called  " ANSWERSCRIPT " and found in purple_user_dir() "
This page took 0.117064 seconds and 4 git commands to generate.