Rumah hujung hadapan web tutorial js 怎样使用node打造微信个人号机器人

怎样使用node打造微信个人号机器人

Jun 02, 2018 am 10:19 AM
node peribadi membina

这次给大家带来怎样使用node打造微信个人号机器人,使用node打造微信个人号机器人的注意事项有哪些,下面就是实战案例,一起来看一下。

现在,日常生活已经离不开微信,本文将会抛砖引玉演示如何使用 wechaty 操作微信个人号做一些有意思的东西,可以实现自动通过好友请求、关键词回复、自动拉群等功能。大大提高了社群运营的效率。

wechaty( https://chatie.io/wechaty/)是一款开源的微信个人号SDK,进行了一系列的封装,提供简单好用的接口,然后开发者可以在其之上进行微信机器人的开发。你可以用它来做很多事:

1)管理和维护好友; 2)快速有序地处理聊天信息 3)微信群管理 4)实现自动回复 5)……

一、快速上手

wechaty 项目主页写着 6行代码创建一个微信机器人,那么我们就来试一试。 注意:Node.js version >= 8.5

The World's Shortest ChatBot Code: 6 lines of JavaScript

const { Wechaty } = require('wechaty')
Wechaty.instance() // Singleton
.on('scan', (url, code) => console.log(`Scan QR Code to login: $[code]\n${url}`))
.on('login', user => console.log(`User ${user} logined`))
.on('message', message => console.log(`Message: ${message}`))
.start()
Salin selepas log masuk

这6行代码实现了登录微信个人号并打印出所收到的消息。

wechaty 可以通过Docker和NPM两种方式运行,本文使用npm方式

node bot.js 启动这个个人号机器人,这时命令行会打印出一个链接,我们将它在浏览器中打开可以看到这是个二维码,扫码即可登录(注:2017年年底随着微信逐步关停微信网页版登录支持,之后后注册的微信号不支持网页微信的登录。老夫花了105RMB买了个号来用,心疼我的钱包3秒钟)

User Contact<刘星> logined // 扫码登录
Message: Message<JavaScript之禅> // 接收微信消息
Salin selepas log masuk

机器人体验在文末。 示例代码地址: Github

二、自动通过好友请求

通过前面的示例代码,可以发现这个库的简洁强大了吧。接着我们来实现第一个小功能:自动通过好友请求

//···
.on('friend', async (contact, request) => {
if (request) {
if (/JavaScript|JS/i.test(request.hello)) {
logMsg = 'accepted because verify messsage is "JS之禅"'
request.accept()
} else {
logMsg = 'not auto accepted, because verify message is: ' + request.hello
}
} else {
logMsg = 'friend ship confirmed with ' + contact.get('name')
}
})
//···
Salin selepas log masuk

这里我们通过监听 friend 事件。可以获取到谁发了什么好友请求。这里我们验证了添加好友时的请求,在收到好友请求内容为【 JS 】或者【JavaScript】时 就会自动通过好友请求了。

每次都复制链接到浏览器打开二维码在扫码一点儿都不方酷也不方便在服务器上使用。这时我们可以用 qrcode-terminal 这个包 直接在命令行中打印出二维码。

//···
const QrcodeTerminal = require('qrcode-terminal')
//···
.on('scan', (url, code) => {
let loginUrl = url.replace('qrcode', 'l')
QrcodeTerminal.generate(loginUrl)
console.log(url)
})
//···
Salin selepas log masuk

再运行 node bot.js 命令行将直接打印出二维码,方便了很多。

三、自动回复

现在来实现第二个小功能:关键词自动回复。

//···
.on('message', async (message) => {
const contact = message.from()
const content = message.content()
const room = message.room()
if (room) {
console.log(`Room: ${room.topic()} Contact: ${contact.name()} Content: ${content}`)
} else {
console.log(`Contact: ${contact.name()} Content: ${content}`)
}
// 不处理自己发的消息
if (message.self()) {
return
}
if (/JavaScript|Js|js/.test(content)) {
message.say('关注公众号 JavaScript之禅')
}
})
//···
Salin selepas log masuk

在上面 我们监听 message 来做消息处理。message 可以接收到所有的消息,我们可以判断是不是群聊消息、根据消息回复相应内容。如发送【 js 】将会收到设置好的消息,实现自动回复。

四、自动拉群

前面说到了消息关键词自动回复,把消息处理和群管理结合起来,我们就可以实现根据关键字自动拉群了

//···
.on('message', async (message) => {
const contact = message.from()
const content = message.content()
const room = message.room()
if (room) {
console.log(`Room: ${room.topic()} Contact: ${contact.name()} Content: ${content}`)
} else {
console.log(`Contact: ${contact.name()} Content: ${content}`)
}
if (message.self()) {
return
}
if (/JavaScript|Js|js/.test(content)) {
message.say('关注公众号 JavaScript之禅没?')
}
// 自动拉群
if (/加群/.test(content)) {
let keyroom = await Room.find({ topic: 'test' })
if (keyroom) {
await keyroom.add(contact)
await keyroom.say('欢迎新朋友!', contact)
}
}
})
//···
Salin selepas log masuk

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

如何使用vue中filter

怎样使用vue判断dom的class

Atas ialah kandungan terperinci 怎样使用node打造微信个人号机器人. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Mar 28, 2023 pm 07:28 PM

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Bagaimana untuk memadam nod dalam nvm Bagaimana untuk memadam nod dalam nvm Dec 29, 2022 am 10:07 AM

Cara memadam nod dengan nvm: 1. Muat turun "nvm-setup.zip" dan pasangkannya pada pemacu C 2. Konfigurasikan pembolehubah persekitaran dan semak nombor versi melalui arahan "nvm -v" 3. Gunakan "nvm arahan install" Pasang nod; 4. Padamkan nod yang dipasang melalui arahan "nvm uninstall".

Pengenalan kepada kaedah untuk individu menyertai WeChat korporat Pengenalan kepada kaedah untuk individu menyertai WeChat korporat Mar 26, 2024 am 10:16 AM

1. Mula-mula, buka perisian WeChat perusahaan yang anda muat turun pada telefon mudah alih anda. Apabila log masuk, terdapat dua cara untuk memilih: satu ialah menggunakan WeChat ID, satu lagi ialah menggunakan nombor telefon mudah alih. 3. Pada masa ini, pentadbir perusahaan perlu menambah nombor telefon mudah alih anda di latar belakang, dan kemudian WeChat Perusahaan akan mengenal pasti perusahaan berdasarkan nombor telefon mudah alih anda. Kemudian paparkan perniagaan anda dan klik pilihan Enter Business di bawah. 4. Kemudian anda boleh memasukkan penggunaan fungsi dalam perisian Ia boleh dikatakan bahawa perkara yang paling penting ialah nombor telefon bimbit anda mesti ditambahkan ke perusahaan oleh pentadbir, jika tidak, ia tidak akan tersedia.

Analisis mendalam tentang alat pengurusan proses Node 'pm2' Analisis mendalam tentang alat pengurusan proses Node 'pm2' Apr 03, 2023 pm 06:02 PM

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku. Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku. Dec 02, 2022 pm 09:06 PM

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node ke dalam fail boleh laku. Saya harap ia akan membantu anda!

Apa yang perlu dilakukan jika npm nod gyp gagal Apa yang perlu dilakukan jika npm nod gyp gagal Dec 29, 2022 pm 02:42 PM

npm node gyp gagal kerana versi "node-gyp.js" dan "Node.js" tidak sepadan Penyelesaiannya: 1. Kosongkan cache nod melalui "npm cache clean -f" 2. Melalui "npm install -. g n" Pasang modul n; 3. Pasang versi "nod v12.21.0" melalui arahan "n v12.21.0".

Pengesahan berasaskan token dengan Angular dan Node Pengesahan berasaskan token dengan Angular dan Node Sep 01, 2023 pm 02:01 PM

Pengesahan adalah salah satu bahagian terpenting dalam mana-mana aplikasi web. Tutorial ini membincangkan sistem pengesahan berasaskan token dan cara ia berbeza daripada sistem log masuk tradisional. Pada penghujung tutorial ini, anda akan melihat demo berfungsi sepenuhnya yang ditulis dalam Angular dan Node.js. Sistem Pengesahan Tradisional Sebelum beralih kepada sistem pengesahan berasaskan token, mari kita lihat sistem pengesahan tradisional. Pengguna memberikan nama pengguna dan kata laluan mereka dalam borang log masuk dan klik Log Masuk. Selepas membuat permintaan, sahkan pengguna di bahagian belakang dengan menanyakan pangkalan data. Jika permintaan itu sah, sesi dibuat menggunakan maklumat pengguna yang diperoleh daripada pangkalan data dan maklumat sesi dikembalikan dalam pengepala respons supaya ID sesi disimpan dalam penyemak imbas. Menyediakan akses kepada aplikasi tertakluk kepada

See all articles