PHPackages                             wyatts97/flarum-chatroom - 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. wyatts97/flarum-chatroom

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

wyatts97/flarum-chatroom
========================

A real-time chatroom extension for Flarum v2.x

v1.3.7(2mo ago)054MITPHP &gt;=8.2

Since May 24Compare

[ Source](https://github.com/wyatts97/flarum-chatroom)[ Packagist](https://packagist.org/packages/wyatts97/flarum-chatroom)[ RSS](/packages/wyatts97-flarum-chatroom/feed)WikiDiscussions Synced 3w ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Flarum Chatroom Extension
=========================

[](#flarum-chatroom-extension)

A real-time chatroom extension for Flarum v2

Features
--------

[](#features)

- **Mithril Frontend** — Built with TypeScript and Mithril JSX components.
- **JSON:API Backend** — Full Flarum JSON:API integration with proper serializers.
- **MySQL Storage** — Messages stored in a dedicated `chat_messages` table.
- **Logged-in Only** — Chatroom accessible only to registered users.
- **Polling MVP** — Configurable polling interval for live message updates.
- **Websocket-Ready** — Event architecture (`ChatMessagePosted`) ready for Pusher/WebSocket integration.
- **Modern Responsive UI** — Mobile-friendly design with auto-scroll and clean aesthetics.
- **Flood Control &amp; Limits** — Configurable rate limiting, max message length, and history limit.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.2
- Flarum &gt;= 2.0.0-rc.1
- MySQL / MariaDB

Installation
------------

[](#installation)

```
composer require wyatts97/flarum-chatroom
php flarum migrate
php flarum cache:clear
```

Build Frontend
--------------

[](#build-frontend)

```
cd js
npm install
npm run build
```

Admin Settings
--------------

[](#admin-settings)

- **Polling interval** — How often to poll for new messages (ms).
- **Flood control** — Minimum seconds between messages from the same user.
- **Max message length** — Character limit per message.
- **Message history limit** — How many messages to load at once.

API Endpoints
-------------

[](#api-endpoints)

MethodEndpointActionGET`/api/chat/messages`List messagesPOST`/api/chat/messages`Send messageDELETE`/api/chat/messages/{id}`Delete messageWebSocket Upgrade Path
----------------------

[](#websocket-upgrade-path)

The `ChatMessagePosted` event is dispatched on every new message. To switch from polling to WebSocket:

1. Listen to `ChatMessagePosted` in a service provider.
2. Broadcast the payload via Pusher, Ably, or Laravel Echo.
3. On the frontend, replace the `setInterval` polling in `ChatPage.tsx` with a WebSocket subscription.

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance88

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

62d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/182544595?v=4)[wyatts97](/maintainers/wyatts97)[@wyatts97](https://github.com/wyatts97)

---

Tags

real-timemessagingchatflarum

### Embed Badge

![Health badge](/badges/wyatts97-flarum-chatroom/health.svg)

```
[![Health](https://phpackages.com/badges/wyatts97-flarum-chatroom/health.svg)](https://phpackages.com/packages/wyatts97-flarum-chatroom)
```

###  Alternatives

[flarum-lang/russian

Russian language pack for Flarum.

12128.3k](/packages/flarum-lang-russian)[fof/byobu

Well integrated, advanced private discussions.

59120.6k14](/packages/fof-byobu)[fof/discussion-language

Specify the language a discussion is written in &amp; sort by language

1034.8k7](/packages/fof-discussion-language)[flarum-lang/french

French language pack to localize the Flarum forum software plus its official and third-party extensions.

1938.7k](/packages/flarum-lang-french)[fof/masquerade

User profile builder extension for your Flarum forum.

2025.4k6](/packages/fof-masquerade)[xelson/flarum-ext-chat

Realtime Chat for Flarum!

2110.2k](/packages/xelson-flarum-ext-chat)

PHPackages © 2026

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