PHPackages                             escolalms/mattermost - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. escolalms/mattermost

ActivePackage[Utility &amp; Helpers](/categories/utility)

escolalms/mattermost
====================

Escola LMS mattermost integration.

0.1.6(1mo ago)09.8k↓50%1MITPHPPHP &gt;=7.4

Since Jan 17Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/EscolaLMS/Mattermost)[ Packagist](https://packagist.org/packages/escolalms/mattermost)[ RSS](/packages/escolalms-mattermost/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (23)Versions (19)Used By (1)

Mattermost
==========

[](#mattermost)

[![swagger](https://camo.githubusercontent.com/bf46f50926ef796b1bb0b6e41af746af52ff3aacdffb0533450f3b614a7334a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63756d656e746174696f6e2d737761676765722d677265656e)](https://escolalms.github.io/Mattermost/)[![codecov](https://camo.githubusercontent.com/ae1c4b4c42e3f6f76a8d960475a41f009bc5c3195e25b09ddf3dfc0725429db5/68747470733a2f2f636f6465636f762e696f2f67682f4573636f6c614c4d532f4d61747465726d6f73742f6272616e63682f6d61696e2f67726170682f62616467652e7376673f746f6b656e3d4e52414e34523841475a)](https://codecov.io/gh/EscolaLMS/Mattermost)[![phpunit](https://github.com/EscolaLMS/Mattermost/actions/workflows/test.yml/badge.svg)](https://github.com/EscolaLMS/Mattermost/actions/workflows/test.yml)[![downloads](https://camo.githubusercontent.com/f8b57de89133a49aad6211e1862372e009f469d3a3dc179dcf834931df2c93c8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6573636f6c616c6d732f6d61747465726d6f7374)](https://packagist.org/packages/escolalms/mattermost)[![downloads](https://camo.githubusercontent.com/598c2df5e1ee54a3c06a61f4eb0724dbc829b7dd9336f72fb8d3c10c751c5e32/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6573636f6c616c6d732f6d61747465726d6f7374)](https://packagist.org/packages/escolalms/mattermost)[![downloads](https://camo.githubusercontent.com/7a0da5dee8152a692f6246ac4f04de956f579a819273d1111e2158ad5138484a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6573636f6c616c6d732f6d61747465726d6f7374)](https://packagist.org/packages/escolalms/mattermost)[![Maintainability](https://camo.githubusercontent.com/605f0c2b73315a0c3d8d5b8b9693fd60a53b0373a57dadc196076e9c4f6596cc/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30303732356336656134363166636661323735342f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/EscolaLMS/Mattermost/maintainability)[![Test Coverage](https://camo.githubusercontent.com/623bd2f0db85681d33ff9f747f76b0290a5e7b35f377502853e15f3b2b35a1dd/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30303732356336656134363166636661323735342f746573745f636f766572616765)](https://codeclimate.com/github/EscolaLMS/Mattermost/test_coverage)

What does it do
---------------

[](#what-does-it-do)

This package is used for [Mattermost](https://mattermost.com/) integration.

It listens for Events then add/remove user for mattermost and particular channels either as standard user or admin.

Installing
----------

[](#installing)

- `composer require escolalms/mattermost`

Example
-------

[](#example)

You can configure the package using Facade

```
Config::set('mattermost.package_status', PackageStatusEnum::ENABLED);
Config::set('mattermost.servers.default.host', 'localhost');
Config::set('mattermost.servers.default.login', 'login');
Config::set('mattermost.servers.default.password', 'password');

```

or `/api/admin/config` endpoint

```
$this->actingAs($this->user, 'api')->json(
    'POST',
    '/api/admin/config',
    [
        'config' => [
            [
                'key' => 'mattermost.package_status',
                'value' => PackageStatusEnum::ENABLED,
            ],
            [
                'key' => 'mattermost.servers.default.host',
                'value' => 'localhost',
            ],
            [
                'key' => 'mattermost.servers.default.login',
                'value' => 'login',
            ],
            [
                'key' => 'mattermost.servers.default.password',
                'value' => 'password',
            ],
        ]
    ]
);
```

Endpoints
---------

[](#endpoints)

All the endpoints are defined in [![swagger](https://camo.githubusercontent.com/bf46f50926ef796b1bb0b6e41af746af52ff3aacdffb0533450f3b614a7334a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63756d656e746174696f6e2d737761676765722d677265656e)](https://escolalms.github.io/Mattermost/)

Test
----

[](#test)

Run `./vendor/bin/phpunit` to run tests. See tests folder as it's quite good staring point as documentation appendix. Test details [![codecov](https://camo.githubusercontent.com/ae1c4b4c42e3f6f76a8d960475a41f009bc5c3195e25b09ddf3dfc0725429db5/68747470733a2f2f636f6465636f762e696f2f67682f4573636f6c614c4d532f4d61747465726d6f73742f6272616e63682f6d61696e2f67726170682f62616467652e7376673f746f6b656e3d4e52414e34523841475a)](https://codecov.io/gh/EscolaLMS/Mattermost)[![phpunit](https://github.com/EscolaLMS/Mattermost/actions/workflows/test.yml/badge.svg)](https://github.com/EscolaLMS/Mattermost/actions/workflows/test.yml)

Listeners
---------

[](#listeners)

Handling events

- `EscolaLms\Auth\Events\AccountConfirmed` =&gt; add user to Mattermost
- `EscolaLms\Auth\Events\AccountDeleted` =&gt; remove user from Mattermost
- `EscolaLms\Auth\Events\AccountBlocked` =&gt; block user account
- `EscolaLms\Courses\Events\CourseAssigned` =&gt; add user to course channel with member role
- `EscolaLms\Courses\Events\CourseUnassigned` =&gt; remove user from course channel
- `EscolaLms\Courses\Events\CourseTutorAssigned` =&gt; add user to course channel with channel\_admin role
- `EscolaLms\Courses\Events\CourseTutorUnassigned` =&gt; remove user from course channel
- `EscolaLms\Webinar\Events\WebinarUserAssigned` =&gt; add user to webinar channel with member role
- `EscolaLms\Webinar\Events\WebinarUserUnassigned` =&gt; remove user from webinar channel
- `EscolaLms\Webinar\Events\WebinarTrainerAssigned` =&gt; add user to webinar channel with channel\_admin role
- `EscolaLms\Webinar\Events\WebinarTrainerUnassigned` =&gt; remove user from webinar channel

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance72

Regular maintenance activity

Popularity24

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~95 days

Recently: every ~346 days

Total

17

Last Release

54d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c857f3115c790c573d0617d7e9ba4011269ef7b9dfdb003dc4388846a62b14f7?d=identicon)[qunabu](/maintainers/qunabu)

---

Top Contributors

[![mako321](https://avatars.githubusercontent.com/u/59456825?v=4)](https://github.com/mako321 "mako321 (20 commits)")[![qunabu](https://avatars.githubusercontent.com/u/214608?v=4)](https://github.com/qunabu "qunabu (5 commits)")[![HerbertIV](https://avatars.githubusercontent.com/u/62691459?v=4)](https://github.com/HerbertIV "HerbertIV (3 commits)")[![daVitekPL](https://avatars.githubusercontent.com/u/58150098?v=4)](https://github.com/daVitekPL "daVitekPL (2 commits)")[![dyfero](https://avatars.githubusercontent.com/u/59400506?v=4)](https://github.com/dyfero "dyfero (2 commits)")[![pa-cholek](https://avatars.githubusercontent.com/u/5345420?v=4)](https://github.com/pa-cholek "pa-cholek (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/escolalms-mattermost/health.svg)

```
[![Health](https://phpackages.com/badges/escolalms-mattermost/health.svg)](https://phpackages.com/packages/escolalms-mattermost)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[backpack/basset

Dead-simple way to load CSS or JS assets only once per page, when using Laravel 10+.

202832.4k6](/packages/backpack-basset)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[blair2004/nexopos

The Free Modern Point Of Sale System build with Laravel, TailwindCSS and Vue.js.

1.2k2.3k](/packages/blair2004-nexopos)[nickurt/laravel-akismet

Akismet for Laravel 11.x/12.x/13.x

97139.6k2](/packages/nickurt-laravel-akismet)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
