Skip to main content

QQ Bot Setup

Overview

QQ Bot connects Anyy to QQ bot direct messages and groups. The adapter supports DMs, groups, lifecycle startup, markdown-capable replies, and live-smoke checks.

Prerequisites

  • A QQ bot app.
  • app_id.
  • client_secret.
  • Optional bot_user_id for self-message filtering.
  • Permissions for the direct messages or groups where the bot should answer.

Setup

Create credentials

Create the QQ bot in the platform console and store the client secret through Anyy.

Configure Anyy

anyy setup channels qqbot \
--set app_id=qq-app-id \
--secret client_secret='qq-client-secret' \
--write-config

Optional:

channels:
qqbot:
bot_user_id: "bot-user-id"

Setup defaults:

FieldDefault
account_idbot
markdown_supporttrue
dm_policyopen
group_policyopen
send_chunk_chars4000

Start Gateway

anyy gateway start
anyy channels reload

Run doctor checks

anyy channels doctor qqbot

Access Policy

Direct messages

The setup default is dm_policy: open. Use allowlist and allow_from for a private bot.

Groups

The setup default is group_policy: open. For production, prefer group_policy: allowlist with allow_groups, or mention if you want QQ group messages to require explicit invocation.

Admins

QQ Bot channel policy controls access. Shared command permissions control command authorization.

Sessions

Each accepted QQ direct chat or group maps to an Anyy session.

Media Support

Inbound media

QQ Bot does not advertise inbound media support in the current adapter.

Outbound media

QQ Bot does not advertise native outbound media.

Commands

Use shared messaging commands. If you set group_policy: mention, mention the bot in groups before the command.

Cron Delivery

anyy cron create \
--name "QQ reminder" \
--schedule "30m" \
--prompt "Send the reminder" \
--delivery-target current_user_default \
--delivery-channel qqbot

Troubleshooting

  • Auth fails: check app_id and client_secret_ref.
  • Bot replies to itself: set bot_user_id.
  • Too many groups can talk to the bot: use group_policy: allowlist.
  • Markdown renders incorrectly: set markdown_support: false if your QQ surface does not support markdown.