MegaHAL: Added option to prevent learning
[mirrors/libpurple-core-answerscripts.git] / README.md
index 28b76cf2453e952ebb85e82c76cc13b8444c3b20..20bbc3cc3f177bc8680b6322b6926baa713e96c6 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 #libPurple core-answerscripts plugin
+  * **Most hackable pidgin plugin!**
   * Framework for hooking scripts to **respond received messages** (and maybe bit more in future) for various **libpurple** clients such as **pidgin or finch**
   * This simple plugin just passes every single message received by any libPurple-based client (pidgin,finch) to sript(s) in user's home directory... So **you can add various hooks.**
   * There are already few sample (answer)scripts in ./purple directory, so you can check how easy it is to write some script for pidgin or finch...
@@ -7,14 +8,14 @@
 
 There are lot of hacks that you can do with this simple framework if you know some basic scripting. eg.:
 
-- **Forward your instant messages** to email, SMS gateway, text-to-speach (eg. espeak) or something...
-  - Smart auto-replying messages based on regular expressions
-  - Remote control your music player (or anything else on your computer) using instant messages
-- Simple IRC/Jabber/ICQ bot (currently accepts PM only, you can run finch in screen on server)
-- Providing some service (Searching web, Weather info, System status, RPG game...)
+- **Map any response to any incomming message** (You can even use some substitutions and regexes)
+- **Forward your instant messages** to email, SMS gateway, text-to-speech (eg. espeak) or something...
+- **Remote control** your music player (or anything else on your computer) using instant messages
+- **Simple IRC/Jabber/ICQ bot** (currently accepts PM only, you can run finch in screen on server)
+- Providing some **service** (Searching web, Weather info, System status, RPG game...)
 - BackDoor (**even unintentional one - you've been warned**)
 - Loging and analyzing messages
-- Connect IM with Arduino
+- Connect IM with **Arduino**
 - Annoy everyone with spam (and probably **get banned everywhere**)
 - **Anything else that you can imagine...** (i'm looking forward to hearing your stories)
 
@@ -24,12 +25,21 @@ There are lot of hacks that you can do with this simple framework if you know so
   * Basically
     * Each time you receive message, the main **answerscripts.sh script (answerscripts.exe on M$ Windows) is executed** on background
     * Every line that is outputed by this script to it's **STDOUT is sent** as response to message that executed it
-    * Following **environment values are passed** to the script:
+    * Following **environment values are passed** to the script (ANSW\_L = local user, ANSW\_R = remote user = your buddy who sent the message):
+      * ANSW\_ACTION   (what happend: im, chat, show setting dialog, event, etc...)
       * ANSW\_MSG      (text of the message)
-      * ANSW\_FROM     (who sent you message)
-      * ANSW\_PROTOCOL (protocol used to deliver the message. eg.: jabber, irc,...)
-      * ANSW\_STATUS   (unique ID of status. eg.: available, away,...)
-      * ANSW\_STATUS\_MSG      (status message set by user)
+      * ANSW\_PROTOCOL (protocol used to deliver the message. eg.: xmpp, irc,...)
+      * ANSW\_R\_NAME  (ID of remote user - "buddy")
+      * ANSW\_R\_GROUP (group which contains that buddy OR empty string)
+      * ANSW\_R\_ALIAS (buddy's alias, server alias, contact alias, username OR empty string)
+      * ANSW\_R\_STATUS        (unique ID of remote user's status. eg.: available, away,...)
+      * ANSW\_R\_STATUS\_MSG   (status message set by your buddy)
+      * ANSW\_L\_NAME  (ID of local user)
+      * ANSW\_L\_ALIAS (Alias of local user OR empty string)
+      * ANSW\_L\_STATUS        (unique ID of local user's status. eg.: available, away,...)
+      * ANSW\_L\_STATUS\_MSG   (status message set by local user)
+      * ANSW\_L\_AGENT (ID of IM client used with answerscripts)
+      * ANSW\_L\_AGENT\_VERSION        (Version of client)
     * **WARNING: You should mind security (don't let attackers to execute their messages/nicks!)**
     * I guess that you will want to use more than one answerscript, so i made such answerscript which will execute all answerscripts in **~/.purple/answerscripts.d**
       * It's quite smart and all you need to do is set the filenames and permissions of answerscripts in that directory properly...
@@ -39,12 +49,13 @@ There are lot of hacks that you can do with this simple framework if you know so
 Following answerscript will reply to each incoming message if you are not available. Reply will consist of two messages: one with username of your buddy who sent you a message and text of that message; and second with your status message. Simple huh?
 
     #!/bin/sh
-    [ "$ANSW_STATUS" != 'available' ] && echo "<$ANSW_FROM> $ANSW_MSG" && echo "My status: $ANSW_STATUS_MSG";
+    [ "$ANSW_L_STATUS" != 'available' ] && echo "<$ANSW_R_NAME> $ANSW_MSG" && echo "My status: $ANSW_L_STATUS_MSG";
 
 ##Building & installation
 
 ###From packages
 - ArchLinux: http://aur.archlinux.org/packages.php?ID=37942
+
 ###Manually
 - The libpurple header files are needed to compile the plugin.
 - To build and install :
This page took 0.099753 seconds and 4 git commands to generate.