Heim > Web-Frontend > js-Tutorial > Hauptteil

So erstellen Sie mit Node einen Roboter für ein persönliches Konto

php中世界最好的语言
Freigeben: 2018-06-06 09:43:08
Original
1916 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie mit Node einen Roboter für persönliche Konten erstellen und welche Vorsichtsmaßnahmen bei der Verwendung von Node für die Erstellung eines Roboters für persönliche Konten gelten. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

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. Es kann automatische Freundschaftsanfragen, Schlüsselwortantworten und automatische Gruppentreffen realisieren , usw. . Die Effizienz des Gemeindebetriebs wurde erheblich verbessert.

wechaty (https://chatie.io/wechaty/) ist ein Open-Source-SDK für persönliche WeChat-Konten. Es führt eine Reihe von Paketen aus und bietet einfache und benutzerfreundliche Schnittstellen, die Entwicklern zur Verfügung stehen Entwickeln Sie WeChat-Roboter. 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.5

Der 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()
Nach dem Login kopieren
Diese 6 Codezeilen implementieren die Anmeldung beim persönlichen WeChat-Konto und das Ausdrucken der empfangenen Nachrichten Nachrichten.

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之禅> // 接收微信消息
Nach dem Login kopieren
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')
}
})
//···
Nach dem Login kopieren
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)
})
//···
Nach dem Login kopieren
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之禅')
}
})
//···
Nach dem Login kopieren
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 automatisch Gruppen basierend auf Schlüsselwörtern ziehen

//···
.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)
}
}
})
//···
Nach dem Login kopieren
Der obige Code betreibt den Gruppenchat über Room. Antworten Sie zu diesem Zeitpunkt mit [Gruppe hinzufügen] und Sie werden automatisch zur Gruppe hinzugefügt. Natürlich können wir noch mehr tun, wie zum Beispiel Room.del verwenden, um ein bestimmtes Gruppenmitglied rauszuwerfen.

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 ermitteln Sie die absolute Position von DOM-Elementen in der Front-End-Schnittstelle

Anleitung Angular-Code optimieren

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage