====== Events ======

Beachten Sie hierzu auch den Aufbau einer übergebenen Nachricht, wie er unter [[nettalk:plugins#events_empfangen|Plugins erstellen/Events Empfangen]] beschreiben ist.


----
**''Chan_Join(Nick, Channel, FrameID, ConnID)''**

**''Chan_Part(Nick, Channel, FrameID, ConnID)''**

Dieses Ereignisse treten ein, wenn jemand einen Channel betritt (Chan_Join) oder verlässt (Chan_Part).
//Nick// ist der User, welcher den //Channel// im Fenster Nr. //FrameID// und der Serververbindung Nr. //ConnID// betreten hat.

[[nettalk:scripting:events:Beispiel#Chan_Join|Beispiel für Chan_Join]]

----
**''Chan_Mode(Nick, ModeStr, ParaStr, FrameID, ConnID)''**

Wird ausgelöst wenn sich der Modus in einem Channel ändert. (geschieht z.B. jedesmal wenn einer dem andern Op oder voice gibt/nimmt). Dieses Event erfasst alle Änderungen die mit dem IRC-Befehl '/mode' gemacht werden.
  * //Nick//: Nick der Person, die den Status geändert hat.
  * //ModeStr//: String mit der Modusänderung (z.B. "+o" wenn jemanden 'Op'-Status gegeben wurde)
  * //ParaStr//: Zusätzlicher '/mode' Parameter (z.B. der Nick der 'op' bekommen hat)
  * //FrameID//: ID des Fenster betreffenden Fensters
  * //ConnID//: ID der betreffenden Verbindung

----
**''Chan_Msg(Text, Nick, Channel, FrameID, ConnID)''**

Wenn //Nick// in einem beliebigen offenenem //Channel// eine Nachricht schreibt und absendet tritt dieses Ereignis ein.
Der //Text// beinhaltet das geschriebene und mit //FrameID// kann man feststellen, in welchem Fenster der Text geschrieben wurde.
Die //ConnID// ist die Serververbindung in der dieses Ereignis auftrat.

[[nettalk:scripting:events:Beispiel#Chan_Msg|Beispiel für Chan_Msg]]

----
**''Chan_NickChange(OldNick, NewNick, FrameID, ConnID)''**

Wird ausgelöst wenn in einem der Channel (in denen man sich auch selbst befindet) ein User (auch man selbst) seinen Nick mit '/nick <nick>' ändert.
  * //OldNick//: Der Nick des User __bevor__ er sich umbenannt hat.
  * //NewNick//: Der Nick des User __nachdem__ er sich umbenannt hat.
  * //FrameID//: ID des Fenster im welchen der Nickwechsel zu beobachten war (das Ereignis tritt für __jedes__ Fenster auf, in welchem der Wechsel sichtbar war!)
  * //ConnID//: ID der Verbindung, über die sich ein User umbenannt hat.

----
**''PluginEvent(Plugin, EventId, Data)''**

Dieses Ereignis wird von einem Nettalk-Plugin ausgelöst.
  * //Plugin//: Name des Plugins
  * //EventId//: ID des auftretenden Events (bezeichnet die Art des Ereignisses). Mögliche Werte sind:
    * 0: Plugin wird nicht initialisiert, da es bereits geladen ist.
    * 1: Plugin wird gestartet
    * 2: Plugin wird beendet
    * 3: Plugin sendet Daten (über den "send" Befehl)
  * //Data//: Bei der EventId 3 befinden sich in diesem Parameter die vom Plugin gesendeten Daten

----
**''Return(Text)''**

**''ReturnError(Text)''**

Eines dieser Ereignisse wird ausgelöst wenn das Plugin eine Anfrage mit dem Befehl **Request** gestartet hat. Konnte die Anfrage Bearbeitet werden, so wird der Befehl **Return** an das Plugin gesendet. Trat beim Bearbeiten der Anfrage jedoch ein Fehler auf, wird stattdessen **ReturnError** gesendet.
  * //Text//: Entählt die Antwort auf die gestellte Anfrage. Bei ReturnError handelt es sich um einen Fehler-Text (gew. "Syntax Error")

__Hinweis:__ Diese Befehle werden von Nettalk gesendet __//bevor//__ die ''SendMessage()'' Funktion zurückgekehrt ist!

----
**''SendMsg(Text, Channel, FrameID, ConnID)''**

Wird ausgelöst wenn man selbst Text in einen Channel schreibt.
  * //Text//: Der Text den man geschrieben hat
  * //Channel//: Der Channel, in den Man geschrieben hat
  * //FrameID//: ID des betreffenden Fensters
  * //ConnID//: ID der betreffenden Verbindung

----
**''Serv_Closed(ConnID)''**

Wird ausgelöst wenn eine Verbindung zu einem Server beendet wurde.
  * //ConnID//: ID der Verbindung, die beendet wurde

----
**''Serv_Connect(ConnID)''**

Wird ausgelöst wenn eine Verbindung zu einem Server hergestellt werden soll. 
  * //ConnID//: ID fur die Verbindung, die hergestellt wird

----
**''Serv_Connected(ConnID)''**

Wird ausgelöst wenn eine Verbindung zu einem Server erfolgreich hergestellt wurde.
  * //ConnID//: ID der neu hergestellten Verbindung

----
**''Serv_Querry(Text, Nick, FrameID, ConnID)''**

Wird beim Erhalt einer privaten Nachricht (/msg) aufgerufen. //Nick// ist dabei der Sender der Nachricht, //Text// der geschriebene Text, //FrameID// identifiziert das Fenster, in welchem der Text angezeigt wird und //ConnID// die Serververbindung über die die Nachricht einging.

[[nettalk:scripting:events:Beispiel#Serv_Query|Beispiel für Serv_Query]]

----
**''Serv_Quit(Nick, QuitMsg, ConnID)''**

Wird aufgerufen wenn ein Benutzer die Verbindung zu einem Server beendet (der betreffende User muss in einem der geöffneten Fenster sichbar sein)
  * //Nick//: Der Nick des User, welcher nun nicht mehr mit dem Server verbunden ist.
  * //QuitMsg//: Die QuitMessage des Benutzer (bei "/quit bis bald" wäre das der Text "bis bald")
  * //ConnID//: ID der Serververbindung von welcher sich der User getrennt hat.

----
**''Unload()''**

Dieses Ereignis wird ausgelöst wenn ein Plugin beendet werden soll (entweder weil der Benutzer das Plugin expliziet mit mit dem 'Beenden' Knopf in der Pluginübersicht abschaltet, oder wenn Nettalk beendet wird). Als Reaktion sollte sich ein Plugin in jedem Fall selbst beenden!
