QQ Bot
QQ Bot connects to OpenClaw via the official QQ Bot API (WebSocket gateway). The plugin supports C2C private chat, group @messages, and guild channel messages with rich media (images, voice, video, files). Status: bundled channel plugin. Direct messages, group chats, guild channels, and media are supported. Reactions and threads are not supported.Bundled with OpenClaw
Current OpenClaw installs bundle QQ Bot. You do not need a separateopenclaw plugins install step for normal setup.
Setup
- Go to the QQ Open Platform and scan the QR code with your phone QQ to register / log in.
- Click Create Bot to create a new QQ bot.
- Find AppID and AppSecret on the bot’s settings page and copy them.
AppSecret is not stored in plaintext — if you leave the page without saving it, you’ll have to regenerate a new one.
- Add the channel:
- Restart the Gateway.
Configure
Minimal config:QQBOT_APP_IDQQBOT_CLIENT_SECRET
- Env fallback applies to the default QQ Bot account only.
openclaw channels add --channel qqbot --token-file ...provides the AppSecret only; the AppID must already be set in config orQQBOT_APP_ID.clientSecretalso accepts SecretRef input, not just a plaintext string.
Multi-account setup
Run multiple QQ bots under a single OpenClaw instance:appId).
Add a second bot via CLI:
Voice (STT / TTS)
STT and TTS support two-level configuration with priority fallback:| Setting | Plugin-specific | Framework fallback |
|---|---|---|
| STT | channels.qqbot.stt | tools.media.audio.models[0] |
| TTS | channels.qqbot.tts | messages.tts |
enabled: false on either to disable.
Outbound audio upload/transcode behavior can also be tuned with
channels.qqbot.audioFormatPolicy:
sttDirectFormatsuploadDirectFormatstranscodeEnabled
Target formats
| Format | Description |
|---|---|
qqbot:c2c:OPENID | Private chat (C2C) |
qqbot:group:GROUP_OPENID | Group chat |
qqbot:channel:CHANNEL_ID | Guild channel |
Each bot has its own set of user OpenIDs. An OpenID received by Bot A cannot be used to send messages via Bot B.
Slash commands
Built-in commands intercepted before the AI queue:| Command | Description |
|---|---|
/bot-ping | Latency test |
/bot-version | Show the OpenClaw framework version |
/bot-help | List all commands |
/bot-upgrade | Show the QQBot upgrade guide link |
/bot-logs | Export recent gateway logs as a file |
? to any command for usage help (for example /bot-upgrade ?).
Troubleshooting
- Bot replies “gone to Mars”: credentials not configured or Gateway not started.
- No inbound messages: verify
appIdandclientSecretare correct, and the bot is enabled on the QQ Open Platform. - Setup with
--token-filestill shows unconfigured:--token-fileonly sets the AppSecret. You still needappIdin config orQQBOT_APP_ID. - Proactive messages not arriving: QQ may intercept bot-initiated messages if the user hasn’t interacted recently.
- Voice not transcribed: ensure STT is configured and the provider is reachable.