<?php namespace App\Events; use App\Models\ChatBox; use App\Models\User; use Illuminate\Broadcasting\Channel; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; class MessageSent { use Dispatchable, InteractsWithSockets, SerializesModels; /** * user that sent the message * * @var User */ public User $user; /** * @var ChatBox */ public ChatBox $message; /** * Create a new event instance. * * @return void */ public function __construct(User $user, ChatBox $message) { $this->user = $user; $this->message = $message; } /** * Get the channels the event should broadcast on. * * @return Channel|PrivateChannel */ public function broadcastOn(): Channel|PrivateChannel { return new PrivateChannel('chat'); } }