Events-de

From AMule Project FAQ
Jump to: navigation, search

English | Deutsch | Plattdeutsch

Unter Ereignisse lassen sich Aktionen einstellen, die aMule ausführen soll, sobald ein bestimmtes Ereignis eingetreten ist. Diese Aktionen lassen sich unter dem Reiter Voreinstellungen festlegen.

Momentan werden zwei Arten von Ereignissen unterstützt:

  • Download beendet
  • Neue Chatsitzung

aMule lässt sich so einstellen, dass einer der folgenden Befehle ausgeführt wird, sobald eins dieser Ereignisse ausgelöst wird:

  • Kern-Befehl
  • Oberflächen-Befehl

Ein Kernbefehl (Core-Befehl) ist ein Befehl, der von einer aMule-Variante mit Kern (aMule-Daemon oder der aus einem Stück bestehende (monolithische) aMule) ausgeführt werden kann. Ein Oberflächenbefehl (GUI-Befehl) ist ein Befehl, der vun einer aMule-Variante mit GUI (aMule GUI oder der monolithisch aufgebaute aMule) ausgeführt werden kann. Man beachte, dass aMule beide ausführen wird, wenn beide festgelegt wurden.

Download beendet

Für das Ereignis "Download beendet" lassen sich folgende Variablen zuweisen:

  •  %NAME - Der Name der runtergeladenen Datei mit voller Pfadangabe
  •  %FILE - Der Name der runtergeladenen Datei ohne Pfadangabe
  •  %HASH - Die eD2k-Prüfsumme der runtergeladenen Datei
  •  %SIZE - Die Grösse der runtergeladenen Datei in Byte
  •  %DLACTIVETIME - Die Gesamtzeit, die der Download aktiv war

Neue Chatsitzung

Wenn eine neue Chatsitzung ausgelöst wurde, lässt sich eine Variable zuweisen:

  •  %Sender - Der Benutzername desjenigen, der die Chatsitzung begonnen hat

Schreibweise

Um ein externes Skript aufzurufen, gib den Skriptnamen, gefolgt von optionalen Variablen, in das Eingabefeld ein. Beispiel:

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

Hinweis: Wenn der Dateiname Leerzeichen enthält, sollte der Variablenname in Anführungsstrichen gesetzt werden:

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

Vergewissere dich, dass dein Skript sich in deinem PFAD befindet, und der Pfadname unterstützt wird.

Beispiele

Hier ein Konsolenskript von Ezeltje aus dem Forum, das dir jedesmal eine eMail schickt, wenn ein Download fertiggestellt wird. Um es zu verwenden, gib deine Emailadresse an der angegebenen Stelle ein und speichere es in deinem PFAD. Dann füge diese Zeile

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

auf der Ereignis-Seite in das Eingabefeld für Kernbefehle ein. Das Skript wird nun immer dann aufgerufen, sobald aMule einen Download fertiggestellt hat.

 #!/bin/bash
 #
 # doneDL.sh - Schickt eine Email bei Fertigstellung eines Downloads raus
 # Verwendung mit der Ereignisfunktion von aMule
 #
 # Aufruf wie folgt: doneDL.sh "%NAME" "%FILE" %HASH %SIZE
 #
 # Gib hier deine Emailadresse ein:
 eMail=
 #
 NameShort=$1
 NameLong=$2
 Hash=$3
 Size=$4
 DlActiveTime=$5
 {
 echo aMule hat diesen Download abgeschlossen:
 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 Dowload Active Time: $DlActiveTime
 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