-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackground.js
More file actions
99 lines (71 loc) · 2.81 KB
/
background.js
File metadata and controls
99 lines (71 loc) · 2.81 KB
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
// Вешаем обработчик для отслеживания поступлений новых заказов:
chrome.extension.onMessage.addListener(function(json) {
if (json.includes('token')) {
signal.play();
var bufer = JSON.parse(json);
var token = bufer['token'];
var chat = bufer['chat'];
delete bufer['token'];
delete bufer['chat'];
var keys = Object.keys(bufer);
for (var n = 0; n < keys.length; n++) {
var text = "Найден новый заказ за номером <b>№" + keys[n] + "</b>\n\n";
var title = Object.keys(bufer[keys[n]]);
for (var z = 0; z < title.length; z++) {
var txt = bufer[keys[n]][title[z]];
txt = txt.replace("Order with a mandatory YouTube broadcast!", " Order with a mandatory YouTube broadcast!\n\n");
txt = txt.replace('I do not understand what needs to be done', '');
text += "<b>" + title[z] + "</b>: " + txt + "\n\n";
}
send_notify(text, chat, token);
}
}
});
// Функция для отправки уведомлений в телеграм:
function send_notify(text, chat, token) {
var link = 'https://api.telegram.org/bot'+token+'/sendMessage?chat_id='+chat+'&parse_mode=HTML&text=' + encodeURIComponent(text);
var xhr = new XMLHttpRequest(); xhr.open('GET', link);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var obj = JSON.parse(xhr.responseText);
if (obj.ok) {
console.log('Уведомление успешно отправлено:');
}
else {
console.log('При отправке уведомления произошла ошибка:');
}
console.dir(obj);
}
else {
console.log('Ошибка отправки сообщения( Ждем секунду и повторяем попытку');
setTimeout(function() {
send_notify(text, chat, token);
}, 1000);
}
}
}
xhr.send();
}
// Ссылка на звуковой сигнал:
signal = new Audio(chrome.extension.getURL('signal.mp3'));
// Ставим обработчики для отслеживания вкладок и установки запрета заморозки:
chrome.tabs.onCreated.addListener(function(tab) {
chrome.tabs.update(tab.id, {
autoDiscardable: false
});
});
chrome.tabs.onReplaced.addListener(function(tabId) {
chrome.tabs.update(tabId, {
autoDiscardable: false
});
});
chrome.runtime.onInstalled.addListener(function(details) {
chrome.tabs.query({}, function(tabs) {
tabs.forEach(function(tab) {
chrome.tabs.update(tab.id, {
autoDiscardable: false
});
});
});
});