Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Botman Tinker Laravel Package

mpociot/botman-tinker

BotMan Tinker adds an interactive REPL to the BotMan chatbot framework, letting you chat with and test your bots straight from the terminal. Send messages, inspect conversation state, and debug bot responses instantly without wiring up a messaging platform first.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature-level leverage, not platform strategy. BotMan Tinker is a development accelerator for teams already on Laravel + BotMan. It gives engineers a terminal REPL (php artisan botman:tinker) to type through conversation classes, hears() listeners, middleware, and reply payloads without a live messaging channel. Treat it as tooling that speeds delivery of bot features — not as a capability you ship to customers.
  • Build vs. buy: buy the pin, or build the 40 lines. The package is roughly one Artisan command. If the team is already on Laravel + BotMan and the version resolves cleanly, pin it exactly (1.2.0) and move on. If the framework is Laravel 8+ or Composer conflicts appear, write and own the thin command in-house; that removes the version ceiling and the abandonment risk in an afternoon. Either way, the decision is cheap and reversible.
  • Roadmap scoping. Appropriate for discovery, prototyping, demo rehearsal, onboarding, and maintenance of existing bots. It should not anchor roadmap commitments for new chatbot platforms, production QA, multi-channel emulation, automated conversation regression testing in CI, load testing, or observability.
  • Prioritized use cases. (1) Local conversation testing — happy path plus two failure branches. (2) Debugging middleware and reply payload assembly as raw arrays. (3) Rehearsing stakeholder demos with the target channel's driver config copied over. (4) Onboarding engineers to BotMan conversation flows without handing out channel credentials.
  • Risk-adjusted call: legacy convenience. 103 stars, 0 dependents, last release May 2020, and 1.2.0's only substantive change was a Laravel 7.x composer.json bump. That is compatibility housekeeping, not renewed stewardship. Do not let delivery plans assume ongoing support, security patching, or ecosystem alignment.
  • PM trial criterion. Timebox adoption to one conversation class plus two failure branches. If the REPL loop isn't faster than hitting the real webhook, don't standardize on it — write the command instead.
  • Safety gate before any demo. The REPL boots your real BotMan instance with your real driver config. If config/botman.php selects Slack or Telegram, $bot->reply() can message live customers from a developer's terminal. Require a local/echo driver as a documented prerequisite, not a tribal-knowledge one.

When to Consider This Package

Consider it when:

  • The product is already built on Laravel + BotMan and engineers need a lightweight local way to exercise conversations.
  • The need is strictly development-only: interactive debugging, demo prep, onboarding, manual conversation checks.
  • The team can pin the dependency exactly (mpociot/botman-tinker:1.2.0) and verify resolution with composer require --dev ... --dry-run plus composer why-not before committing.
  • The project runs a Laravel version inside the package's declared constraints — 1.2.0 explicitly targets Laravel 7.x.
  • The chatbot scope is small or experimental, and a custom REPL or test harness would cost more than adopting this.
  • The team wants a Tinker-style Artisan workflow, not a full conversational testing platform.
  • Someone explicitly owns compatibility vetting, version pinning, and the fork-or-replace decision.

Look elsewhere when:

  • The product isn't on BotMan or Laravel.
  • The project is on Laravel 8+ or PHP 8.2/8.3 and nobody owns verifying or patching compatibility — write the command instead.
  • The team needs automated conversation tests in CI, multi-channel emulation, load testing, production observability, or security/maintenance guarantees. The REPL needs an interactive TTY, emits free-form output, and has no assertions; use BotMan's own tester helpers for regression coverage.
  • The organization mandates actively maintained dependencies with recent releases and clear support ownership.
  • The chatbot is strategic or customer-facing at scale — invest in an internal harness or a maintained conversational QA tool.
  • No one is available to vet compatibility, pin versions, or absorb a fork if it breaks.

How to Pitch It (Stakeholders)

For executives: BotMan Tinker is a low-cost developer productivity tool for teams already building Laravel/BotMan chatbots. It lets engineers test and debug conversations interactively from the terminal before connecting real channels, which shortens prototyping and reduces early rework. It is not customer-facing and should be treated as an optional development utility, not a strategic dependency. The 1.2.0 release is a small Composer compatibility update for Laravel 7.x — good housekeeping, but not evidence of active stewardship. Given low adoption, zero dependents, and a Laravel 7-era release, we should not rely on it for production-critical workflows, and the cost of replacing it in-house is trivial if it stops fitting.

For engineering: This package adds a Tinker-style Artisan command, php artisan botman:tinker, for exercising BotMan conversations from the Laravel console. It is useful for debugging conversation classes, middleware, and reply payload contents during local development. Install it as a dev dependency and pin the exact version; verify with a Composer dry run. Before typing anything, point the REPL at a local/echo or test driver — otherwise $bot->reply() may hit a live Slack/Telegram API. Two operational traps to plan for: conversation state persists through BotMan's cache driver, so a stale flow can resume mid-conversation across sessions (run php artisan cache:clear first); and tinker bypasses webhook signature verification, HTTP payload shape, retries, and channel templating, so green in tinker is not proof of integration — say so when reporting "tested." Keep it out of CI; it expects a TTY and has no assertions. Confirm the app uses botman/botman and Composer isn't pulling a second, older BotMan alongside it (composer show | grep -i botman). If the project is on Laravel 8+, or the dependency conflicts, write and own the roughly 40-line command instead — that removes the framework ceiling and the abandonment risk in one move.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib