openclaw - 💡(How to fix) Fix QQBot: Framework slash commands (/models, /status, /new) not responding in QQ channel

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Framework-level slash commands (/models, /status, /new, /model, etc.) do not return any response when sent in QQ Bot private chat (C2C). The bot shows a "typing" indicator briefly, then nothing happens — no response is delivered.

QQ Bot's own /bot-* commands (/bot-help, /bot-ping, /bot-me, /bot-logs, etc.) work correctly.

Error Message

  • No error appears in logs

Root Cause

Root cause analysis (from source code)

Fix Action

Fix / Workaround

Check whether the framework command response from api.registerCommand() handler is properly dispatched through the QQ Bot's outbound path (dispatchOutbound in gateway-Cs3-_on9.js), or if it's being dropped/silently consumed somewhere in the response routing chain.

RAW_BUFFERClick to expand / collapse

Bug type

Bug (unexpected behavior)

Summary

Framework-level slash commands (/models, /status, /new, /model, etc.) do not return any response when sent in QQ Bot private chat (C2C). The bot shows a "typing" indicator briefly, then nothing happens — no response is delivered.

QQ Bot's own /bot-* commands (/bot-help, /bot-ping, /bot-me, /bot-logs, etc.) work correctly.

Steps to reproduce

  1. Configure OpenClaw with QQ Bot channel (appId + clientSecret, enabled)
  2. Send a normal text message — bot responds correctly
  3. Send /bot-help — responds with command list (works fine)
  4. Send /models — typing indicator appears briefly, then disappears, no response

Expected behavior

/models should return the list of available models, same as it does on Telegram/Discord channels.

Actual behavior

No response is delivered. The typing indicator appears for ~1-2 seconds then vanishes silently.

Root cause analysis (from source code)

The QQ Bot plugin handles /bot-* commands at the plugin level via trySlashCommand() in extensions/qqbot/src/engine/gateway/interaction-handler.ts. For non-/bot-* messages starting with /, it returns "enqueue", passing the message to the framework.

The framework's command handler intercepts /models, /status, /new etc. before they reach the agent. However, the response from these framework commands does not appear to be routed back through the QQ channel's outbound path.

The QQ Bot plugin does register framework commands via registerQQBotFrameworkCommands() in extensions/qqbot/src/bridge/commands/framework-registration.ts, which calls api.registerCommand() for each command with requireAuth: true. But the response delivery seems to fail silently.

Evidence

  • The bot's typing indicator is triggered when /models is sent, confirming the message is received and processing starts
  • No error appears in logs
  • The response simply never arrives in the QQ conversation
  • The same /models command works correctly on Telegram

Environment

  • OpenClaw: 2026.5.7 (eeef486)
  • @openclaw/qqbot: 2026.5.7
  • Channel: QQ Bot C2C private chat
  • Node: v22.22.2
  • OS: Linux 6.1.0-34-amd64 (Debian 12)

Additional context

  • commands.text: true is configured
  • commands.native: "auto" (default)
  • QQ Bot allowFrom includes the sender's OpenID
  • No commands.allowFrom is configured at the framework level
  • systemPrompt instructing the agent to handle /models directly has no effect because the Gateway intercepts the command before it reaches the agent

Suggested investigation

Check whether the framework command response from api.registerCommand() handler is properly dispatched through the QQ Bot's outbound path (dispatchOutbound in gateway-Cs3-_on9.js), or if it's being dropped/silently consumed somewhere in the response routing chain.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

/models should return the list of available models, same as it does on Telegram/Discord channels.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix QQBot: Framework slash commands (/models, /status, /new) not responding in QQ channel