forked from ceruleanotter/ugly-fcm-node-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
85 lines (61 loc) · 1.86 KB
/
index.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// index.js
const path = require('path')
const express = require('express')
const exphbs = require('express-handlebars')
var keys = require('keys.js');
var MarkovChain = require('markovchain')
, fs = require('fs')
, quotes = new MarkovChain(fs.readFileSync('./corpus/test.txt', 'utf8'))
var useUpperCase = function(wordList) {
var tmpList = Object.keys(wordList).filter(function(word) {
return word[0] >= 'A' && word[0] <= 'Z'
})
return tmpList[~~(Math.random()*tmpList.length)]
}
var FCM = require('fcm-node');
function sendFCMMessage() {
console.log(keys.server);
var fcm = new FCM(keys.server);
var markovMessage = quotes.start(useUpperCase).end().process()
var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera)
to: keys.client,
collapse_key: keys.client,
notification: {
title: 'Lyla\'s Message',
body: 'New message arrived'
},
data: { //you can send only notification or only data(or include both)
author: 'TheRealFCMBot',
message: markovMessage,
date: Date.now()
}
};
fcm.send(message, function(err, response){
console.log("Tried to send message: ", message);
if (err) {
console.log("Something has gone wrong!");
} else {
console.log("Successfully sent with response: ", response);
}
});
}
const app = express()
app.engine('.hbs', exphbs({
defaultLayout: 'main',
extname: '.hbs',
layoutsDir: path.join(__dirname, 'views/layouts')
}))
app.set('view engine', '.hbs')
app.set('views', path.join(__dirname, 'views'))
app.get('/', (request, response) => {
response.render('home', {
name: 'Lyla'
})
})
app.post('/', function(req, res) {
console.log(req.body);
//console.log(fcmMessage);
sendFCMMessage();
res.send(200);
});
app.listen(3000)