wechaty-puppet-padplus
TypeScript icon, indicating that this package has built-in type declarations

0.6.6 • Public • Published

WECHATY-PUPPET-PADPLUS

Powered by Wechaty NPM Version npm (tag) TypeScript Linux/Mac Build Status

Notice

Our Mission: Make it easy to build a WeChat Chatbot for developers.

We provide a free token for the developers who have a strong will and ability to build a valuable chatbot for users.

See more: Token Support, Everything about wechaty

Install

1. Init

1.1. Check your Node version first

node --version // v10.16.0

for windows system

To make sure you could install wechaty-puppet-padplus successfully, you have to start PowerShell as Administrator and run these commands:

npm install -g windows-build-tools
 
npm install -g node-gyp

1.2. Create your bot folder and do some init config

mkdir my-padplus-bot && cd my-padplus-bot
 
npm init -y
 
npm install ts-node typescript -g
 
tsc --init --target ES6
 
touch bot.ts // copy the example code to it

2. Install Wechaty Dependencies

npm install wechaty@latest
 
npm install wechaty-puppet-padplus@latest

Or some new features developing version:

npm install wechaty@next
 
npm install wechaty-puppet-padplus@next

3. Install Other Dependencies

There's no need to install wechaty-puppet in my-padplus-bot

npm install qrcode-terminal
...

4. Run

If you want to see detail logs about your bot, just run:

BROLOG_LEVEL=silly ts-node bot.ts

or

BROLOG_LEVEL=silly node bot.js

5. Cache Option

wechaty-puppet-padplus use flash-store or mongo as cache store

  • flash-store[default]
  • mongo

If you want to use mongo as cache sotre, just set the cacheOption, like this:

const puppet: Puppet = new PuppetPadplus({
  token,
  cacheOption: {
    type: 'mongo',
    url: 'mongodb://127.0.0.1:27017/testdb',
  },
})
 

Caution

When you use mongo as cache store, wechaty-puppet-cache use some tables which have wechaty-cache prefix. detail>>

6. Other Tips

Set environment in windows

$Env:BROLOG_LEVEL='silly'
ts-node bot.ts

If step 1~3 can not help you install successfully, please try this suggestion, otherwise just skip it please.

rm -rf node_modules package-lock.json
npm install

Example

// bot.ts
import { Contact, Message, Wechaty } from 'wechaty'
import { ScanStatus } from 'wechaty-puppet'
import { PuppetPadplus } from 'wechaty-puppet-padplus'
import QrcodeTerminal from 'qrcode-terminal'
 
const token = 'your-token'
 
const puppet = new PuppetPadplus({
  token,
})
 
const name  = 'your-bot-name'
 
const bot = new Wechaty({
  puppet,
  name, // generate xxxx.memory-card.json and save login data for the next login
})
 
bot
  .on('scan', (qrcode, status) => {
    if (status === ScanStatus.Waiting) {
      QrcodeTerminal.generate(qrcode, {
        small: true
      })
    }
  })
  .on('login', (user: Contact) => {
    console.log(`login success, user: ${user}`)
  })
  .on('message', (msg: Message) => {
    console.log(`msg : ${msg}`)
  })
  .on('logout', (user: Contact, reason: string) => {
    console.log(`logout user: ${user}, reason : ${reason}`)
  })
  .start()

How to emit the message that you sent

Please use environment variable PADPLUS_REPLAY_MESSAGE to activate this function.

PADPLUS_REPLAY_MESSAGE=true node bot.js

Puppet Comparison

功能 padpro padplus macpro
<消息>
收发文本
收发个人名片
收发图文链接
发送图片、文件 ✅(对内容有大小限制,20M以下)
接收图片、文件 ✅(对内容有大小限制,25M以下)
发送视频
接收视频
发送小程序
接收动图
发送动图
接收语音消息
发送语音消息
转发文本
转发图片
转发图文链接
转发音频
转发视频
转发文件
转发动图
转发小程序
<群组>
创建群聊
设置群公告
获取群公告
群二维码
拉人进群
踢人出群
退出群聊
改群名称
入群事件
离群事件
群名称变更事件
@群成员
群列表
群成员列表
群详情
<联系人>
修改备注
添加好友
自动通过好友
添加好友
好友列表
好友详情
<其他>
登录微信
扫码状态
退出微信
依赖协议 iPad iPad Mac

Package Sidebar

Install

npm i wechaty-puppet-padplus

Weekly Downloads

4

Version

0.6.6

License

Apache-2.0

Unpacked Size

1.48 MB

Total Files

442

Last publish

Collaborators

  • suchang