Wechat Binding

by starchild-ai-agentf3c2d4997f75No license27 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

WeChat binding: QR scan, bind, unbind, reconnect, status check. Use when setting up or repairing WeChat delivery (e.g. connect WeChat, scan QR, why isn't WeChat pushing, disconnect WeChat).

Instructions onlyCommunication
AI-generated overview

Guides binding, reconnecting, and disconnecting a user's WeChat account so an agent can push messages.

What it does
This reference document describes a QR-code-based flow for linking a WeChat account to an agent: generate a QR image, have the user scan and confirm, poll for the resulting bot token, then connect. It documents the available actions (status, qrcode, qrcode_status, connect, disconnect, reconnect), the difference between first-time connect and reconnect, and how to display the QR depending on the user's channel. It also lists rules such as not auto-polling, not reusing QR ids, and not echoing the bot token.
When to use it
Use when setting up or repairing WeChat message delivery, such as connecting WeChat for the first time, reconnecting after a dropped session, checking binding status, or disconnecting WeChat.
Requirements
Requires the built-in wechat tool with its actions and a WeChat account to scan the QR code; the skill is instructions only and ships no scripts. It references related files such as config/context/references/messaging-channels.md and skills/tg-bot-binding/SKILL.md.

📱 WeChat Binding

Connect / reconnect / disconnect the user's WeChat account so the agent can push messages via send_to_wechat.

The wechat tool stays built-in. This SKILL.md is the reference doc.

See also

  • config/context/references/messaging-channels.md — how to actually send messages once bound
  • skills/tg-bot-binding/SKILL.md — analogous Telegram flow

Typical binding flow

qrcode → user scans → qrcode_status(qrcode=...) → connect(bot_token=...)
  1. Generate QR: wechat(action="qrcode") — saves an image to workspace, returns qrcode (id) + file_path.
  2. Show the QR to the user. On web channel: include the file_path so the frontend renders the image. On TG/WeChat channel: send the image via send_to_telegram with the file_path.
  3. Wait for the user to scan + confirm in WeChat. Don't auto-poll — let them say "scanned" / "done" first.
  4. Poll for completion: wechat(action="qrcode_status", qrcode=<id from step 1>). Returns bot_token once scan + confirm completes.
  5. Connect: wechat(action="connect", bot_token=<from step 4>). Optional: ilink_bot_id, ilink_user_id if the user has multiple WeChat accounts.
  6. Confirm to user: "WeChat connected. You can now push messages with send_to_wechat."

Actions

actionrequiredpurpose
status—Current WeChat connection state. Use before reconnect, to verify binding.
qrcode—Generate QR code image (saved to workspace). Returns qrcode id + file_path.
qrcode_statusqrcodePoll whether user has scanned + confirmed. Returns bot_token on success.
connectbot_tokenComplete a NEW WeChat connection (after first-ever QR scan). Optional: ilink_bot_id, ilink_user_id.
disconnect—Terminate current WeChat session (unlink).
reconnectbot_tokenRe-establish a previously-bound WeChat (token from a fresh QR scan).

connect vs. reconnect

  • connect — first-time binding. The user has NEVER bound this WeChat before.
  • reconnect — the user was previously connected, the connection dropped (e.g. ilink session expired), and they just scanned a fresh QR.

When in doubt, call status first:

  • connected: false + no prior history → connect
  • connected: false + prior history exists → reconnect

Channel-aware QR display

User channelHow to show the QR
WebInclude file_path in your reply — frontend renders it inline
Telegramsend_to_telegram(file_path=<qr_path>, message_type="photo")
WeChat(You can't — they're trying to bind WeChat in the first place. Tell them to open the web app.)

Critical rules

  • Don't auto-poll qrcode_status after qrcode. Wait for user confirmation that they scanned + confirmed in WeChat. Auto-polling spams the upstream API.
  • Each qrcode call generates a fresh image. Don't re-use an old qrcode id with a new image — the upstream session is tied to the id.
  • Never paste bot_token in chat. It's a credential. Once you have it from qrcode_status, immediately pass it to connect / reconnect and don't echo it back to the user.
  • disconnect is destructive — confirm with the user before calling it.

Source and attribution

Source:starchild-ai-agent/official-skillsinwechat-bindingat commitf3c2d49

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal