這次帶給大家怎麼使用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 JavaScriptconst { 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()
User Contact<刘星> logined // 扫码登录 Message: Message<JavaScript之禅> // 接收微信消息
二、自動透過好友請求
透過前面的範例程式碼,可以發現這個函式庫的簡潔強大了吧。接著我們來實現第一個小功能:自動透過好友請求//··· .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') } }) //···
//··· const QrcodeTerminal = require('qrcode-terminal') //··· .on('scan', (url, code) => { let loginUrl = url.replace('qrcode', 'l') QrcodeTerminal.generate(loginUrl) console.log(url) }) //···
//··· .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之禅') } }) //···
//··· .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) } } }) //···
以上是怎麼使用node做出個人號機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!