Skip to content

systemxlabs/wechat-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wechat-cli

License Crates.io

A CLI tool to interact with a Wechat iLink bot.

Features

  • Interactive QR code login for human
  • Non-interactive QR code retrieval and status polling for agents
  • Manage multi accounts
  • Get context_token
  • Send text, images, and files to WeChat users

Installation

cargo install wechat-cli

Usage

Usage: wechat-cli <COMMAND>

Commands:
  login              Log in with a QR code and save the account locally
  qrcode             Request a login QR code and print it as JSON without saving anything locally
  qrcode-status      Query a login QR code status and print it as JSON without saving anything locally
  account            Inspect saved accounts
  get-context-token  Wait for the next inbound message and print its context token
  send               Send a text, image, or file message
  help               Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print helpt-cli [COMMAND]

Login

Interactive QR code login:

wechat-cli login

Non-interactive QR code workflow for agents:

# Request a QR code
wechat-cli qrcode

# Poll QR code status
wechat-cli qrcode-status --qrcode-id <qrcode_id>

Account

List saved accounts:

wechat-cli account list

Add a new account:

wechat-cli account add \
  --user-id <user_id> \
  --bot-token <bot_token> \
  [--route-tag <route_tag>]

Delete an account by index:

wechat-cli account delete --account <index>

Delete an account by user ID:

wechat-cli account delete --user-id <user_id>

Get Context Token

Wait for the next incoming message and print the context_token:

wechat-cli get-context-token [--user-id <user_id>]

Send

Send a text message:

wechat-cli send \
  [--account <index> | --user-id <user_id>] \
  --context-token <token> \
  --text "hello"

Send an image:

wechat-cli send \
  [--account <index> | --user-id <user_id>] \
  --context-token <token> \
  --file ./image.png

Send a file:

wechat-cli send \
  [--account <index> | --user-id <user_id>] \
  --context-token <token> \
  --file ./document.pdf

Send a file with caption:

wechat-cli send \
  [--account <index> | --user-id <user_id>] \
  --context-token <token> \
  --file ./image.png \
  --caption "this is an image"

Use explicit credentials:

wechat-cli send \
  --bot-token <bot_token> \
  --user-id <user_id> \
  --context-token <token> \
  [--route-tag <route_tag>] \
  --text "hello"

Storage

Local files are stored under:

~/.config/wechat-cli/

Main file:

~/.config/wechat-cli/accounts.json

About

A CLI tool to interact with a Wechat iLink bot.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages