-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsender.js
55 lines (48 loc) · 1.44 KB
/
sender.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios').default;
const app = express();
const port = 3000;
const local_token = "74ef36aw347wjg1";
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', (req, res) => {
console.log(req.query);
const challenge = req.query['hub.challenge'];
const token = req.query['hub.verify_token'];
if (local_token == token) {
res.send(challenge);
} else {
res.send('failed');
}
});
app.post('/', (req, res) => {
//console.log(JSON.stringify(req.body));
const body = req.body;
body.entry.forEach(entry => {
if (entry["messaging"]) {
entry.messaging.forEach(messaging => {
//console.log(messaging);
respond(messaging.sender, messaging.message.text);
});
}
});
res.send("ok");
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
});
function respond(sender, text) {
console.log(sender, text);
var message = {
"recipient": sender,
"message": {
"text": text + "~ This is a BOT"
}
}
const access_token = "PASTE YOUR ACCESS TOKEN"
const url = `https://graph.facebook.com/v9.0/me/messages?access_token=${access_token}`
axios.post(url, message).then((response) => {
console.log("Responded");
});
}