first commit
This commit is contained in:
commit
0e681769cc
|
@ -0,0 +1 @@
|
|||
/node_modules
|
|
@ -0,0 +1,49 @@
|
|||
const { Client } = require('whatsapp-web.js');
|
||||
const qrcode = require('qrcode-terminal');
|
||||
const express = require('express');
|
||||
const app = express();
|
||||
app.use(express.json());
|
||||
|
||||
const wwebVersion = '2.2407.3';
|
||||
|
||||
// Create a new client instance
|
||||
const client = new Client(
|
||||
{webVersionCache: {
|
||||
type: 'remote',
|
||||
remotePath: `https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/${wwebVersion}.html`
|
||||
}
|
||||
});
|
||||
|
||||
client.on('ready', () => {
|
||||
console.log('Client is ready!');
|
||||
});
|
||||
|
||||
client.on('qr', qr => {
|
||||
qrcode.generate(qr, {small: true});
|
||||
});
|
||||
|
||||
// Listening to all incoming messages
|
||||
client.on('message_create', message => {
|
||||
console.log(message.body);
|
||||
// console.log(message)
|
||||
// sendMessage(message.from, 'Olá! Estou ocupado agora, mas assim que possível entrarei em contato.');
|
||||
});
|
||||
|
||||
function sendMessage(number, message) {
|
||||
client.sendMessage(number, message);
|
||||
}
|
||||
|
||||
app.post('/send-message', (req, res) => {
|
||||
const { number, message } = req.body;
|
||||
if (!number || !message) {
|
||||
return res.status(400).send('Number and message are required');
|
||||
}
|
||||
|
||||
sendMessage(number, message);
|
||||
res.send('Message sent');
|
||||
});
|
||||
|
||||
const port = process.env.PORT || 3000;
|
||||
app.listen(port, () => console.log(`Server running on port ${port}`));
|
||||
|
||||
client.initialize();
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "whatsapp_web_js",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "SG",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"express": "^4.19.2",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"whatsapp-web.js": "^1.23.0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
- Getting started: https://wwebjs.dev/guide/
|
||||
- Documentazione: https://docs.wwebjs.dev/index.html
|
||||
- Esempi di funzioni della libreria: https://github.com/pedroslopez/whatsapp-web.js/blob/main/example.js
|
||||
|
||||
##Documentazione del Progetto WhatsApp Bot
|
||||
Questo progetto è un bot di WhatsApp costruito con Node.js, utilizzando la libreria whatsapp-web.js per interagire con l'API di WhatsApp Web e express per creare un server web.
|
||||
|
||||
##Installazione
|
||||
Per installare le dipendenze del progetto, esegui il seguente comando nel terminale: npm install
|
||||
|
||||
##Uso
|
||||
Per avviare il bot, esegui il seguente comando nel terminale: node main.js
|
||||
|
||||
Quando il bot è pronto, visualizzerà un QR code nel terminale. Scansiona questo QR code con l'applicazione WhatsApp sul tuo telefono per collegare il bot al tuo account WhatsApp.
|
||||
|
||||
##Endpoint
|
||||
Il bot ha un endpoint POST /send-message che accetta un numero di telefono e un messaggio nel corpo della richiesta. Quando riceve una richiesta a questo endpoint, invia il messaggio al numero di telefono specificato.
|
||||
|
||||
Esempio di richiesta: curl -X POST -H "Content-Type: application/json" -d '{"number": "39XXXXXXX@c.us", "message": "Ciao!"}' http://localhost:3000/send-message
|
||||
|
||||
##Eventi
|
||||
Il bot ascolta i seguenti eventi:
|
||||
ready: Questo evento viene emesso quando il bot è pronto per l'uso.
|
||||
qr: Questo evento viene emesso quando il bot ha bisogno di mostrare un QR code per l'autenticazione.
|
||||
message_create: Questo evento viene emesso quando il bot riceve un messaggio. Attualmente, il bot risponde a tutti i messaggi con un messaggio predefinito.
|
||||
|
||||
##Funzioni
|
||||
Il bot ha la seguente funzione:
|
||||
sendMessage(number, message): Questa funzione invia un messaggio al numero di telefono specificato.
|
Loading…
Reference in New Issue