2009-08-27 10 views
0

J'écris un module ejabberd. Ce qu'il fait, c'est enregistrer des messages dans une file d'attente. Cela fonctionne très bien, il n'y a qu'une seule chose que je ne trouve dans aucune documentation. Je dois arrêter le traitement du hook si je trouve un message provenant d'un utilisateur particulier.Terminer le traitement du hook dans le module ejabberd

I.e. un message est envoyé à ejabberd, de l'utilisateur A à l'utilisateur B, mon module (accroché au hook utilisateur_send_packet) traite ce message et, s'il trouve que l'utilisateur A est l'utilisateur spécifié, ne doit pas le livrer. D'après ce que j'ai compris, vous pouvez y parvenir en arrêtant le traitement du crochet. Comment arrêtez-vous le traitement du crochet?

Répondre

2

Si ce que vous voulez est de déposer des messages de A -> B, vous pouvez le faire en vous inscrivant à la fiter_packet crochet, et de ce retour baisse de laisser tomber les paquets que vous ne souhaitez pas autoriser.

D'après ce que je compris que vous pouvez y parvenir en arrêtant le traitement crochet

pas, arrêter le traitement crochet empêchera d'autres gestionnaires enregistrés sur ce crochet (le cas échéant) à activer, mais rien d'autre, la le paquet continuera comme d'habitude.

+0

tnx homme ça a marché ^^ – Francesco

Questions connexes