docs/en/platform/qqofficial/webhook.md
[!WARNING]
- QQ Official Bot currently requires an IP whitelist.
- Webhook mode requires a server with a public IP, a domain, and HTTPS access.
- It supports group chat, private chat, channel chat, and channel private chat.
Version v4.19.6.
| Message Type | Receive | Send | Notes |
|---|---|---|---|
| Text | Yes | Yes | |
| Image | Yes | Yes | |
| Voice | Yes | Yes | |
| Video | Yes | Yes | |
| File | Yes | Yes |
Proactive message push: Supported.
Bots in the left sidebar, then click + Create Bot.QQ Official Bot (Webhook).Choose setup method, select One-click QR setup, click start, then scan the QR code with mobile QQ.Save.6185 port.Development -> Callback Configuration, and enter the Webhook callback URL generated by AstrBot.GROUP_MESSAGE_CREATE is selected.[!TIP] With
Unified Webhook Mode, AstrBot generates a unique Webhook callback URL automatically. You can find it in the logs or on the bot card in WebUI.
Open the created QQ bot profile page (mobile QQ -> Contacts -> Bots tab). You can find Add to group chat near the bottom. Currently, the bot can only be added to groups where you are the group owner.
In mobile QQ group settings, open the bot settings page. We recommend setting Messages the bot can access to All group messages, and enabling Allow the bot to proactively speak in the group.
With this configuration, the bot can receive full group messages and proactively push messages to the group, such as scheduled task notifications and plugin notifications.
Webhook mode also requires selecting the group event GROUP_MESSAGE_CREATE in QQ Open Platform callback configuration. Otherwise, AstrBot cannot receive full group message events.
Open QQ Official Bot and sign in.
Create a bot, fill in name/description/avatar, then submit for review. After security verification passes, creation is complete.
Open the created bot to enter its management page:
Open Sandbox Configuration to set a sandbox channel / QQ group / QQ private chat (up to 20 members).
Then configure QQ groups, private chat QQ accounts, and QQ channels as needed.
appid and secretAfter adding the bot where you need it, open Development -> Development Settings, then copy appid and secret.
If you use AstrBot WebUI's One-click QR setup, you can skip this step. AstrBot fills in appid and secret automatically after QR binding succeeds.
Open Development -> Development Settings, find IP whitelist, and add your server IP.
[!TIP] If you do not know your server IP, run
curl ifconfig.meor check ip138.com.In NAT environments without a public IP, the observed IP may change depending on your carrier. Use proxy/tunnel if needed.
Bots in the left sidebar.+ Create Bot.QQ Official Bot (Webhook).Recommended: use One-click QR setup.
Choose setup method, select One-click QR setup.appid and secret automatically.Unified Webhook Mode enabled, adjust ID and other options as needed, then click Save.If QR setup is unavailable, choose Manual setup and fill in:
id): any unique identifier.enable): checked.appid: from QQ Official Bot platform.secret: from QQ Official Bot platform.unified_webhook_mode): keep enabled.Click Save.
After saving, configure DNS and reverse proxy for your server. Forward requests to AstrBot's 6185 port. If Unified Webhook Mode is disabled, forward requests to the port configured in the previous step instead.
The Webhook callback URL must be reachable from QQ Open Platform over the public internet and must use HTTPS.
Open Development -> Callback Configuration.
After you save the bot in AstrBot, AstrBot generates a unique Webhook callback URL. You can find it in the logs or on the bot card in WebUI.
Use that URL as the request URL.
Then add callback events. To receive full group messages, select the group event GROUP_MESSAGE_CREATE; also select private chat events, channel events, and other events as needed.
After entering values, move focus out of the input box to trigger validation. If validation passes, the confirm button on the right becomes clickable.
Then restart AstrBot.
If you are new to reverse proxy, Caddy is recommended:
Caddy can automatically apply TLS certificates for Webhook access.