Difference between revisions of "Events"

From AMule Project FAQ
Jump to: navigation, search
 
(f***** captcha)
Line 1: Line 1:
(There is currently no text in this page)
+
'''Events''' are actions aMule can take upon when certain things happen. This actions can be configured on the Events tab of the [[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 is a bash script which will send you an email every time a download is completed. To use, enter your email address where indicated. Then add this line to the Core command field of the Download completed section of the Events page.
 +
 
 +
  #!/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 Size: $Size bytes "("$(($(($Size / 1024)) / 1024)) "Mb)"
 +
  echo
 +
  echo --------------------------------------------------------------------
 +
  cas
 +
  echo -n "Resident memory: "
 +
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB
 +
  echo -n "Virtual memory:  "
 +
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB
 +
  echo --------------------------------------------------------------------
 +
  } | mail -s "$NameShort" $eMail
 +
 
 +
__NOTOC__

Revision as of 16:54, 1 December 2006

Events are actions aMule can take upon when certain things happen. This actions can be configured on the Events tab of the 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 is a bash script which will send you an email every time a download is completed. To use, enter your email address where indicated. Then add this line to the Core command field of the Download completed section of the Events page.

 #!/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 Size: $Size bytes "("$(($(($Size / 1024)) / 1024)) "Mb)"
 echo
 echo --------------------------------------------------------------------
 cas
 echo -n "Resident memory: "
 echo $(ps u -C amule --no-headers | awk '{print $5}') kB
 echo -n "Virtual memory:  "
 echo $(ps u -C amule --no-headers | awk '{print $6}') kB
 echo --------------------------------------------------------------------
 } | mail -s "$NameShort" $eMail