0%

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

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

参考链接:

wechaty:https://github.com/wechaty/wechaty

文档:https://wechaty.js.org/docs/

快速开始:https://github.com/wechaty/wechaty-getting-started

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

运行环境

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

1
node -v

其次,需要通过 npm 来安装

1
npm -v

安装

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

1
2
cd <your wechaty dir>
npm install wechaty

然后就成功安装了 wechaty !

使用

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/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

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

image-20231126121629101

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

image-20231126121745054

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

总结

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

【总结由 Chat LangChain 生成】

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/eb20e5d9.html
版权声明:转载请注明出处!

坚持原创技术分享,您的支持将鼓励我继续创作!