{"id":13563498,"url":"https://github.com/RTippin/messenger","last_synced_at":"2025-04-03T20:31:01.866Z","repository":{"id":43168319,"uuid":"309521487","full_name":"RTippin/messenger","owner":"RTippin","description":"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!","archived":false,"fork":false,"pushed_at":"2024-05-23T20:38:20.000Z","size":8050,"stargazers_count":417,"open_issues_count":1,"forks_count":83,"subscribers_count":14,"default_branch":"1.x","last_synced_at":"2024-10-29T15:19:22.062Z","etag":null,"topics":["calling","calls","chat","chat-bot","discord","friends","groups","inbox","laravel","messages","messenger","pusher","realtime-chat","socket-io","threads","video"],"latest_commit_sha":null,"homepage":"https://tippindev.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RTippin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"RTippin"}},"created_at":"2020-11-02T23:36:59.000Z","updated_at":"2024-10-25T14:18:39.000Z","dependencies_parsed_at":"2024-01-14T03:46:53.985Z","dependency_job_id":"16e1f78d-6661-48ce-bd75-782a1fd4acd5","html_url":"https://github.com/RTippin/messenger","commit_stats":{"total_commits":1506,"total_committers":5,"mean_commits":301.2,"dds":"0.017928286852589626","last_synced_commit":"83bb92d1e7ec1b87838179fe80cbac6658b37c0d"},"previous_names":[],"tags_count":167,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RTippin%2Fmessenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RTippin%2Fmessenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RTippin%2Fmessenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RTippin%2Fmessenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RTippin","download_url":"https://codeload.github.com/RTippin/messenger/tar.gz/refs/heads/1.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223030576,"owners_count":17076454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calling","calls","chat","chat-bot","discord","friends","groups","inbox","laravel","messages","messenger","pusher","realtime-chat","socket-io","threads","video"],"created_at":"2024-08-01T13:01:19.938Z","updated_at":"2025-04-03T20:31:01.860Z","avatar_url":"https://github.com/RTippin.png","language":"PHP","readme":"# Laravel Messenger\n\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Total Downloads][ico-downloads]][link-downloads]\n[![Tests][ico-test]][link-test]\n[![StyleCI][ico-styleci]][link-styleci]\n[![License][ico-license]][link-license]\n\n---\n\n![Preview](https://raw.githubusercontent.com/RTippin/messenger/1.x/docs/images/image1.png?raw=true)\n\n---\n\n### Prerequisites\n\n| Laravel |         PHP          |   Messenger |\n|---------|:--------------------:|------------:|\n| `8.x`   | `^7.4` `^8.0` `^8.1` | `\u003c= 1.19.1` |\n| `9.x`   |   `^8.0.2` `^8.1`    | `\u003e= 1.20.0` |\n| `10.x`  | `^8.1` `^8.2` `^8.3` | `\u003e= 1.22.0` |\n| `11.x`  |    `^8.2` `^8.3`     | `\u003e= 1.23.0` |\n| `12.x`  | `^8.2` `^8.3` `^8.4` | `\u003e= 1.24.0` |\n\n- Route model binding enabled in your API / WEB middleware groups.\n\n### Features\n- Realtime messaging between multiple models.\n- RESTful API, allowing you to create your own UI or connect to your mobile app.\n- Private and group threads.\n- Message reactions, replies, edits, and deletion.\n- Send image, document, audio, and video messages.\n- Group thread chat-bots. [Ready-made bots][link-messenger-bots]\n- Customize and create your own chat-bot handlers and bot packages. See the [Chat Bots][link-chat-bots] documentation.\n- Add participants in a group thread from your friends list.\n- Permissions per participant within a group thread.\n- Friends, Search, and Online status systems.\n- Private thread approval when the two participants are not friends.\n- Provider avatars, group thread avatars, and bot avatars.\n- Underlying calling system you can extend. See the [Calling][link-calling] documentation.\n- Group thread invitation links (like discord).\n- All endpoints are protected behind policies.\n- Scheduled commands for automated cleanup and checks.\n- Queued jobs fired from our event subscribers.\n- Most features can be toggled at runtime using our `Messenger` facade.\n- `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.\n- You can implement or extend your own `BroadcastDriver`, `VideoDriver`, and `FriendDriver`, simply by binding your classes into the container.\n- Support for morph maps on your provider models. See: [Morph Maps][link-morph-maps]\n- Optional extra payload when sending messages to allow custom json to be stored with the message.\n- Owner relationships returns a `Ghost Profile` when not found (null-object pattern).\n- Private threads auto-lock when the recipient is not found / deleted.\n\n### Upcoming for v2\n- Please see the [2.x Branch][link-2x-branch] for more information.\n\n### Notes\n- This is a `Laravel` package and must be installed in a `laravel` application to run.\n- Read through the [`messenger.php`][link-config] config file before migrating!\n- 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.\n- Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party provider.\n- Configure your laravel applications broadcast driver and set up your websocket implementation to utilize the real-time broadcast emitted.\n\n---\n\n# Installation\n\n### Composer\n\n```bash\ncomposer require rtippin/messenger\n```\n\n### To complete the setup, please refer to the installation documentation listed below:\n\n---\n\n# Documentation\n\n- ### [Install / Registering Providers][link-installation]\n- ### [Configuration][link-configuration]\n- ### [Commands][link-commands]\n- ### [Broadcasting][link-broadcasting]\n- ### [Events][link-events]\n- ### [Chat Bots][link-chat-bots]\n- ### [Calling][link-calling]\n- ### [Messenger Composer][link-messenger-composer]\n- ### [Helpers / Facades][link-helpers]\n- ### [API Explorer][link-api-explorer]\n\n---\n\n## Addons / Demo\n\n- [Messenger Bots][link-messenger-bots] - Pre-made bots you can register within this package.\n- [Messenger Faker][link-messenger-faker] - Adds commands useful in development environments to mock/seed realtime events and messages.\n- [Messenger Web UI][link-messenger-ui] - Ready-made web routes and publishable views / assets, including default images.\n- [Demo App][link-demo-source] - A demo laravel app with this core package installed, including a [Live Demo][link-live-demo].\n\n---\n\n## Credits - [Richard Tippin][link-author]\n\n### [LICENSE][link-license]\n\n### [CHANGELOG][link-changelog]\n\n## Security\n\nIf you discover any security related issues, please email author instead of using the issue tracker.\n\n[ico-version]: https://img.shields.io/packagist/v/rtippin/messenger.svg?style=plastic\u0026cacheSeconds=3600\n[ico-downloads]: https://img.shields.io/packagist/dt/rtippin/messenger.svg?style=plastic\u0026cacheSeconds=3600\n[ico-styleci]: https://styleci.io/repos/309521487/shield?style=plastic\u0026cacheSeconds=3600\n[ico-license]: https://img.shields.io/github/license/RTippin/messenger?style=plastic\n[link-packagist]: https://packagist.org/packages/rtippin/messenger\n[link-test]: https://github.com/RTippin/messenger/actions\n[ico-test]: https://img.shields.io/github/actions/workflow/status/rtippin/messenger/test.yml?branch=1.x\u0026style=plastic\n[link-downloads]: https://packagist.org/packages/rtippin/messenger\n[link-license]: https://packagist.org/packages/rtippin/messenger\n[link-styleci]: https://styleci.io/repos/309521487\n[link-author]: https://github.com/rtippin\n[link-config]: https://github.com/RTippin/messenger/blob/1.x/config/messenger.php\n[link-api-explorer]: https://tippindev.com/api-explorer\n[link-morph-maps]: https://laravel.com/docs/8.x/eloquent-relationships#custom-polymorphic-types\n[link-messenger-bots]: https://github.com/RTippin/messenger-bots\n[link-messenger-faker]: https://github.com/RTippin/messenger-faker\n[link-messenger-ui]: https://github.com/RTippin/messenger-ui\n[link-demo-source]: https://github.com/RTippin/messenger-demo\n[link-live-demo]: https://tippindev.com\n[link-installation]: docs/Installation.md\n[link-configuration]: docs/Configuration.md\n[link-commands]: docs/Commands.md\n[link-broadcasting]: docs/Broadcasting.md\n[link-events]: docs/Events.md\n[link-calling]: docs/Calling.md\n[link-chat-bots]: docs/ChatBots.md\n[link-helpers]: docs/Helpers.md\n[link-messenger-composer]: docs/Composer.md\n[link-changelog]: https://github.com/RTippin/messenger/blob/1.x/CHANGELOG.md\n[link-license]: https://github.com/RTippin/messenger/blob/1.x/LICENSE.md\n[link-2x-branch]: https://github.com/RTippin/messenger/tree/2.x","funding_links":["https://github.com/sponsors/RTippin"],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRTippin%2Fmessenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRTippin%2Fmessenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRTippin%2Fmessenger/lists"}