Skip to content

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

License

Notifications You must be signed in to change notification settings

cuongdo926/messenger

 
 

Repository files navigation

Laravel Messenger

Latest Version on Packagist Total Downloads Tests StyleCI License


Preview


Prerequisites

  • PHP >= 7.4 | 8.0
  • Laravel >= 8.42
  • laravel broadcast driver configured, and your own websocket implementation.
  • SubstituteBindings::class route model binding enabled in your API / WEB middleware groups.

Features

  • Realtime messaging between multiple models, such as a User, Admin, and Teacher model.
  • RESTful API, allowing you to make your own UI or connect to a 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, group thread, and bot avatars.
  • Underlying calling system you can extend.
  • Group thread invitation links (like discord).
  • All actions are protected behind policies.
  • Scheduled commands for automation cleanup and checks.
  • Queued jobs fired from our event subscribers.
  • Most features can be toggled at runtime using our Messenger facade.
  • Optional extra payload when sending messages to allow custom json to be stored with the message.

Upcoming for v2

  • 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).

Notes

  • Read through our messenger.php config file before migrating!
  • Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party service.

Installation

Composer

$ composer require rtippin/messenger

To complete our setup, please refer to the installation docs listed below:


Documentation


Addons / Demo

  • Messenger Bots - Bot functionality is built into the core of this MESSENGER package, but you are responsible for registering your own bot handlers.
  • Messenger Faker - An addon package useful in dev environments to mock/seed realtime events and messages.
  • Messenger Web UI - Addon package containing ready-made web routes and publishable views / assets, including default images.
  • Demo App - You may view our demo laravel 8 source with this package installed, including a Live Demo.

Credits - Richard Tippin

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

About

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%