Skills

Add Wechat

Add WeChat (personal) channel integration via Tencent's official iLink Bot API.

Install

npx skills add nanocoai/nanoclaw --skill add-wechat -g -a claude-code -y
Repository
nanocoai/nanoclaw31.1k
Category
Engineering
Updated
5d ago
License
MIT
Context cost
Mediumabout 1,843 tokens
Runs scripts
Yes, review before use

What it does

Add WeChat (personal) channel integration via Tencent's official iLink Bot API. Uses long-polling and QR scan, no webhook, no ToS risk, no paid token.

Add WeChat Channel

Adds WeChat support via iLink Bot API, the first-party Tencent API for personal WeChat bots (different from WeCom / Official Account).

Why this is different from wechaty/PadLocal:

  • Official Tencent API, no ToS violation, no ban risk
  • Free, no PadLocal token required
  • No public webhook URL needed, uses long-poll
  • Works with any personal WeChat account

Prerequisites

  • A personal WeChat account with the mobile app installed
  • A phone to scan the QR code for login
  • Node.js >= 20 (already required by NanoClaw)

Install

NanoClaw doesn't ship channels in trunk. This skill copies the WeChat adapter in from the channels branch.

1. Copy the adapter and its registration test

Fetch the channels branch from the configured remote that carries it, then overwrite the skill-owned files with the canonical registry copies:

src/channels/wechat.ts
src/channels/wechat-registration.test.ts

2. Append the self-registration import

Append to src/channels/index.ts (skip if the line is already present):

import './wechat.js';

3. Install the library (pinned)

wechat-ilink-client@0.1.0

4. Build and validate

pnpm run build
pnpm exec vitest run src/channels/wechat-registration.test.ts

Both must be clean before proceeding. wechat-registration.test.ts is the one integration test: it imports the real channel barrel and asserts the registry contains wechat. It goes red if the import './wechat.js'; line is deleted or drifts, if the barrel fails to evaluate (so the channel genuinely would not register), or if wechat-ilink-client isn't installed (the import throws), so it also implicitly verifies the dependency from step 4. Importing is safe: the adapter opens its long-poll connection only in setup() (at host startup), never at import.

Read the whole SKILL.md on GitHub

More in Engineering