From AMule Project FAQ
Revision as of 02:13, 2 December 2006 by Ihmselbst (Talk | contribs)

Jump to: navigation, search

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


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

Note: If the filename contains spaces, the variable names should be enclosed in quotes like this: "%NAME" "%FILE" %HASH %SIZE

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


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: "%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.

 # - sends an email upon completion of an aMule download
 # Used in conjuction with aMule's Event feature
 # Call like this: "%NAME" "%FILE" %HASH %SIZE
 # Enter your email address here:
 echo aMule completed this download:
 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 -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