2014-11-04 14 views
7

Hooks scheinen ziemlich praktisch zu sein, um die Funktionalität von Ejabberd zu erweitern.Dokumentation für Ejabberd Haken?

Es gibt eine Reihe von ejabberd hooks von den Herstellern erwähnt, aber es ist schwer zu verstehen, welche verwendet wird, wenn, abgesehen von wenigen.

kann jemand einige Details aus seinen Erfahrungen teilen, die erklären, was ein bestimmter Haken tut?

+0

Können Sie den Link von ejabbered Hooks aktualisieren? Es zeigt nicht auf einen Haken – simo

Antwort

1

Es wird bestimmte Ereignisse geben, an denen Sie eine Aktion auslösen möchten. Hooks koppelt Ihren Code mit einigen Komponenten von ejabberd, wenn ein Ereignis auftritt. Sie können Ihren eigenen benutzerdefinierten Code schreiben (ua Event-Handler) und integrieren es mit HOOK zu ejabberd.

  • filter_packet: Dieser Haken durch ejabberd_router ausgeführt wird, sobald das Paket über ejaberd_router geroutet wird: Route/3. ejabberd_c2s ruft es auf, nachdem es ein Paket von ejabberd_receiver (d. h. dem Socket) empfangen hat, und mehrere Module verwenden es zum Senden von Antworten und Fehlern.
  • offline_message_hook: Wenn Ejabberd routet, ist die Zeilengruppe und der Empfänger offline.
  • user_receive_packet: Der Hook wird ausgeführt, unmittelbar nachdem ein Paket an den Benutzer gesendet wurde.
+0

Welcher Haken wird verwendet, wenn eine Nachricht an einen Chat-Raum gesendet wird? Ein einzelner Benutzer? – simo

0

sm_remove_connection_hook und

sm_register_connection_hook

sind auch sehr praktisch zu erfassen, wenn der Benutzer off- und on-line geht.