Aller au contenu

QQ Bot

QQ Bot se connecte à OpenClaw via l’API officiel de QQ Bot (passerelle WebSocket). Le plugin prend en charge le chat privé C2C, les messages de groupe @messages, et les messages de canal de guilde avec des médias riches (images, voix, vidéo, fichiers).

Statut : plugin de canal intégré. Les messages directs, les chats de groupe, les canaux de guilde et les médias sont pris en charge. Les réactions et les fils de discussion ne sont pas pris en charge.

Les installations actuelles de OpenClaw intègrent QQ Bot. Vous n’avez pas besoin d’une étape openclaw plugins install séparée pour une configuration normale.

  1. Allez sur la Plateforme Ouverte QQ et scannez le code QR avec votre téléphone QQ pour vous enregistrer / vous connecter.
  2. Cliquez sur Create Bot pour créer un nouveau QQ bot.
  3. Trouvez AppID et AppSecret sur la page des paramètres du bot et copiez-les.

AppSecret n’est pas stocké en clair — si vous quittez la page sans l’enregistrer, vous devrez en en générer un nouveau.

  1. Ajoutez le canal :
Fenêtre de terminal
openclaw channels add --channel qqbot --token "AppID:AppSecret"
  1. Redémarrez le Gateway.

Chemins de configuration interactifs :

Fenêtre de terminal
openclaw channels add
openclaw configure --section channels

Configuration minimale :

{
channels: {
qqbot: {
enabled: true,
appId: "YOUR_APP_ID",
clientSecret: "YOUR_APP_SECRET",
},
},
}

Variables d’environnement du compte par défaut :

  • QQBOT_APP_ID
  • QQBOT_CLIENT_SECRET

AppSecret basé sur un fichier :

{
channels: {
qqbot: {
enabled: true,
appId: "YOUR_APP_ID",
clientSecretFile: "/path/to/qqbot-secret.txt",
},
},
}

Notes :

  • La repli d’env (fallback) s’applique uniquement au compte QQ Bot par défaut.
  • openclaw channels add --channel qqbot --token-file ... fournit uniquement l’AppSecret ; l’AppID doit déjà être défini dans la configuration ou QQBOT_APP_ID.
  • clientSecret accepte également les entrées SecretRef, et pas seulement une chaîne en clair.

Exécutez plusieurs QQ bots sous une seule instance OpenClaw :

{
channels: {
qqbot: {
enabled: true,
appId: "111111111",
clientSecret: "secret-of-bot-1",
accounts: {
bot2: {
enabled: true,
appId: "222222222",
clientSecret: "secret-of-bot-2",
},
},
},
},
}

Chaque compte lance sa propre connexion WebSocket et maintient un cache de tokens indépendant (isolé par appId).

Ajoutez un deuxième bot via CLI :

Fenêtre de terminal
openclaw channels add --channel qqbot --account bot2 --token "222222222:secret-of-bot-2"

STT et TTS prennent en charge une configuration à deux niveaux avec repli prioritaire :

ParamètreSpécifique au pluginRepli du framework
STTchannels.qqbot.stttools.media.audio.models[0]
TTSchannels.qqbot.ttsmessages.tts
{
channels: {
qqbot: {
stt: {
provider: "your-provider",
model: "your-stt-model",
},
tts: {
provider: "your-provider",
model: "your-tts-model",
voice: "your-voice",
},
},
},
}

Définissez enabled: false sur l’un ou l’autre pour désactiver.

Le comportement de téléchargement/transcodage audio sortant peut également être ajusté avec channels.qqbot.audioFormatPolicy :

  • sttDirectFormats
  • uploadDirectFormats
  • transcodeEnabled
FormatDescription
qqbot:c2c:OPENIDConversation privée (C2C)
qqbot:group:GROUP_OPENIDChat de groupe
qqbot:channel:CHANNEL_IDCanal de guilde

Chaque bot possède son propre ensemble d’OpenID utilisateur. Un OpenID reçu par le Bot A ne peut pas être utilisé pour envoyer des messages via le Bot B.

Commandes intégrées interceptées avant la file d’attente IA :

CommandeDescription
/bot-pingTest de latence
/bot-versionAfficher la version du framework OpenClaw
/bot-helpLister toutes les commandes
/bot-upgradeAfficher le lien du guide de mise à jour de QQBot
/bot-logsExporter les journaux de la passerelle récents dans un fichier

Ajoutez ? à n’importe quelle commande pour obtenir de l’aide (par exemple /bot-upgrade ?).

  • Le bot répond “parti sur Mars” : informations d’identification non configurées ou Gateway non démarré.
  • Aucun message entrant : vérifiez que appId et clientSecret sont corrects, et que le bot est activé sur la plateforme ouverte QQ.
  • La configuration avec --token-file affiche toujours non configuré : --token-file définit uniquement l’AppSecret. Vous avez toujours besoin de appId dans la configuration ou de QQBOT_APP_ID.
  • Messages proactifs non arrivés : QQ peut intercepter les messages initiés par le bot si l’utilisateur n’a pas interagi récemment.
  • Voix non transcrite : assurez-vous que la STT est configurée et que le fournisseur est joignable.