Maison  >  Article  >  interface Web  >  Comment utiliser Node pour créer un robot de compte personnel WeChat

Comment utiliser Node pour créer un robot de compte personnel WeChat

php中世界最好的语言
php中世界最好的语言original
2018-06-02 10:19:171688parcourir

Cette fois, je vais vous montrer comment utiliser node pour créer un robot de compte personnel WeChat. Quelles sont les précautions pour utiliser node pour créer un robot de compte personnel WeChat. Voici des cas pratiques, prenons un. regarder.

De nos jours, la vie quotidienne est indissociable de WeChat. Cet article vous présentera comment utiliser Wechaty pour gérer votre compte personnel WeChat afin de faire des choses intéressantes. Vous pouvez automatiquement demander des amis et répondre avec des mots-clés<.> , tirage de groupe automatique et autres fonctions. Considérablement amélioré l’efficacité des opérations communautaires.

wechaty (

https://chatie.io/wechaty/) est un SDK de compte personnel WeChat open source. Il réalise une série de packages et fournit des fonctionnalités simples et faciles à utiliser. Les développeurs peuvent développer des robots WeChat par-dessus. Vous pouvez l'utiliser pour faire beaucoup de choses :

1) Gérer et entretenir vos amis ; 2) Traiter les messages de discussion rapidement et de manière ordonnée 3) Gestion des groupes WeChat 4) Mettre en œuvre des réponses automatiques 5)...

1. Commencez rapidement

La page d'accueil du projet Wechaty indique 6 lignes de code pour créer un robot WeChat, alors essayons-le. Remarque : version Node.js >= 8.5

Le code ChatBot le plus court au monde : 6 lignes de

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()
Ces 6 lignes de code implémentent la connexion à Numéro personnel WeChat et imprimez le message reçu.

wechaty peut être exécuté via Docker et NPM. Cet article utilise la méthode npm

node bot.js pour démarrer ce robot de compte personnel. À ce stade, la ligne de commande imprimera un lien. . Nous l'ouvrirons dans le navigateur et vous verrez un code QR. Scannez le code pour vous connecter (Remarque : fin 2017, alors que WeChat a progressivement arrêté la prise en charge de la connexion à la version Web de WeChat, les comptes WeChat enregistrés ultérieurement ne sont pas pris en charge. connexion Web WeChat. J'ai dépensé 105 RMB pour acheter un compte et je l'ai utilisé. Je me suis senti désolé pour mon portefeuille pendant 3 secondes)

User Contact<刘星> logined // 扫码登录
Message: Message<JavaScript之禅> // 接收微信消息
L'expérience robot est à la fin de l'article. Exemple d'adresse de code : Github

2. Transmettre automatiquement les demandes d'amis

Grâce à l'exemple de code précédent, vous pouvez voir à quel point cette bibliothèque est simple et puissante est . Implémentons ensuite la première petite fonction : demander automatiquement des amis

//···
.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')
}
})
//···
Ici, nous écoutons l'événement ami. Vous pouvez savoir qui a envoyé quelle demande d’ami. Ici, nous avons vérifié la demande lors de l'ajout d'amis. Lorsque le contenu de la demande d'ami est [JS] ou [JavaScript], la demande d'ami sera automatiquement transmise.

Copier le lien vers le navigateur à chaque fois pour ouvrir le code QR et scanner le code n'est pas cool du tout et ce n'est pas pratique à utiliser sur le serveur. À ce stade, nous pouvons utiliser le package qrcode-terminal pour imprimer le code QR directement sur la ligne de commande.

//···
const QrcodeTerminal = require('qrcode-terminal')
//···
.on('scan', (url, code) => {
let loginUrl = url.replace('qrcode', 'l')
QrcodeTerminal.generate(loginUrl)
console.log(url)
})
//···
Exécutez la ligne de commande node bot.js et le code QR sera imprimé directement, ce qui est beaucoup plus pratique.

3. Réponse automatique

Implémentons maintenant la deuxième petite fonction : la réponse automatique par mot clé.

//···
.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之禅')
}
})
//···
Ci-dessus, nous écoutons le message pour le traitement des messages. Le message peut recevoir tous les messages. Nous pouvons déterminer s'il s'agit d'un message de discussion de groupe et répondre avec le contenu correspondant en fonction du message. Si vous envoyez [js], vous recevrez le message défini et réaliserez une réponse automatique.

4. Extraire automatiquement les groupes

Comme mentionné précédemment, nous avons évoqué la réponse automatique des mots-clés des messages en combinant le traitement des messages et la gestion des groupes, nous pouvons attirer automatiquement des groupes en fonction de mots-clés

//···
.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)
}
}
})
//···
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Comment utiliser le filtre dans vue

Comment utiliser vue pour déterminer la classe de dom

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn