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

相关推荐
fruge3 小时前
TypeScript 基础类型与接口详解
javascript·ubuntu·typescript
CaracalTiger4 小时前
告别云端依赖!ComfyUI本地化视频生成实战教程+cpolar实战
python·gpt·开源·aigc·ai编程·1024程序员节·ai-native
ajassi20004 小时前
开源 Linux 服务器与中间件(十二)FRP内网穿透应用
linux·服务器·开源·frp
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2025-10-25)
ai·开源·github·ai编程·github热榜
DisonTangor5 小时前
PaddleOCR-VL: 通过0.9B超紧凑视觉语言模型增强多语言文档解析
人工智能·计算机视觉·语言模型·自然语言处理·开源·aigc
牵牛老人5 小时前
Qt 中如何操作 Excel 表格:主流开源库说明介绍与 QXlsx 库应用全解析
qt·开源·excel
de之梦-御风5 小时前
【工具分享】另一个免费开源的远程桌面服务-Apache Guacamole
开源·apache
weixin_5112228013 小时前
法术施放选择目标逻辑概述
开源
eguid_117 小时前
【开源项目分享】JNSM1.2.0,支持批量管理的jar包安装成Windows服务可视化工具,基于Java实现的支持批量管理已经安装服务的可视化工具
java·开源·jar·1024程序员节·windows服务·jar包安装成服务·exe安装成服务
周杰伦_Jay21 小时前
【常用设计模式全解析】创建型模式(聚焦对象创建机制)、结构型模式(优化类与对象的组合关系)、行为型模式(规范对象间的交互行为)
设计模式·架构·开源·交互·1024程序员节