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

相关推荐
蜜桃小阿雯3 小时前
JAVA开源项目 旅游管理系统 计算机毕业设计
java·开发语言·jvm·spring cloud·开源·intellij-idea·旅游
IvorySQL4 小时前
济南站活动回顾|IvorySQL中的Oracle XML函数使用示例及技术实现原理
xml·数据库·sql·postgresql·oracle·开源
老齐谈电商5 小时前
开源电商erp系统启航电商ERP系统centos Docker部署
docker·开源·centos
infominer5 小时前
RAGFlow 0.12 版本功能导读
人工智能·开源·aigc·ai-native
YUELEI1186 小时前
TypeScript 封装 Axios 1.7.7
typescript·axios
bobostudio199511 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
Tiffany_Ho19 小时前
【TypeScript】知识点梳理(三)
前端·typescript
看到请催我学习1 天前
如何实现两个标签页之间的通信
javascript·css·typescript·node.js·html5
AAI机器之心1 天前
LLM大模型:开源RAG框架汇总
人工智能·chatgpt·开源·大模型·llm·大语言模型·rag
杨荧1 天前
【JAVA开源】基于Vue和SpringBoot的洗衣店订单管理系统
java·开发语言·vue.js·spring boot·spring cloud·开源