Heim  >  Artikel  >  Web-Frontend  >  So erstellen Sie mit Node einen WeChat-Roboter für persönliche Konten

So erstellen Sie mit Node einen WeChat-Roboter für persönliche Konten

php中世界最好的语言
php中世界最好的语言Original
2018-06-02 10:19:171673Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie Node zum Erstellen eines WeChat-Roboters für persönliche Konten verwenden sehen. Heutzutage ist das tägliche Leben untrennbar mit WeChat verbunden. In diesem Artikel erfahren Sie, wie Sie mit WeChaty einige interessante Dinge tun können. Sie können automatisch Freunde anfordern und mit

Schlüsselwörtern , automatisches Gruppenziehen und andere Funktionen. Die Effizienz des Gemeindebetriebs wurde erheblich verbessert.

wechaty (https://

chatie.io/wechaty/) ist ein Open-Source-WeChat-SDK für persönliche Konten. Es führt eine Reihe von Paketen aus und bietet einfache und benutzerfreundliche Funktionen Darüber hinaus können Entwickler

WeChat-Roboter entwickeln. Sie können damit viele Dinge tun: 1) Freunde verwalten und pflegen 2) Chat-Nachrichten schnell und ordentlich verarbeiten 3) WeChat-Gruppenverwaltung 4) Automatische Antworten implementieren 5)...

1. Schnell loslegen

Auf der Homepage des Wechaty-Projekts stehen 6 Zeilen Code zum Erstellen eines WeChat-Roboters, also probieren wir es aus. Hinweis: Node.js-Version >= 8.5Der kürzeste ChatBot-Code der Welt: 6 Zeilen

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()

Diese 6 Zeilen Code implementieren die Anmeldung bei WeChat Personal Konto verwalten und empfangene Nachrichten ausdrucken. wechaty kann über Docker und NPM ausgeführt werden. Dieser Artikel verwendet die npm-Methode

node bot.js, um diesen persönlichen Kontoroboter zu starten . Wir öffnen es im Browser und Sie sehen einen QR-Code. Scannen Sie den Code, um sich anzumelden (Hinweis: Da WeChat Ende 2017 die Unterstützung für die Anmeldung in der WeChat-Webversion schrittweise einstellt, werden später registrierte WeChat-Konten nicht mehr unterstützt Web-WeChat-Login. Ich habe 105 RMB ausgegeben, um ein Konto zu kaufen, und habe es 3 Sekunden lang benutzt.

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

Die Robotererfahrung ist am Ende des Artikels. Beispielcodeadresse: Github

2. Freundschaftsanfragen automatisch weiterleiten

Anhand des vorherigen Beispielcodes können Sie sehen, wie einfach und leistungsstark diese Bibliothek ist Ist . Dann implementieren wir die erste kleine Funktion: Freunde automatisch über

//···
.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')
}
})
//···
anfordern. Hier hören wir uns das Freundschaftsereignis an. Sie können herausfinden, wer welche Freundschaftsanfrage gesendet hat. Hier haben wir die Anfrage beim Hinzufügen von Freunden überprüft. Wenn der Inhalt der Freundschaftsanfrage [JS] oder [JavaScript] ist, wird die Freundschaftsanfrage automatisch weitergeleitet.

Jedes Mal den Link in den Browser zu kopieren, um den QR-Code zu öffnen und den Code zu scannen, ist überhaupt nicht cool und die Verwendung auf dem Server ist nicht bequem. Zu diesem Zeitpunkt können wir das qrcode-terminal-Paket verwenden, um den QR-Code direkt in der Befehlszeile auszudrucken.

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

Führen Sie die Befehlszeile des Knotens bot.js aus und der QR-Code wird direkt gedruckt, was viel praktischer ist.

3. Automatische Antwort

Jetzt implementieren wir die zweite kleine Funktion: Automatische Antwort mit Schlüsselwort.

//···
.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之禅')
}
})
//···
Oben hören wir uns die Nachricht zur Nachrichtenverarbeitung an. Nachricht kann alle Nachrichten empfangen. Wir können anhand der Nachricht feststellen, ob es sich um eine Gruppenchat-Nachricht handelt, und mit entsprechendem Inhalt antworten. Wenn Sie [js] senden, erhalten Sie die eingestellte Nachricht und realisieren eine automatische Antwort.

4. Gruppen automatisch abrufen

Wie bereits erwähnt, haben wir die automatische Antwort von Nachrichtenschlüsselwörtern erwähnt. Wir können Gruppen basierend auf Schlüsselwörtern automatisch anziehen

//···
.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)
}
}
})
//···
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So verwenden Sie den Filter in Vue

So verwenden Sie Vue, um die Klasse von Dom zu bestimmen

Das obige ist der detaillierte Inhalt vonSo erstellen Sie mit Node einen WeChat-Roboter für persönliche Konten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn