-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathCode.gs
127 lines (118 loc) · 3.7 KB
/
Code.gs
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
var sheetID = 'Your-Sheet-ID-Goes-Here';
var telegramToken = 'Your-Telegram-Bot-Token-Goes-Here';
/* ========== DO NOT EDIT ANYTHING BELOW THIS LINE ========== */
/*
List of Commands:
=================
- start - Display Welcome Message
- register - Subscribe for Heartbeat
- stop - Unsubscribe from Heartbeat
- test - Dummy Ping
- help - List all Commands
- editbackup - Update Backup Email
- viewbackup - View Backup Email
*/
var ss = SpreadsheetApp.openById(sheetID);
var userReg = 'Registration';
var pingLogs = 'Heartbeats';
var allLogs = 'IncomingLogs';
function doPost(e) {
if(e.postData.type == "application/json") {
var data = JSON.parse(e.postData.contents);
logDump(data);
var text = data.message.text;
if (text == '/start') {
start(data);
} else if (text == '/register' || text == '/register ') {
register(data);
} else if (text == '/stop' || text == '/stop ') {
stop(data);
} else if (text == 'Alive' || text == 'Alive ' || text == 'Alive [Testing]' || text == 'Alive [Testing] ') {
alive(data);
} else if (text == '/test' || text == '/test ') {
test(data);
} else if (text == '/help' || text == '/help ') {
help(data);
} else if (text == '/editbackup' || text == '/editbackup ') {
editBackup(data);
} else if (text == '/viewbackup' || text == '/viewbackup ') {
viewBackup(data);
} else if (isEmailValid(text)) {
addContact(data);
} else {
invalid(data);
}
}
}
function doGet(e) {
if (e.queryString !== '') {
var params = JSON.stringify(e.parameters);
var jsonMapping = JSON.parse(params);
var chatID = jsonMapping['chatID'][0];
var emailHash = jsonMapping['emailHash'][0];
if (backupVerify(chatID, emailHash)) {
var html = "<script>alert('Your email has been successfully verified!');window.open('https://t.me/SphygmoBot','_top');</script>";
} else {
var html = "<script>alert('Sorry! Verification was unsuccessful.');window.open('https://t.me/SphygmoBot','_top');</script>";
}
return HtmlService.createHtmlOutput(html);
} else {
var html = '<script>window.open("https://t.me/SphygmoBot","_top");</script>';
return HtmlService.createHtmlOutput(html);
}
}
function logDump(data) {
var sheetName = allLogs;
var activeSheet = ss.getSheetByName(sheetName);
var params = JSON.parse(JSON.stringify(data));
var update_id = params["update_id"];
var message_id = params['message']['message_id'];
var from_id = params['message']['from']['id'];
var is_bot = params['message']['from']['is_bot'];
var first_name = params['message']['from']['first_name'];
var last_name = params['message']['from']['last_name'];
var username = params['message']['from']['username'];
var language_code = params['message']['from']['language_code'];
var chat_id = params['message']['chat']['id'];
var type = params['message']['chat']['type'];
var date = params['message']['date'];
date = new Date(date * 1000);
var text = params['message']['text'];
var entities_offset = '';
try {
entities_offset = params['message']['entities'][0]['offset'];
} catch (err) {
entities_offset = ''
}
var entities_length = '';
try {
var entities_length = params['message']['entities'][0]['length'];
} catch (err) {
entities_length = ''
}
var entities_type = '';
try {
var entities_type = params['message']['entities'][0]['type'];
} catch (err) {
entities_type = '';
}
activeSheet.appendRow(
[
update_id,
message_id,
from_id,
is_bot,
first_name,
last_name,
username,
language_code,
chat_id,
type,
date,
text,
entities_offset,
entities_length,
entities_type
]
);
}