Download the PHP package metafroliclabs/laravel-chat without Composer
On this page you can find all versions of the php package metafroliclabs/laravel-chat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download metafroliclabs/laravel-chat
More information about metafroliclabs/laravel-chat
Files in metafroliclabs/laravel-chat
Package laravel-chat
Short Description A powerful and customizable chat system built for Laravel applications. This package supports private and group chats, media sharing, chat settings, user roles, activity messages, and more.
License MIT
Informations about the package laravel-chat
Laravel Chat Package
A powerful and customizable chat system built for Laravel applications. This package supports private and group chats, media sharing, chat settings, user roles, activity messages, and more.
🚀 Features
- Dual-mode (standard/universal) design.
- Private & Group Chat
- Message types: message, activity
- User roles: admin, user
- Group settings (permissions control)
- Message read/unread tracking
- Activity messages: group creation, joins, leaves, settings changes
- Media upload support
- Configurable user info: name, avatar
- Extendable & clean architecture (Service-based)
📦 Installation
Or, manually publish configuration file:
Run migrations:
Make sure storage is linked:
⚙️ Configuration
Customize settings in config/chat.php
:
1. Chat type:
You can switch between standard (private/group chat) and universal (global chat):
Also in universal type, you can enable/disable some modules:
2. Pagination:
Enable or disable pagination:
3. Activity Messages
Automatically generated for:
- Group creation
- User added/removed
- Group settings updated
- User left the chat
You can disable all activity messages globally:
4. User Model Configuration
Define how user information (name and avatar) is retrieved:
5. Rate Limiting
You can control how many chats a user can create and how many messages they can send per minute. These limits help prevent spam and abuse.
- Limits are enforced per authenticated user (or IP if unauthenticated).
- You can adjust these values to suit your application's needs.
📡 Events in Laravel Chat
Laravel Chat dispatches events to help you hook into the system and extend functionality such as notifications, logging, analytics, and more.
🔥 Available Events
Metafroliclabs\LaravelChat\Events\MessageSent
Dispatched when a message is successfully sent in a chat.
Event Data:
⚙️ How to Use
Step 1: Create a Listener
Step 2: Handle the Event
🔧 Register the Listener
In your app/Providers/EventServiceProvider.php
:
Then run:
🧠 Usage
📚 API Endpoints
All routes are prefixed by the config value chat.prefix
(default: chat) and use the chat.middleware
middleware group.
Middleware: auth:sanctum
is required.
🔍 Chat List & Info
Method | Endpoint | Description |
---|---|---|
GET | /all/list |
Get all chats for the user |
GET | /unread/list |
Get all unread chats |
GET | /unread/count |
Get unread chat count |
🛠️ Chat Management
Method | Endpoint | Description |
---|---|---|
POST | /create |
Create private chat |
POST | /create/group |
Create group chat |
POST | /{id}/update |
Update chat name/image/settings |
POST | /{id}/delete |
Delete a chat |
POST | /{id}/leave |
Leave group chat |
POST | /{id}/mute |
Mute/unmute chat |
GET | /{id} |
Chat detail |
👥 User Management
Method | Endpoint | Description |
---|---|---|
GET | /{id}/users |
Get all users in the chat |
POST | /{id}/users/add |
Add users to a group |
POST | /{id}/users/remove |
Remove users |
POST | /{id}/users/{uid}/admin |
Promote/demote user to/from admin |
💬 Messaging
Method | Endpoint | Description |
---|---|---|
GET | /{id}/messages |
Get all messages in a chat |
POST | /{id}/messages |
Send a new message |
POST | /{id}/messages/forward |
Forward messages |
POST | /{id}/messages/{mid}/update |
Update a message |
POST | /{id}/messages/{mid}/delete |
Delete a message |
💖 Reactions & Views
Method | Endpoint | Description |
---|---|---|
GET | /{id}/messages/{mid}/likes |
Get users who liked a message |
POST | /{id}/messages/{mid}/likes |
Like/unlike a message |
GET | /{id}/messages/{mid}/views |
Get users who viewed a message |
POST | /{id}/messages/{mid}/views |
Mark message as viewed |
⚡ Rate Limiting
Some endpoints are rate limited to prevent abuse:
- Chat Creation (
/create
,/create/group
): Limited tochat_creation_per_minute
(default: 20) per user per minute. - Message Sending (
/{id}/messages
,/{id}/messages/forward
): Limited tomessages_per_minute
(default: 40) per user per minute.
If a user exceeds these limits, a 429 Too Many Requests
response will be returned by the API.
📄 License
This project is licensed under the MIT License.