laravel-messenger 0,0,1,2,0,7 scrutinizer travis-ci Packagist phpunit

Simple user messaging package for Laravel (4 & 5)

Build Status Scrutinizer Scrutinizer Coverage Latest Version Total Downloads Software License Get help on Codementor

Laravel Messenger

This package will allow you to add a full user messaging system into your Laravel application.

Leave some feedback

How are you using laravel-messenger?

Features

  • Multiple conversations per user
  • Optionally loop in additional users with each new message
  • View the last message for each thread available
  • Returns either all messages in the system, all messages associated to the user, or all message associated to the user with new/unread messages
  • Return the users unread message count easily
  • Very flexible usage so you can implement your own access control

Common uses

  • Open threads (everyone can see everything)
  • Group messaging (only participants can see their threads)
  • One to one messaging (private or direct thread)

Installation (Laravel 4.x)

Installation instructions for Laravel 4 can be found here.

Installation (Laravel 5.x)

In composer.json:

"require": {
    "cmgmyr/messenger": "~2.0"
}

Run:

composer update

Add the service provider to config/app.php under providers:

'providers' => [
    Cmgmyr\Messenger\MessengerServiceProvider::class,
],

Publish config:

php artisan vendor:publish --provider="Cmgmyr\Messenger\MessengerServiceProvider" --tag="config"

Update config file to reference your User Model:

config/messenger.php

Create a users table if you do not have one already. If you need one, simply use this example as a starting point, then migrate.

(Optional) Define names of database tables in package config file if you don’t want to use default ones:

'messages_table' => 'messenger_messages',
'participants_table' => 'messenger_participants',
'threads_table' => 'messenger_threads',

Publish migrations:

php artisan vendor:publish --provider="Cmgmyr\Messenger\MessengerServiceProvider" --tag="migrations"

Migrate your database:

php artisan migrate

Add the trait to your user model:

use Cmgmyr\Messenger\Traits\Messagable;

class User extends Authenticatable {
    use Messagable;
}

Examples

Example Projects

Contributing?

Please format your code before creating a pull-request. This will format all files as specified in .php_cs:

vendor/bin/php-cs-fixer fix .

Security

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

Credits

Special Thanks

This package used AndreasHeiberg/laravel-messenger as a starting point.

Related Repositories

laravel-messenger

laravel-messenger

Simple user messaging package for Laravel (4 & 5) ...

l4-messenger

l4-messenger

Message Package for Laravel 4. ...

laravel-messenger

laravel-messenger

Basic messaging package for laravel ...

laravel-messenger-bot-management

laravel-messenger-bot-management

:smile: Messenger bot Q&A management with Laravel ...

laravel-messenger-pusher-demo

laravel-messenger-pusher-demo

Demo app using Laravel Messenger & Pusher ...


Top Contributors

cmgmyr a-komarev pascalbaljet Kenny11CZ A5hleyRich ognjenm gamemovies anhskohbo adamwathan theunreal DODMax mickaelandrieu UnrulyNatives RaoulDijksman tzookb

Dependencies

package version
php >=5.4.0
illuminate/config ~5.0
illuminate/support ~5.0
illuminate/database ~5.0
nesbot/carbon ~1.0
dev phpunit/phpunit 4.*|5.*
adamwathan/faktory 0.3.*
friendsofphp/php-cs-fixer ^1.11
orchestra/testbench ~3.0

Releases

-   2.13 zip tar
-   2.12 zip tar
-   2.11 zip tar
-   2.10 zip tar
-   2.9.1 zip tar
-   2.9 zip tar
-   2.8.2 zip tar
-   2.8.1 zip tar
-   2.8 zip tar
-   2.7.1 zip tar
-   2.7 zip tar
-   2.6 zip tar
-   2.5.1 zip tar
-   2.5 zip tar
-   2.4 zip tar
-   2.3 zip tar
-   2.2.1 zip tar
-   2.2 zip tar
-   2.1 zip tar
-   2.0 zip tar
-   1.8.2 zip tar
-   1.8.1 zip tar
-   1.8 zip tar
-   1.7.1 zip tar
-   1.7 zip tar
-   1.6 zip tar
-   1.5 zip tar
-   1.4 zip tar
-   1.3 zip tar
-   1.2.1 zip tar