- PHP >= 7.4 | 8.0
- Laravel >= 8.42
SubstituteBindings::class
route model binding enabled in your API / WEB middleware groups.- Configure your laravel apps broadcast driver, and set up your own websocket implementation, should you choose to listen in on our realtime broadcast.
- Realtime messaging between multiple models, such as a User, Admin, and a Teacher model.
- RESTful API, allowing you to create your own UI or connect to your mobile app.
- Support for morph maps on your provider models. See: Morph Maps
- Private and group threads.
- Permissions per participant within a group thread.
- Send image, document or audio messages.
- Message reactions, replies, edits, and deletion.
- Group thread chat-bots. Bot addon
- Friends, Search, and Online status systems.
- Provider avatars, group thread avatars, and bot avatars.
- Underlying calling system you can extend.
- Group thread invitation links (like discord).
- All actions are protected behind policies.
- Scheduled commands for automated cleanup and checks.
- Queued jobs fired from our event subscribers.
- Most features can be toggled at runtime using our
Messenger
facade. MessengerComposer
facade allows you to have easy access to our core actions anywhere within your own app, such as sending messages, images, reactions, and more.- You can implement or extend your own
BroadcastDriver
,VideoDriver
, andFriendDriver
, simply by binding your classes into the container. - Optional extra payload when sending messages to allow custom json to be stored with the message.
- Temporary Ephemeral conversations.
- Improved API pagination / filters.
- Possible extraction of friends system.
- Better image manipulation / saving of multiple sizes.
- Encryption of messages (E2E is the long term goal).
- Read through our
messenger.php
config file before migrating! - This is a pure backend driven package providing an API to interact with, thus no web UI or websocket implementation will be setup for you.
- Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party service.
$ composer require rtippin/messenger
- Messenger Bots - Pre-made bots you can register within our core.
- Messenger Faker - Adds commands useful in development environments to mock/seed realtime events and messages.
- Messenger Web UI - Ready-made web routes and publishable views / assets, including default images.
- Demo App - Our demo laravel app with this core package installed, including a Live Demo.
Credits - Richard Tippin
If you discover any security related issues, please email author instead of using the issue tracker.