PHPackages                             rtippin/messenger-faker - 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. [CLI &amp; Console](/categories/cli)
4. /
5. rtippin/messenger-faker

ActiveLibrary[CLI &amp; Console](/categories/cli)

rtippin/messenger-faker
=======================

Messenger Faker Commands

v1.11.0(1y ago)81.8k3MITPHPPHP ^8.2|^8.3|^8.4CI passing

Since Feb 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/RTippin/messenger-faker)[ Packagist](https://packagist.org/packages/rtippin/messenger-faker)[ Docs](https://github.com/rtippin/messenger-faker)[ GitHub Sponsors](https://github.com/RTippin)[ RSS](/packages/rtippin-messenger-faker/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (5)Versions (41)Used By (0)

Messenger Faker Commands
========================

[](#messenger-faker-commands)

[![Latest Version on Packagist](https://camo.githubusercontent.com/44492d1f84f623cd3d246c8077005ccbeda2a841764bd5c5059d5b425bac100e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7274697070696e2f6d657373656e6765722d66616b65722e7376673f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://packagist.org/packages/rtippin/messenger-faker)[![Total Downloads](https://camo.githubusercontent.com/49ef24685cf9a731d6d9c1b2aec5efb42ff7032957bcd4b7ab72ede5501ead23/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7274697070696e2f6d657373656e6765722d66616b65722e7376673f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://packagist.org/packages/rtippin/messenger-faker)[![Tests](https://camo.githubusercontent.com/a051ccf563ddde54bddcc7c537187de62849c95603cd1351e8d957b5fd25eead/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7274697070696e2f6d657373656e6765722d66616b65722f746573742e796d6c3f6272616e63683d6d6173746572267374796c653d706c6173746963)](https://github.com/RTippin/messenger-faker/actions)[![StyleCI](https://camo.githubusercontent.com/9ab5cddc2bb0ac53d94172286bbeef91b9e75683e19bdd690ea30692684a523a/68747470733a2f2f7374796c6563692e696f2f7265706f732f3333393437353638302f736869656c643f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://styleci.io/repos/339475680)[![License](https://camo.githubusercontent.com/4df2cc469245cadab62654ff45a6e6f436fca8473404b3b24a3d6d15da3f13dc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f5254697070696e2f6d657373656e6765722d66616b65723f7374796c653d706c6173746963)](https://packagist.org/packages/rtippin/messenger-faker)

---

[![Preview](https://camo.githubusercontent.com/ee1bd475e018d932a662044d906f0b319292423997dcfa9a9f64a1b43d427650/68747470733a2f2f692e696d6775722e636f6d2f4e546a6331506d2e706e67)](https://camo.githubusercontent.com/ee1bd475e018d932a662044d906f0b319292423997dcfa9a9f64a1b43d427650/68747470733a2f2f692e696d6775722e636f6d2f4e546a6331506d2e706e67)

This package is an addon for [rtippin/messenger](https://github.com/RTippin/messenger)
--------------------------------------------------------------------------------------

[](#this-package-is-an-addon-for-rtippinmessenger)

### It is NOT advised to install this in a production app.

[](#it-is-not-advised-to-install-this-in-a-production-app)

### Features:

[](#features)

- Commands to mock realtime events such as knocks, typing, and marking read.
- Command to seed realtime messages with typing.
- Commands to seed attachment messages (images, documents, audio, videos).
- Commands to seed system messages and message reactions.
- `FakerBot` pre-registered with `Messenger` that allows you to trigger our commands through chat-bots.

---

Installation
============

[](#installation)

### Via Composer

[](#via-composer)

```
$ composer require rtippin/messenger-faker --dev
```

---

Config
======

[](#config)

- Default values for local storage location of the files we use when seeding.
    - When seeding using local files, a random file from the message types specified folder will be used.
    - When seeding image files with no url/local flag specified, it will use the default image url from the config.
- Flag to enable or disable registering our `FakerBot`.

***Defaults***

```
'paths' => [
    'images' => storage_path('faker/images'),
    'documents' => storage_path('faker/documents'),
    'audio' => storage_path('faker/audio'),
    'videos' => storage_path('faker/videos'),
],

'default_image_url' => 'https://source.unsplash.com/random',

'enable_bot' => true,
```

### To override the file paths, please publish our config and edit accordingly

[](#to-override-the-file-paths-please-publish-our-config-and-edit-accordingly)

```
$ php artisan vendor:publish --tag=messenger-faker
```

---

Commands
========

[](#commands)

---

### `php artisan messenger:faker:knock {thread?}`

[](#php-artisan-messengerfakerknock-thread)

- Send a knock to the given thread.

---

### `php artisan messenger:faker:message {thread?}` | `--count=5` | `--delay=2` | `--admins` | `--silent`

[](#php-artisan-messengerfakermessage-thread----count5----delay2----admins----silent)

- Make participants send messages. Will also emit typing and mark read.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many messages are sent.
- `--delay=X` flag to set delay in seconds between each message.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:react {thread?}` | `--count=5` | `--messages=5` | `--delay=1` | `--admins` | `--silent`

[](#php-artisan-messengerfakerreact-thread----count5----messages5----delay1----admins----silent)

- Make participants add reactions to the latest messages.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many reactions are added.
- `--messages=X` flag to set how many latest messages are chosen at random to be reacted to.
- `--delay=X` flag to set delay in seconds between each reaction.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:system {thread?}` | `--type=` | `--count=1` | `--delay=2` | `--admins` | `--silent`

[](#php-artisan-messengerfakersystem-thread----type----count1----delay2----admins----silent)

- Make participants send system messages.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many system messages are sent.
- `--type=X` flag to set the system message type. `88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103`
- `--delay=X` flag to set delay in seconds between each system message.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:image {thread?}` | `--count=1` | `--delay=2` | `--admins` | `--local` | `--url=` | `--silent`

[](#php-artisan-messengerfakerimage-thread----count1----delay2----admins----local----url----silent)

- Make participants send image messages. Will also emit typing and mark read. If `--local` or `--url` is not set, we pull images from the default image url in the config.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many images are sent.
- `--delay=X` flag to set delay in seconds between each image.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--local` flag will choose a random image from the directory specified for images in the config file.
- `--url=X` flag lets you directly specify an image URL to download and emit.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:document {thread?}` | `--count=1` | `--delay=2` | `--admins` | `--url=` | `--silent`

[](#php-artisan-messengerfakerdocument-thread----count1----delay2----admins----url----silent)

- Make participants send document messages. Will also emit typing and mark read. If `--url` is not set, will choose a random document from the directory specified for documents in the config file.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many documents are sent.
- `--delay=X` flag to set delay in seconds between each document.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--url=X` flag lets you directly specify a document URL to download and emit.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:audio {thread?}` | `--count=1` | `--delay=2` | `--admins` | `--url=` | `--silent`

[](#php-artisan-messengerfakeraudio-thread----count1----delay2----admins----url----silent)

- Make participants send audio messages. Will also emit typing and mark read. If `--url` is not set, will choose a random audio file from the directory specified for audio in the config file.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many audio files are sent.
- `--delay=X` flag to set delay in seconds between each audio file.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--url=X` flag lets you directly specify an audio URL to download and emit.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:video {thread?}` | `--count=1` | `--delay=2` | `--admins` | `--url=` | `--silent`

[](#php-artisan-messengerfakervideo-thread----count1----delay2----admins----url----silent)

- Make participants send video messages. Will also emit typing and mark read. If `--url` is not set, will choose a random video file from the directory specified for videos in the config file.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many video files are sent.
- `--delay=X` flag to set delay in seconds between each video file.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--url=X` flag lets you directly specify a video URL to download and emit.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:random {thread?}` | `--count=5` | `--delay=2` | `--admins` | `--silent`

[](#php-artisan-messengerfakerrandom-thread----count5----delay2----admins----silent)

- Send random commands using `['audio', 'document', 'image', 'knock', 'message', 'react', 'system', 'typing']`
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--count=X` flag to set how many messages are sent.
- `--delay=X` flag to set delay in seconds between each message.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.
- `--silent` flag that will suppress all broadcast and event dispatches.

---

### `php artisan messenger:faker:read {thread?}` | `--admins`

[](#php-artisan-messengerfakerread-thread----admins)

- Mark participants in the thread as read.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--admins` flag will only use admin participants if using a group thread.

---

### `php artisan messenger:faker:typing {thread?}` | `--admins`

[](#php-artisan-messengerfakertyping-thread----admins)

- Make participants in the thread type.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--admins` flag will only use admin participants if using a group thread.
- `--bots` flag will only use bots if using a group thread.

---

### `php artisan messenger:faker:unread {thread?}` | `--admins`

[](#php-artisan-messengerfakerunread-thread----admins)

- Mark participants in the thread as unread.
- `{thread?}` ID of the thread you want to seed. Random if not set.
- `--admins` flag will only use admin participants if using a group thread.

---

FakerBot
========

[](#fakerbot)

---

- Our service provider will have already registered `FakerBot` for you if enabled in our config.
- You should ensure your main `messenger.php` config has the bots feature enabled.
- When you use the messenger API to add handlers onto a bot, you will see our bot listed.
- Once our `FakerBot` is attached to a thread's bot, you can trigger it by sending a message using the following syntax:
    - `!faker {action} {count?} {delay?}`
- Available actions: `audio`, `document`, `image`, `knock`, `message`, `random`, `react`, `system`, `typing`, `video`

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance44

Moderate activity, may be stable

Popularity24

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.4% 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 ~38 days

Recently: every ~276 days

Total

39

Last Release

438d ago

Major Versions

v0.14-alpha.1 → v1.0.02021-08-14

PHP version history (7 changes)v0.1-alpha.0PHP ^7.4||^8.0

v1.6.0PHP ^7.4|^8.0|^8.1

v1.7.0PHP ^8.0.2|^8.1

v1.9.0PHP ^8.0.2|^8.1|^8.2

v1.9.1PHP ^8.0.2|^8.1|^8.2|^8.3

v1.10.0PHP ^8.2|^8.3

v1.11.0PHP ^8.2|^8.3|^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/2d1480b73292a19b0666167057cfe9f0966c5f1f41f18d55152d46949035d025?d=identicon)[rtippin](/maintainers/rtippin)

---

Top Contributors

[![RTippin](https://avatars.githubusercontent.com/u/3917769?v=4)](https://github.com/RTippin "RTippin (169 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")

---

Tags

chat-applicationcommand-linediscordfakerfaker-generatorhelperlaravellive-chatmessengerrealtimeseederlaravelfakerMessenger

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rtippin-messenger-faker/health.svg)

```
[![Health](https://phpackages.com/badges/rtippin-messenger-faker/health.svg)](https://phpackages.com/packages/rtippin-messenger-faker)
```

###  Alternatives

[guidocella/eloquent-populator

Guess attributes for Eloquent model factories

7661.6k2](/packages/guidocella-eloquent-populator)

PHPackages © 2026

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