iobroker.telegram-menu 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +8 -1
  2. package/admin/build/index.js +1 -1
  3. package/admin/build/index.js.map +3 -3
  4. package/build/app/action.js +4 -3
  5. package/build/app/action.js.map +2 -2
  6. package/build/app/echarts.js.map +1 -1
  7. package/build/app/getstate.js +8 -6
  8. package/build/app/getstate.js.map +2 -2
  9. package/build/app/idBySelector.js.map +2 -2
  10. package/build/app/telegram.js +5 -1
  11. package/build/app/telegram.js.map +2 -2
  12. package/build/lib/appUtils.js.map +2 -2
  13. package/build/lib/exchangeValue.js +8 -4
  14. package/build/lib/exchangeValue.js.map +2 -2
  15. package/build/lib/string.js +7 -1
  16. package/build/lib/string.js.map +2 -2
  17. package/build/types/types.js.map +1 -1
  18. package/io-package.json +27 -27
  19. package/package.json +5 -5
  20. package/build/.eslintrc.js +0 -70
  21. package/build/.eslintrc.js.map +0 -1
  22. package/build/build/src/app/action.js +0 -447
  23. package/build/build/src/app/adapterStartMenuSend.js +0 -37
  24. package/build/build/src/app/backMenu.js +0 -70
  25. package/build/build/src/app/botAction.js +0 -25
  26. package/build/build/src/app/connection.js +0 -19
  27. package/build/build/src/app/createState.js +0 -19
  28. package/build/build/src/app/dynamicSwitch.js +0 -51
  29. package/build/build/src/app/dynamicValue.js +0 -64
  30. package/build/build/src/app/echarts.js +0 -45
  31. package/build/build/src/app/getstate.js +0 -157
  32. package/build/build/src/app/global.js +0 -59
  33. package/build/build/src/app/httpRequest.js +0 -64
  34. package/build/build/src/app/jsonTable.js +0 -147
  35. package/build/build/src/app/logging.js +0 -13
  36. package/build/build/src/app/messageIds.js +0 -88
  37. package/build/build/src/app/processData.js +0 -208
  38. package/build/build/src/app/sendNav.js +0 -30
  39. package/build/build/src/app/sendpic.js +0 -69
  40. package/build/build/src/app/setstate.js +0 -126
  41. package/build/build/src/app/shoppingList.js +0 -72
  42. package/build/build/src/app/subMenu.js +0 -361
  43. package/build/build/src/app/subscribeStates.js +0 -25
  44. package/build/build/src/app/telegram.js +0 -101
  45. package/build/build/src/lib/string.js +0 -28
  46. package/build/build/src/lib/time.js +0 -23
  47. package/build/build/src/lib/utilities.js +0 -263
  48. package/build/build/src/lib/utils.js +0 -13
  49. package/build/build/src/main.js +0 -402
  50. package/build/io-package.json +0 -324
  51. package/build/src/app/action.js +0 -239
  52. package/build/src/app/action.js.map +0 -1
  53. package/build/src/app/adapterManager.js +0 -12
  54. package/build/src/app/adapterManager.js.map +0 -1
  55. package/build/src/app/adapterStartMenuSend.js +0 -36
  56. package/build/src/app/adapterStartMenuSend.js.map +0 -1
  57. package/build/src/app/backMenu.js +0 -81
  58. package/build/src/app/backMenu.js.map +0 -1
  59. package/build/src/app/botAction.js +0 -25
  60. package/build/src/app/botAction.js.map +0 -1
  61. package/build/src/app/configVariables.js +0 -32
  62. package/build/src/app/configVariables.js.map +0 -1
  63. package/build/src/app/connection.js +0 -20
  64. package/build/src/app/connection.js.map +0 -1
  65. package/build/src/app/createState.js +0 -19
  66. package/build/src/app/createState.js.map +0 -1
  67. package/build/src/app/dynamicSwitch.js +0 -52
  68. package/build/src/app/dynamicSwitch.js.map +0 -1
  69. package/build/src/app/dynamicSwitchMenu.js +0 -52
  70. package/build/src/app/dynamicSwitchMenu.js.map +0 -1
  71. package/build/src/app/dynamicValue.js +0 -52
  72. package/build/src/app/dynamicValue.js.map +0 -1
  73. package/build/src/app/echarts.js +0 -33
  74. package/build/src/app/echarts.js.map +0 -1
  75. package/build/src/app/getstate.js +0 -122
  76. package/build/src/app/getstate.js.map +0 -1
  77. package/build/src/app/global.js +0 -8
  78. package/build/src/app/global.js.map +0 -1
  79. package/build/src/app/httpRequest.js +0 -55
  80. package/build/src/app/httpRequest.js.map +0 -1
  81. package/build/src/app/jsonTable.js +0 -147
  82. package/build/src/app/jsonTable.js.map +0 -1
  83. package/build/src/app/logging.js +0 -22
  84. package/build/src/app/logging.js.map +0 -1
  85. package/build/src/app/messageIds.js +0 -89
  86. package/build/src/app/messageIds.js.map +0 -1
  87. package/build/src/app/processData.js +0 -153
  88. package/build/src/app/processData.js.map +0 -1
  89. package/build/src/app/sendNav.js +0 -26
  90. package/build/src/app/sendNav.js.map +0 -1
  91. package/build/src/app/sendpic.js +0 -66
  92. package/build/src/app/sendpic.js.map +0 -1
  93. package/build/src/app/sentry.js +0 -18
  94. package/build/src/app/sentry.js.map +0 -1
  95. package/build/src/app/setStateIdsToListenTo.js +0 -17
  96. package/build/src/app/setStateIdsToListenTo.js.map +0 -1
  97. package/build/src/app/setstate.js +0 -114
  98. package/build/src/app/setstate.js.map +0 -1
  99. package/build/src/app/shoppingList.js +0 -74
  100. package/build/src/app/shoppingList.js.map +0 -1
  101. package/build/src/app/subMenu.js +0 -237
  102. package/build/src/app/subMenu.js.map +0 -1
  103. package/build/src/app/subscribeStates.js +0 -17
  104. package/build/src/app/subscribeStates.js.map +0 -1
  105. package/build/src/app/telegram.js +0 -83
  106. package/build/src/app/telegram.js.map +0 -1
  107. package/build/src/app/validateMenus.js +0 -30
  108. package/build/src/app/validateMenus.js.map +0 -1
  109. package/build/src/config/config.js +0 -100
  110. package/build/src/config/config.js.map +0 -1
  111. package/build/src/lib/appUtils.js +0 -126
  112. package/build/src/lib/appUtils.js.map +0 -1
  113. package/build/src/lib/appUtilsString.js +0 -13
  114. package/build/src/lib/appUtilsString.js.map +0 -1
  115. package/build/src/lib/json.js +0 -37
  116. package/build/src/lib/json.js.map +0 -1
  117. package/build/src/lib/math.js +0 -17
  118. package/build/src/lib/math.js.map +0 -1
  119. package/build/src/lib/object.js +0 -10
  120. package/build/src/lib/object.js.map +0 -1
  121. package/build/src/lib/splitValues.js +0 -35
  122. package/build/src/lib/splitValues.js.map +0 -1
  123. package/build/src/lib/string.js +0 -121
  124. package/build/src/lib/string.js.map +0 -1
  125. package/build/src/lib/time.js +0 -57
  126. package/build/src/lib/time.js.map +0 -1
  127. package/build/src/lib/utilities.js +0 -111
  128. package/build/src/lib/utilities.js.map +0 -1
  129. package/build/src/lib/utils.js +0 -37
  130. package/build/src/lib/utils.js.map +0 -1
  131. package/build/src/main.js +0 -332
  132. package/build/src/main.js.map +0 -1
  133. package/build/src/test/setup.js +0 -12
  134. package/build/src/test/setup.js.map +0 -1
  135. package/build/src/types/types.js +0 -3
  136. package/build/src/types/types.js.map +0 -1
  137. package/build/test/integration.js +0 -6
  138. package/build/test/integration.js.map +0 -1
  139. package/build/test/mocha.setup.js +0 -14
  140. package/build/test/mocha.setup.js.map +0 -1
  141. package/build/test/package.js +0 -6
  142. package/build/test/package.js.map +0 -1
  143. package/build/test/setup.js +0 -12
  144. package/build/test/setup.js.map +0 -1
  145. package/build/test/test/appUtils.test.js +0 -519
  146. package/build/test/test/appUtils.test.js.map +0 -1
  147. package/build/test/test/appUtilsString.test.js +0 -16
  148. package/build/test/test/appUtilsString.test.js.map +0 -1
  149. package/build/test/test/math.test.js +0 -33
  150. package/build/test/test/math.test.js.map +0 -1
  151. package/build/test/test/object.test.js +0 -66
  152. package/build/test/test/object.test.js.map +0 -1
  153. package/build/test/test/string.test.js +0 -385
  154. package/build/test/test/string.test.js.map +0 -1
  155. package/build/test/test/time.test.js +0 -186
  156. package/build/test/test/time.test.js.map +0 -1
  157. package/build/test/test/utils.test.js +0 -115
  158. package/build/test/test/utils.test.js.map +0 -1
@@ -1,361 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.subMenu = subMenu;
5
- exports.callSubMenu = callSubMenu;
6
- const backMenu_1 = require("./backMenu");
7
- const setstate_1 = require("./setstate");
8
- const telegram_1 = require("./telegram");
9
- const utilities_1 = require("../lib/utilities");
10
- const subscribeStates_1 = require("./subscribeStates");
11
- const messageIds_1 = require("./messageIds");
12
- const dynamicSwitch_1 = require("./dynamicSwitch");
13
- const global_1 = require("./global");
14
- const main_1 = require("../main");
15
- const string_1 = require("../lib/string");
16
- const logging_1 = require("./logging");
17
- let step = 0;
18
- let returnIDToListenTo = [];
19
- let splittedData = [];
20
- const getMenuValues = (obj) => {
21
- const splitText = obj[0].split(':');
22
- return { callbackData: splitText[1], device: splitText[2], val: splitText[3] };
23
- };
24
- const deleteMessages = async (obj) => {
25
- const navToGoBack = obj.device2Switch;
26
- if (obj.callbackData.includes('deleteAll')) {
27
- await (0, messageIds_1.deleteMessageIds)(obj.userToSend, obj.userListWithChatID, obj.instanceTelegram, 'all');
28
- }
29
- if (navToGoBack && navToGoBack != '') {
30
- return { navToGoBack: navToGoBack };
31
- }
32
- return;
33
- };
34
- const setDynamicValue = async (obj) => {
35
- main_1._this.log.debug(`State: ${obj.val}`);
36
- const result = await (0, setstate_1.setState)(obj.part, obj.userToSend, obj.val, true, obj.instanceTelegram, obj.resize_keyboard, obj.one_time_keyboard, obj.userListWithChatID);
37
- if (Array.isArray(result)) {
38
- returnIDToListenTo = result;
39
- }
40
- return {
41
- returnIds: returnIDToListenTo,
42
- };
43
- };
44
- const createSubmenuPercent = (obj) => {
45
- const { callbackData, device2Switch } = obj;
46
- step = parseFloat(callbackData.replace('percent', ''));
47
- let rowEntries = 0;
48
- let menu = [];
49
- const keyboard = {
50
- inline_keyboard: [],
51
- };
52
- for (let i = 100; i >= 0; i -= step) {
53
- menu.push({
54
- text: `${i}%`,
55
- callback_data: `submenu:percent${step},${i}:${device2Switch}`,
56
- });
57
- if (i != 0 && i - step < 0) {
58
- menu.push({
59
- text: `0%`,
60
- callback_data: `submenu:percent${step},${0}:${device2Switch}`,
61
- });
62
- }
63
- rowEntries++;
64
- if (rowEntries == 8) {
65
- keyboard.inline_keyboard.push(menu);
66
- menu = [];
67
- rowEntries = 0;
68
- }
69
- }
70
- if (rowEntries != 0) {
71
- keyboard.inline_keyboard.push(menu);
72
- }
73
- return { text: obj.text, keyboard: keyboard, device: device2Switch };
74
- };
75
- const setFirstMenuValue = async (obj) => {
76
- let val;
77
- main_1._this.log.debug(`SplitData: ${(0, string_1.jsonString)(splittedData)}`);
78
- if (splittedData[1].split('.')[1] == 'false') {
79
- val = false;
80
- }
81
- else if (splittedData[1].split('.')[1] == 'true') {
82
- val = true;
83
- }
84
- else {
85
- val = splittedData[1].split('.')[1];
86
- }
87
- const result = await (0, setstate_1.setState)(obj.part, obj.userToSend, val, true, obj.instanceTelegram, obj.resize_keyboard, obj.one_time_keyboard, obj.userListWithChatID);
88
- if (Array.isArray(result)) {
89
- returnIDToListenTo = result;
90
- }
91
- return { returnIds: returnIDToListenTo };
92
- };
93
- const setSecondMenuValue = async (obj) => {
94
- let val;
95
- if (splittedData[2].split('.')[1] == 'false') {
96
- val = false;
97
- }
98
- else if (splittedData[2].split('.')[1] == 'true') {
99
- val = true;
100
- }
101
- else {
102
- val = splittedData[2].split('.')[1];
103
- }
104
- const result = await (0, setstate_1.setState)(obj.part, obj.userToSend, val, true, obj.instanceTelegram, obj.one_time_keyboard, obj.resize_keyboard, obj.userListWithChatID);
105
- if (Array.isArray(result)) {
106
- returnIDToListenTo = result;
107
- }
108
- return { returnIds: returnIDToListenTo };
109
- };
110
- const createSubmenuNumber = (obj) => {
111
- let callbackData = obj.callbackData;
112
- const device2Switch = obj.device2Switch;
113
- if (callbackData.includes('(-)')) {
114
- callbackData = callbackData.replace('(-)', 'negativ');
115
- }
116
- const splittedData = callbackData.replace('number', '').split('-');
117
- let rowEntries = 0;
118
- let menu = [];
119
- const keyboard = {
120
- inline_keyboard: [],
121
- };
122
- let unit = '';
123
- if (splittedData[3] != '') {
124
- unit = splittedData[3];
125
- }
126
- let start, end;
127
- const firstValueInText = parseFloat(splittedData[0].includes('negativ') ? splittedData[0].replace('negativ', '-') : splittedData[0]);
128
- const secondValueInText = parseFloat(splittedData[1].includes('negativ') ? splittedData[1].replace('negativ', '-') : splittedData[1]);
129
- if (firstValueInText < secondValueInText) {
130
- start = secondValueInText;
131
- end = firstValueInText;
132
- }
133
- else {
134
- start = firstValueInText;
135
- end = secondValueInText;
136
- }
137
- let index = -1;
138
- let maxEntriesPerRow = 8;
139
- const step = parseFloat(splittedData[2].includes('negativ') ? splittedData[2].replace('negativ', '-') : splittedData[2]);
140
- if (step < 1) {
141
- maxEntriesPerRow = 6;
142
- }
143
- for (let i = start; i >= end; i -= step) {
144
- // Zahlen umdrehen
145
- if (parseFloat(splittedData[0]) < parseFloat(splittedData[1])) {
146
- if (i === start) {
147
- index = end - step;
148
- }
149
- index = index + step;
150
- }
151
- else {
152
- index = i;
153
- }
154
- menu.push({
155
- text: `${index}${unit}`,
156
- callback_data: `submenu:${callbackData}:${device2Switch}:${index}`,
157
- });
158
- rowEntries++;
159
- if (rowEntries == maxEntriesPerRow) {
160
- keyboard.inline_keyboard.push(menu);
161
- menu = [];
162
- rowEntries = 0;
163
- }
164
- }
165
- if (rowEntries != 0) {
166
- keyboard.inline_keyboard.push(menu);
167
- }
168
- main_1._this.log.debug(`Keyboard: ${(0, string_1.jsonString)(keyboard)}`);
169
- return { text: obj.text, keyboard, device: device2Switch };
170
- };
171
- const createSwitchMenu = ({ device2Switch, callbackData, text, }) => {
172
- splittedData = callbackData.split('-');
173
- const keyboard = {
174
- inline_keyboard: [
175
- [
176
- {
177
- text: splittedData[1].split('.')[0],
178
- callback_data: `menu:first:${device2Switch}`,
179
- },
180
- {
181
- text: splittedData[2].split('.')[0],
182
- callback_data: `menu:second:${device2Switch}`,
183
- },
184
- ],
185
- ],
186
- };
187
- return { text: text, keyboard, device: device2Switch };
188
- };
189
- const setValueForSubmenuPercent = async (obj) => {
190
- const value = parseInt(obj.calledValue.split(':')[1].split(',')[1]);
191
- const result = await (0, setstate_1.setState)(obj.part, obj.userToSend, value, true, obj.instanceTelegram, obj.resize_keyboard, obj.one_time_keyboard, obj.userListWithChatID);
192
- if (Array.isArray(result)) {
193
- returnIDToListenTo = result;
194
- }
195
- return { returnIds: returnIDToListenTo };
196
- };
197
- const setValueForSubmenuNumber = async (obj) => {
198
- main_1._this.log.debug(`CallbackData: ${obj.callbackData}`);
199
- const value = parseFloat(obj.calledValue.split(':')[3]);
200
- const device2Switch = obj.calledValue.split(':')[2];
201
- const result = await (0, setstate_1.setState)(obj.part, obj.userToSend, value, true, obj.instanceTelegram, obj.resize_keyboard, obj.one_time_keyboard, obj.userListWithChatID);
202
- if (Array.isArray(result)) {
203
- returnIDToListenTo = result;
204
- }
205
- return { returnIds: returnIDToListenTo, device2Switch };
206
- };
207
- const back = async (obj) => {
208
- const result = await (0, backMenu_1.switchBack)(obj.userToSend, obj.allMenusWithData, obj.menus);
209
- if (result) {
210
- await (0, telegram_1.sendToTelegram)({
211
- user: obj.userToSend,
212
- textToSend: result.texttosend,
213
- keyboard: result.menuToSend,
214
- instance: obj.instanceTelegram,
215
- resize_keyboard: obj.resize_keyboard,
216
- one_time_keyboard: obj.one_time_keyboard,
217
- userListWithChatID: obj.userListWithChatID,
218
- parse_mode: result.parseMode,
219
- });
220
- }
221
- };
222
- async function callSubMenu(jsonStringNav, newObjectNavStructure, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo, navObj) {
223
- try {
224
- const obj = await subMenu({
225
- jsonStringNav: jsonStringNav,
226
- userToSend: userToSend,
227
- instanceTelegram: instanceTelegram,
228
- resize_keyboard: resize_keyboard,
229
- one_time_keyboard: one_time_keyboard,
230
- userListWithChatID: userListWithChatID,
231
- part,
232
- allMenusWithData: allMenusWithData,
233
- menus,
234
- navObj,
235
- });
236
- main_1._this.log.debug(`Submenu: ${(0, string_1.jsonString)(obj)}`);
237
- if (obj?.returnIds) {
238
- setStateIdsToListenTo = obj.returnIds;
239
- await (0, subscribeStates_1._subscribeAndUnSubscribeForeignStatesAsync)({ array: obj.returnIds });
240
- }
241
- if (obj?.text && obj?.keyboard) {
242
- (0, telegram_1.sendToTelegramSubmenu)(userToSend, obj.text, obj.keyboard, instanceTelegram, userListWithChatID, part.parse_mode || 'false');
243
- }
244
- return { setStateIdsToListenTo: setStateIdsToListenTo, newNav: obj?.navToGoBack };
245
- }
246
- catch (e) {
247
- (0, logging_1.errorLogger)('Error callSubMenu:', e);
248
- }
249
- }
250
- async function subMenu({ jsonStringNav, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, navObj, }) {
251
- try {
252
- main_1._this.log.debug(`Menu : ${navObj[0][0]}`);
253
- let text = '';
254
- if (part?.text && part.text != '') {
255
- text = await (0, utilities_1.checkStatusInfo)(part.text);
256
- }
257
- const called = (0, global_1.parseJSON)(jsonStringNav);
258
- if (!called?.length) {
259
- return;
260
- }
261
- const { callbackData, device: device2Switch, val } = getMenuValues(called[0]);
262
- if (callbackData.includes('delete')) {
263
- return await deleteMessages({
264
- userToSend,
265
- userListWithChatID,
266
- instanceTelegram,
267
- device2Switch,
268
- callbackData,
269
- });
270
- }
271
- else if (callbackData.includes('switch')) {
272
- return createSwitchMenu({ callbackData, text, device2Switch });
273
- }
274
- else if (callbackData.includes('first')) {
275
- return await setFirstMenuValue({
276
- part,
277
- userToSend,
278
- instanceTelegram,
279
- resize_keyboard,
280
- one_time_keyboard,
281
- userListWithChatID,
282
- });
283
- }
284
- else if (callbackData.includes('second')) {
285
- return await setSecondMenuValue({
286
- part,
287
- userToSend,
288
- instanceTelegram,
289
- resize_keyboard,
290
- one_time_keyboard,
291
- userListWithChatID,
292
- });
293
- }
294
- else if (callbackData.includes('dynSwitch')) {
295
- return (0, dynamicSwitch_1.dynamicSwitch)(jsonStringNav, device2Switch, text);
296
- }
297
- else if (callbackData.includes('dynS')) {
298
- return await setDynamicValue({
299
- val,
300
- userToSend,
301
- instanceTelegram,
302
- resize_keyboard,
303
- one_time_keyboard,
304
- userListWithChatID,
305
- part,
306
- });
307
- }
308
- else if (!jsonStringNav.includes('submenu') && callbackData.includes('percent')) {
309
- return createSubmenuPercent({ callbackData, text, device2Switch });
310
- }
311
- else if (jsonStringNav.includes(`submenu:percent${step}`)) {
312
- return await setValueForSubmenuPercent({
313
- callbackData,
314
- calledValue: jsonStringNav,
315
- userToSend,
316
- instanceTelegram,
317
- resize_keyboard,
318
- one_time_keyboard,
319
- userListWithChatID,
320
- part,
321
- allMenusWithData,
322
- menus,
323
- });
324
- }
325
- else if (!jsonStringNav.includes('submenu') && callbackData.includes('number')) {
326
- return createSubmenuNumber({ callbackData, text, device2Switch });
327
- }
328
- else if (jsonStringNav.includes(`submenu:${callbackData}`)) {
329
- const result = await setValueForSubmenuNumber({
330
- callbackData,
331
- calledValue: jsonStringNav,
332
- userToSend,
333
- instanceTelegram,
334
- resize_keyboard,
335
- one_time_keyboard,
336
- userListWithChatID,
337
- part,
338
- });
339
- // device2Switch = result.device2Switch;
340
- return result.returnIds ? { returnIds: result.returnIds } : undefined;
341
- }
342
- else if (callbackData === 'back') {
343
- await back({
344
- userToSend,
345
- allMenusWithData,
346
- menus,
347
- instanceTelegram,
348
- resize_keyboard,
349
- one_time_keyboard,
350
- userListWithChatID,
351
- });
352
- }
353
- return;
354
- }
355
- catch (error) {
356
- error([
357
- { text: 'Error subMenu:', val: error.message },
358
- { text: 'Stack', val: error.stack },
359
- ]);
360
- }
361
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports._subscribeAndUnSubscribeForeignStatesAsync = _subscribeAndUnSubscribeForeignStatesAsync;
5
- exports._subscribeForeignStatesAsync = _subscribeForeignStatesAsync;
6
- const main_1 = require("../main");
7
- const global_1 = require("./global");
8
- const string_1 = require("../lib/string");
9
- async function _subscribeAndUnSubscribeForeignStatesAsync(obj) {
10
- if (obj.id) {
11
- main_1._this.log.debug(`Subscribe to ${obj.id}`);
12
- }
13
- else if (obj.array) {
14
- for (const element of obj.array) {
15
- await main_1._this.subscribeForeignStatesAsync(element.id);
16
- }
17
- }
18
- }
19
- async function _subscribeForeignStatesAsync(array) {
20
- array = (0, global_1.deleteDoubleEntriesInArray)(array);
21
- for (const element of array) {
22
- await main_1._this.subscribeForeignStatesAsync(element);
23
- }
24
- main_1._this.log.debug(`Subscribe all States of: ${(0, string_1.jsonString)(array)}`);
25
- }
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.sendLocationToTelegram = void 0;
5
- exports.sendToTelegram = sendToTelegram;
6
- exports.sendToTelegramSubmenu = sendToTelegramSubmenu;
7
- const logging_1 = require("./logging");
8
- const utilities_1 = require("../lib/utilities");
9
- const main_1 = require("../main");
10
- const global_1 = require("./global");
11
- const utils_1 = require("../lib/utils");
12
- const string_1 = require("../lib/string");
13
- async function sendToTelegram({ user = '', textToSend, keyboard, instance = 'telegram.0', resize_keyboard = true, one_time_keyboard = true, userListWithChatID, parse_mode, }) {
14
- try {
15
- const chatId = (0, utils_1.getChatID)(userListWithChatID, user);
16
- const parse_modeType = getParseMode(parse_mode);
17
- main_1._this.log.debug(`Send to: ${user} => ${textToSend}`);
18
- main_1._this.log.debug(`Instance: ${instance}`);
19
- main_1._this.log.debug(`UserListWithChatID : ${(0, string_1.jsonString)(userListWithChatID)}`);
20
- main_1._this.log.debug(`Parse_mode : ${parse_mode}`);
21
- main_1._this.log.debug(`ChatId : ${chatId}`);
22
- main_1._this.log.debug(`ParseModeType: ${parse_modeType}`);
23
- textToSend = (0, string_1.validateNewLine)(textToSend);
24
- if (!keyboard) {
25
- main_1._this.log.debug('No Keyboard');
26
- main_1._this.sendTo(instance, 'send', {
27
- text: textToSend,
28
- chatId: chatId,
29
- parse_mode: parse_modeType,
30
- }, function (res) {
31
- main_1._this.log.debug(`Sent Value to ${(0, string_1.jsonString)(res)} users!`);
32
- });
33
- }
34
- else {
35
- const text = await (0, utilities_1.checkStatusInfo)(textToSend);
36
- main_1._this.sendTo(instance, 'send', {
37
- chatId: chatId,
38
- parse_mode: parse_modeType,
39
- text: text,
40
- reply_markup: {
41
- keyboard: keyboard,
42
- resize_keyboard: resize_keyboard,
43
- one_time_keyboard: one_time_keyboard,
44
- },
45
- }, function (res) {
46
- main_1._this.log.debug(`Sent Value to ${(0, string_1.jsonString)(res)} users!`);
47
- });
48
- }
49
- }
50
- catch (e) {
51
- (0, logging_1.errorLogger)('Error sendToTelegram:', e);
52
- }
53
- }
54
- function sendToTelegramSubmenu(user, textToSend, keyboard, instance = 'telegram.0', userListWithChatID, parse_mode) {
55
- const parseModeType = getParseMode(parse_mode);
56
- main_1._this.log.debug(`Send this ParseMode: ${parseModeType}`);
57
- try {
58
- const chatId = (0, utils_1.getChatID)(userListWithChatID, user);
59
- textToSend = (0, string_1.validateNewLine)(textToSend);
60
- main_1._this.sendTo(instance, 'send', {
61
- chatId: chatId,
62
- parse_mode: parseModeType,
63
- text: textToSend,
64
- reply_markup: keyboard,
65
- });
66
- }
67
- catch (e) {
68
- (0, logging_1.errorLogger)('Error sendToTelegramSubmenu:', e);
69
- }
70
- }
71
- const sendLocationToTelegram = async (user, data, instance, userListWithChatID) => {
72
- try {
73
- const chatId = (0, utils_1.getChatID)(userListWithChatID, user);
74
- for (const element of data) {
75
- if (!(element.latitude || element.longitude)) {
76
- continue;
77
- }
78
- const latitude = await main_1._this.getForeignStateAsync(element.latitude);
79
- const longitude = await main_1._this.getForeignStateAsync(element.longitude);
80
- if (!latitude || !longitude) {
81
- continue;
82
- }
83
- main_1._this.sendTo(instance, {
84
- chatId: chatId,
85
- latitude: latitude.val,
86
- longitude: longitude.val,
87
- disable_notification: true,
88
- });
89
- }
90
- }
91
- catch (e) {
92
- (0, logging_1.errorLogger)('Error sendLocationToTelegram:', e);
93
- }
94
- };
95
- exports.sendLocationToTelegram = sendLocationToTelegram;
96
- function getParseMode(val) {
97
- if ((0, global_1.isTruthy)(val)) {
98
- return 'HTML';
99
- }
100
- return 'Markdown';
101
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.replaceAll = exports.validateNewLine = exports.jsonString = void 0;
5
- exports.parseJSON = parseJSON;
6
- const main_1 = require("../main");
7
- const jsonString = (val) => JSON.stringify(val);
8
- exports.jsonString = jsonString;
9
- function parseJSON(val) {
10
- try {
11
- const parsed = JSON.parse(val);
12
- return { json: parsed, isValidJson: true };
13
- }
14
- catch (error) {
15
- main_1._this.log.error(`Error parse json: ${(0, exports.jsonString)(error)}`);
16
- return { json: {}, isValidJson: false };
17
- }
18
- }
19
- const validateNewLine = (text) => {
20
- const { json, isValidJson } = parseJSON(text);
21
- if (isValidJson) {
22
- text = json;
23
- }
24
- return text.replace(/""/g, '"').replace(/\\n/g, '\n');
25
- };
26
- exports.validateNewLine = validateNewLine;
27
- const replaceAll = (text, searchValue, replaceValue) => text.replace(new RegExp(searchValue, 'g'), replaceValue);
28
- exports.replaceAll = replaceAll;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.processTimeValue = exports.toLocaleDate = void 0;
5
- const main_1 = require("../main");
6
- const toLocaleDate = (time) => {
7
- return time.toLocaleDateString('de-DE', {
8
- hour: '2-digit',
9
- minute: '2-digit',
10
- second: '2-digit',
11
- hour12: false,
12
- });
13
- };
14
- exports.toLocaleDate = toLocaleDate;
15
- const processTimeValue = (textToSend, obj) => {
16
- const date = new Date(Number(obj.val));
17
- if (isNaN(date.getTime())) {
18
- main_1._this.log.error(`Invalid Date: ${String(date)}`);
19
- return textToSend;
20
- }
21
- return textToSend.replace('{time}', (0, exports.toLocaleDate)(date));
22
- };
23
- exports.processTimeValue = processTimeValue;