Connecter votre application avec la messagerie WhatsApp
Bibliothèque légère pour WhatsApp. Ne nécessite pas de sélénium ou tout autre navigateur.
Tenez-vous au-dessus de la bibliothèque Baileys.
Installez le package à l'aide de NPM
npm install wa-multi-session@latest
Puis importez votre code
Utilisation du module JS
import * as whatsapp from "wa-multi-session" ;ou en utilisant CommonJS
const whatsapp = require ( "wa-multi-session" ) ; Démarrer la nouvelle session
// create session with ID : mysessionid
const session = await whatsapp . startSession ( "mysessionid" ) ;
// Then, scan QR on terminalObtenez tout l'identifiant de session
const sessions = whatsapp . getAllSession ( ) ;
// returning all session ID that has been createdObtenez les données de session par ID
const session = whatsapp . getSession ( "mysessionid" ) ;
// returning session dataSession de chargement à partir de la session enregistrée de stockage / charge
whatsapp . loadSessionsFromStorage ( ) ;
// Start saved session without scan again Envoyer un SMS
await whatsapp . sendTextMessage ( {
sessionId : "mysessionid" , // session ID
to : "6281234567890" , // always add country code (ex: 62)
text : "Hi There, This is Message from Server!" , // message you want to send
} ) ;Envoyer une image
const image = fs . readFileSync ( "./myimage.png" ) ; // return Buffer
const send = await whatsapp . sendImage ( {
sessionId : "session1" ,
to : "6281234567890" ,
text : "My Image Caption" ,
media : image , // can from URL too
} ) ;Envoyer une vidéo
const video = fs . readFileSync ( "./myvideo.mp4" ) ; // return Buffer
const send = await whatsapp . sendVideo ( {
sessionId : "session1" ,
to : "6281234567890" ,
text : "My Video Caption" ,
media : video , // can from URL too
} ) ;Envoyer un fichier de document
const filename = "mydocument.docx" ;
const document = fs . readFileSync ( filename ) ; // return Buffer
const send = await whatsapp . sendDocument ( {
sessionId : "session1" ,
to : "6281234567890" ,
filename : filename ,
media : document ,
text : "Hei, Check this Document" ,
} ) ;Envoyer la note vocale
const filename = "myaudio.mp3" ;
const audio = fs . readFileSync ( filename ) ; // return Buffer
const send = await whatsapp . sendVoiceNote ( {
sessionId : "session1" ,
to : "6281234567890" ,
media : audio ,
} ) ;Lire un message
await whatsapp . readMessage ( {
sessionId : "session1" ,
key : msg . key ,
} ) ;Envoyer l'effet de saisie
await whatsapp . sendTyping ( {
sessionId : "session1" ,
to : "6281234567890" ,
duration : 3000 ,
} ) ; Ajouter l'auditeur / rappel lorsque vous recevez un message
whatsapp . onMessageReceived ( ( msg ) => {
console . log ( `New Message Received On Session: ${ msg . sessionId } >>>` , msg ) ;
} ) ;Ajouter l'auditeur / rappel lorsque QR a imprimé
whatsapp . onQRUpdated ( ( { sessionId , qr } ) => {
console . log ( qr ) ;
} ) ;Ajouter l'auditeur / rappel lorsque la session s'est connectée
whatsapp . onConnected ( ( sessionId ) => {
console . log ( "session connected :" + sessionId ) ;
} ) ; whatsapp . onMessageReceived ( async ( msg ) => {
if ( msg . key . fromMe || msg . key . remoteJid . includes ( "status" ) ) return ;
await whatsapp . readMessage ( {
sessionId : msg . sessionId ,
key : msg . key ,
} ) ;
await whatsapp . sendTyping ( {
sessionId : msg . sessionId ,
to : msg . key . remoteJid ,
duration : 3000 ,
} ) ;
await whatsapp . sendTextMessage ( {
sessionId : msg . sessionId ,
to : msg . key . remoteJid ,
text : "Hello!" ,
answering : msg , // for quoting message
} ) ;
} ) ; wa . onMessageReceived ( async ( msg ) => {
if ( msg . message ?. imageMessage ) {
// save image
msg . saveImage ( "./myimage.jpg" ) ;
}
if ( msg . message ?. videoMessage ) {
// save video
msg . saveVideo ( "./myvideo.mp4" ) ;
}
if ( msg . message ?. documentMessage ) {
// save document
msg . saveDocument ( "./mydocument" ) ; // without extension
}
} ) ; Définir le répertoire des informations d'identification personnalisées
// default dir is "wa_credentials"
whatsapp . setCredentialsDir ( "my_custom_dir" ) ;
// or : credentials/mycreds Si vous avez des commentaires ou un soutien, veuillez me contacter à [email protected]