Difference between revisions of "Events"

From AMule Project FAQ
Jump to: navigation, search
(fxs)
m (inserted scriptsource)
Line 1: Line 1:
'''Events''' are actions aMule can take upon when certain things happen. This actions can be configured on the Events tab of the [[Preferences]] notebook.
+
'''Events''' are actions aMule can take upon when certain things happen. This actions can be configured on the Events tab of the [[Usage_Preferences]] notebook.
  
 
There are two kinds of Events supported at the moment:
 
There are two kinds of Events supported at the moment:
Line 35: Line 35:
  
 
== Examples ==
 
== Examples ==
Here is a bash script which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line:  
+
Here the bash script by Ezeltje from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line:  
  
 
:doneDL.sh "%NAME" "%FILE" %HASH %SIZE
 
:doneDL.sh "%NAME" "%FILE" %HASH %SIZE

Revision as of 01:13, 2 December 2006

Events are actions aMule can take upon when certain things happen. This actions can be configured on the Events tab of the Usage_Preferences notebook.

There are two kinds of Events supported at the moment:

  • Download completed
  • New chat session

When one of these events is triggered, you can configure aMule to execute a

  • core command
  • GUI command

Download completed

When a Download completed event is triggered, four variables can be accessed:

  •  %NAME - the name of the downloaded file with full path
  •  %FILE - the name of the downloaded file without path
  •  %HASH - the ed2k hash of the downloaded file
  •  %SIZE - the size in bytes of the downloaded file

New chat session

When a New chat session event is triggered, one variable can be accessed:

  •  %Sender - username of the person initiating the chat

Syntax

To call an external script, enter the script name in the core command field, followed by the optional variables. For example:

MyScript.sh %NAME %FILE %HASH %SIZE

Note: If the filename contains spaces, the variable names should be enclosed in quotes like this:

MyScript.sh "%NAME" "%FILE" %HASH %SIZE

You need to make sure your script in your PATH or that you supply the pathname.

Examples

Here the bash script by Ezeltje from aMule-Forum which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line:

doneDL.sh "%NAME" "%FILE" %HASH %SIZE

to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.

 #!/bin/bash
 #
 # doneDL.sh - sends an email upon completion of an aMule download
 # Used in conjuction with aMule's Event feature
 #
 # Call like this: doneDL.sh "%NAME" "%FILE" %HASH %SIZE
 #
 # Enter your email address here:
 eMail=
 #
 NameShort=$1
 NameLong=$2
 Hash=$3
 Size=$4
 {
 echo aMule completed this download:
 echo ------------------------------
 echo
 echo File: "$NameLong"
 echo Hash: $Hash
 echo -n "Time: "
 date | awk '{print $4 " " $5}'
 echo -n Size: $Size bytes 
 if [ $Size -gt 102400 ] ; then echo " ("$(($(($Size / 1024)) / 1024)) "Mb)" ; fi
 echo
 echo --------------------------------------------------------------------
 cas
 echo -n "Resident memory: "
 echo $(ps u -C amule --no-headers | awk '{print $6}') kB
 echo -n "Virtual memory:  "
 echo $(ps u -C amule --no-headers | awk '{print $5}') kB
 echo --------------------------------------------------------------------
 } | mail -s "$NameShort" $eMail