|
15 | 15 | ### Prerequisites |
16 | 16 | - PHP `^7.4 | ^8.0 | ^8.1` |
17 | 17 | - Laravel `^8.42` |
18 | | -- `SubstituteBindings::class` route model binding enabled in your API / WEB middleware groups. |
19 | | -- Configure your laravel applications broadcast driver and set up your websocket implementation to utilize the real-time broadcast emitted. |
| 18 | +- Route model binding enabled in your API / WEB middleware groups. |
20 | 19 |
|
21 | 20 | ### Features |
22 | | -- Realtime messaging between multiple models, such as a User, Admin, and a Teacher model. |
| 21 | +- Realtime messaging between multiple models. |
23 | 22 | - RESTful API, allowing you to create your own UI or connect to your mobile app. |
24 | 23 | - Private and group threads. |
25 | 24 | - Message reactions, replies, edits, and deletion. |
26 | 25 | - Send image, document, audio, and video messages. |
27 | 26 | - Group thread chat-bots. [Ready-made bots][link-messenger-bots] |
28 | 27 | - Customize and create your own chat-bot handlers and bot packages. See the [Chat Bots][link-chat-bots] documentation. |
29 | | -- Private thread approval when the two participants are not friends. |
30 | 28 | - Add participants in a group thread from your friends list. |
31 | 29 | - Permissions per participant within a group thread. |
32 | 30 | - Friends, Search, and Online status systems. |
| 31 | +- Private thread approval when the two participants are not friends. |
33 | 32 | - Provider avatars, group thread avatars, and bot avatars. |
34 | 33 | - Underlying calling system you can extend. See the [Calling][link-calling] documentation. |
35 | 34 | - Group thread invitation links (like discord). |
36 | | -- All actions are protected behind policies. |
| 35 | +- All endpoints are protected behind policies. |
37 | 36 | - Scheduled commands for automated cleanup and checks. |
38 | 37 | - Queued jobs fired from our event subscribers. |
39 | 38 | - Most features can be toggled at runtime using our `Messenger` facade. |
40 | | -- `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. |
| 39 | +- `MessengerComposer` facade allows you to have easy access to the core actions anywhere within your own app, such as sending messages, images, reactions, and more. |
41 | 40 | - You can implement or extend your own `BroadcastDriver`, `VideoDriver`, and `FriendDriver`, simply by binding your classes into the container. |
42 | 41 | - Support for morph maps on your provider models. See: [Morph Maps][link-morph-maps] |
43 | 42 | - Optional extra payload when sending messages to allow custom json to be stored with the message. |
44 | 43 | - Owner relationships returns a `Ghost Profile` when not found (null-object pattern). |
45 | | -- Private threads auto-lock when the recipient is not found (deleted). |
| 44 | +- Private threads auto-lock when the recipient is not found / deleted. |
46 | 45 |
|
47 | 46 | ### Upcoming for v2 |
48 | 47 | - Temporary Ephemeral conversations. |
|
56 | 55 | - Chat-bots able to trigger off of an event. |
57 | 56 |
|
58 | 57 | ### Notes |
| 58 | +- This is a `Laravel` package and must be installed in a `laravel` application to run. |
59 | 59 | - Read through the [`messenger.php`][link-config] config file before migrating! |
60 | 60 | - 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. |
61 | 61 | - Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party provider. |
| 62 | +- Configure your laravel applications broadcast driver and set up your websocket implementation to utilize the real-time broadcast emitted. |
62 | 63 |
|
63 | 64 | --- |
64 | 65 |
|
|
0 commit comments