2023-11-26 如何使用 wechaty 创建属于自己的微信机器人

2023-11-26 如何使用 wechaty 创建属于自己的微信机器人

参考链接:

wechaty:github.com/wechaty/wec...

文档:wechaty.js.org/docs/

快速开始:github.com/wechaty/wec...

废话少说,直接上安装流程!

运行环境

首先,wechaty 是基于 TypeScript 开发的,所以需要 nodejs 环境。

sh 复制代码
node -v

其次,需要通过 npm 来安装

sh 复制代码
npm -v

安装

只需要创建一个新的 nodejs 项目后安装 wechaty 即可。

sh 复制代码
cd <your wechaty dir>
npm install wechaty

然后就成功安装了 wechaty !

使用

单纯的安装是没有用的,能运行才是真的行!

创建一个新的 index.ts 文件(或者其他任何你喜欢的文件名)

ts 复制代码
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm
/**
 * Wechaty - Conversational RPA SDK for Chatbot Makers.
 *  - https://github.com/wechaty/wechaty
 */
// https://stackoverflow.com/a/42817956/1123955
// https://github.com/motdotla/dotenv/issues/89#issuecomment-587753552
import 'dotenv/config.js'

import {
  Contact,
  Message,
  ScanStatus,
  WechatyBuilder,
  log,
}                  from 'wechaty'

import qrcodeTerminal from 'qrcode-terminal'

function onScan (qrcode: string, status: ScanStatus) {
  if (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {
    const qrcodeImageUrl = [
      'https://wechaty.js.org/qrcode/',
      encodeURIComponent(qrcode),
    ].join('')
    log.info('StarterBot', 'onScan: %s(%s) - %s', ScanStatus[status], status, qrcodeImageUrl)

    qrcodeTerminal.generate(qrcode, { small: true })  // show qrcode on console

  } else {
    log.info('StarterBot', 'onScan: %s(%s)', ScanStatus[status], status)
  }
}

function onLogin (user: Contact) {
  log.info('StarterBot', '%s login', user)
}

function onLogout (user: Contact) {
  log.info('StarterBot', '%s logout', user)
}

async function onMessage (msg: Message) {
  log.info('StarterBot', msg.toString())

  if (msg.text() === 'ding') {
    await msg.say('dong')
  }
}

const bot = WechatyBuilder.build({
  name: 'ding-dong-bot',
})

bot.on('scan',    onScan)
bot.on('login',   onLogin)
bot.on('logout',  onLogout)
bot.on('message', onMessage)

bot.start()
  .then(() => log.info('StarterBot', 'Starter Bot Started.'))
  .catch(e => log.error('StarterBot', e))

以上代码实现了一个最简单的微信机器人,只要你向机器人发送ding,它就会回复dong

在运行代码之后,会看到一个二维码,使用微信机器人的账号扫码登录即可。(机器人推荐使用小号,毕竟容易被封。)

然后登录成功的话就会看到 session,检查下账号即可

之后,就可以尽情的使用 wechaty 提供的 API 进行开发了!

总结

这篇博客介绍了如何使用 Wechaty 创建自己的微信机器人。首先,需要安装 Node.js 和 npm 环境。然后,通过 npm 安装 Wechaty。接下来,创建一个新的 index.ts 文件,并编写代码实现最简单的微信机器人功能。运行代码后,使用微信扫描生成的二维码进行登录。登录成功后,就可以使用 Wechaty 提供的 API 进行开发了。这篇博客提供了详细的安装和使用步骤,适合想要学习微信机器人开发的开发者阅读。

【总结由 Chat LangChain 生成】

相关推荐
神の愛1 小时前
利用json-to-ts工具进行转换,放置在typeScript.ts文件中
javascript·typescript·json
2301_822703201 小时前
开源鸿蒙跨平台Flutter开发:FASTA 格式解析进阶:序列校验与异常处理机制实现
flutter·华为·开源·鸿蒙
海兰2 小时前
【AI网关】阿里开源的Higress(OpenAPI-to-MCP工具)
人工智能·架构·开源·银行系统
ZzT3 小时前
CC 记忆凭啥不用向量数据库
人工智能·开源·claude
zhensherlock3 小时前
Protocol Launcher 系列:Agenda 优雅组织你的想法与日程
javascript·macos·ios·typescript·node.js·mac·ipad
lipku3 小时前
LiveTalking 2.0 发布:重构数字人底层架构,全面拥抱插件化!
开源·数字人
IvorySQL4 小时前
PostgreSQL & IvorySQL 技术交流 Meetup・郑州站| 4.18 线下开讲,只聊硬核技术
数据库·postgresql·开源
We་ct4 小时前
LeetCode 201. 数字范围按位与:位运算高效解题指南
开发语言·前端·javascript·算法·leetcode·typescript
独特的螺狮粉4 小时前
开源鸿蒙跨平台Flutter开发:基于 CustomPaint 的高刷心电图 (ECG) 渲染引擎设计-临床体征实时监测终端
flutter·开源·harmonyos
羊群智妍5 小时前
2026年GEO新趋势:如何利用免费工具进行AI搜索优化
百度·微信·微信公众平台·facebook·新浪微博