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 生成】

相关推荐
冬奇Lab37 分钟前
一天一个开源项目(第209篇):holaOS - Agent 原生的本地工作台
人工智能·开源·agent
夏文强2 小时前
DeepSeek Harness 权限与审批:给 Agent 上一把 human-in-the-loop 的安全阀
人工智能·开源·大模型·agent·deepseek
风云3 小时前
MiniLog 1.0 GA 发布:零分配、零依赖的 .NET 高性能日志框架
开源·c#·.net·日志·高性能·minilog
M哥支付3 小时前
快捷支付 VS 网关支付 安全对比
服务器·网络·其他·微信·金融
oort1233 小时前
OortCloud Token Plan
大数据·人工智能·开源
星期一研究室5 小时前
拥有创造力的人,就像一只边牧
人工智能·开源·产品
a1117766 小时前
ROS2动力学控制器项目
人工智能·开源
2601_962069537 小时前
2026年医学数字人做科普视频的技术路线:从开源工具链到半自动化的工程复盘
开源·音视频
X54先生(人文科技)7 小时前
《元创力》卷宗 3.5《退场不是退出——碳硅协同驾驶原则的深层推导》
人工智能·深度学习·开源·ai写作·零知识证明
m4Rk_7 小时前
【论文阅读】Agent 记忆机制(61):CFGM——用粗到细的记忆落地贯通经验采集、知识蒸馏与在线纠错
论文阅读·人工智能·学习·开源·github