Bežné Laravel udalosti sa spúšťajú z každého zápisu bez ohľadu na to, či je broadcasting zapnutý, takže reagovať môžu aj aplikácie bez neho — notifikácie, indexovanie pre vyhľadávanie, logy aktivity. Všetky sú v RoundlyConsulting\Messages\Events:
| Udalosť | Verejné vlastnosti | Spustí sa, keď |
|---|---|---|
ThreadCreated | $thread | Vznikne vlákno — až keď sú v ňom jeho účastníci (StartThread, vrátane novej priamej konverzácie). |
MessageSent | $message | Odošle sa správa — až po commite transakcie, prílohy sú teda už naviazané. |
MessageEdited | $message | EditMessage zmení text správy. |
MessageDeleted | $message | DeleteMessage zruší odoslanie (soft delete) správy. |
ParticipantJoined | $participant | AddParticipant pridá nový záznam účastníka — nie pri opätovnom pridaní niekoho, kto už vo vlákne je. |
ParticipantLeft | $thread, $participant (model) | RemoveParticipant alebo LeaveThread niekoho odoberie. |
ThreadRead | $participant | MarkRead posunie ukazovateľ prečítania. |
ThreadRenamed | $thread, $previousName | RenameThread zmení názov. |
ThreadArchived | $thread | ArchiveThread prvýkrát archivuje vlákno. |
ParticipantTyping | $thread, $participant | Zavolá sa Messages::thread($t)->typing() (alebo $thread->typing()) pri zapnutom broadcastingu — len vysielanie. |
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Messages\Events\MessageSent;
Event::listen(MessageSent::class, function (MessageSent $event): void {
// $event->message
});ParticipantTyping je prchavý, nikdy neukladaný signál, ktorý existuje len na vysielanie — pozri Broadcasting. Zmeny rolí a prevod vlastníctva vlastné udalosti nespúšťajú.
Vlastné listenery balíka
Balík počúva na MessageSent dvakrát: NotifyParticipantsOfNewMessage (neaktívny, kým nezapnete notifikácie) a WarmMessageMediaVariants vo fronte (náhľady obrázkových príloh). Vaše listenery bežia popri nich.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.