iobroker.telegram-menu 2.2.4 → 2.3.0
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.
- package/README.md +12 -0
- package/admin/build/index.js +49 -49
- package/admin/build/index.js.map +3 -3
- package/admin/css/button.css +3 -0
- package/admin/css/row-editor.css +1 -1
- package/admin/css/style.css +46 -25
- package/admin/css/textarea.css +7 -11
- package/admin/i18n/de/translations.json +124 -123
- package/admin/i18n/en/translations.json +3 -2
- package/admin/i18n/es/translations.json +3 -2
- package/admin/i18n/fr/translations.json +3 -2
- package/admin/i18n/it/translations.json +3 -2
- package/admin/i18n/nl/translations.json +3 -2
- package/admin/i18n/pl/translations.json +3 -2
- package/admin/i18n/pt/translations.json +3 -2
- package/admin/i18n/ru/translations.json +3 -2
- package/admin/i18n/uk/translations.json +3 -2
- package/admin/i18n/zh-cn/translations.json +3 -2
- package/admin/words.js +3 -1
- package/build/admin/src/config/helper.js +178 -0
- package/build/admin/src/config/helper.js.map +1 -0
- package/build/admin/src/lib/Utils.js +64 -0
- package/build/admin/src/lib/Utils.js.map +1 -0
- package/build/admin/src/types/event.js +3 -0
- package/build/admin/src/types/event.js.map +1 -0
- package/build/app/action.js +270 -0
- package/build/app/action.js.map +7 -0
- package/build/app/adapterManager.js +36 -0
- package/build/app/adapterManager.js.map +7 -0
- package/build/app/adapterStartMenuSend.js +59 -0
- package/build/app/adapterStartMenuSend.js.map +7 -0
- package/build/app/backMenu.js +110 -0
- package/build/app/backMenu.js.map +7 -0
- package/build/app/botAction.js +47 -0
- package/build/app/botAction.js.map +7 -0
- package/build/app/configVariables.js +56 -0
- package/build/app/configVariables.js.map +7 -0
- package/build/app/connection.js +42 -0
- package/build/app/connection.js.map +7 -0
- package/build/app/createState.js +42 -0
- package/build/app/createState.js.map +7 -0
- package/build/app/dynamicSwitch.js +69 -0
- package/build/app/dynamicSwitch.js.map +7 -0
- package/build/app/dynamicSwitchMenu.js +69 -0
- package/build/app/dynamicSwitchMenu.js.map +7 -0
- package/build/app/dynamicValue.js +80 -0
- package/build/app/dynamicValue.js.map +7 -0
- package/build/app/echarts.js +60 -0
- package/build/app/echarts.js.map +7 -0
- package/build/app/getstate.js +148 -0
- package/build/app/getstate.js.map +7 -0
- package/build/app/global.js +2 -0
- package/build/app/global.js.map +7 -0
- package/build/app/httpRequest.js +84 -0
- package/build/app/httpRequest.js.map +7 -0
- package/build/app/jsonTable.js +158 -0
- package/build/app/jsonTable.js.map +7 -0
- package/build/app/logging.js +46 -0
- package/build/app/logging.js.map +7 -0
- package/build/app/messageIds.js +116 -0
- package/build/app/messageIds.js.map +7 -0
- package/build/app/processData.js +198 -0
- package/build/app/processData.js.map +7 -0
- package/build/app/sendNav.js +49 -0
- package/build/app/sendNav.js.map +7 -0
- package/build/app/sendpic.js +95 -0
- package/build/app/sendpic.js.map +7 -0
- package/build/app/sentry.js +43 -0
- package/build/app/sentry.js.map +7 -0
- package/build/app/setStateIdsToListenTo.js +42 -0
- package/build/app/setStateIdsToListenTo.js.map +7 -0
- package/build/app/setstate.js +145 -0
- package/build/app/setstate.js.map +7 -0
- package/build/app/shoppingList.js +97 -0
- package/build/app/shoppingList.js.map +7 -0
- package/build/app/subMenu.js +281 -0
- package/build/app/subMenu.js.map +7 -0
- package/build/app/subscribeStates.js +41 -0
- package/build/app/subscribeStates.js.map +7 -0
- package/build/app/telegram.js +131 -0
- package/build/app/telegram.js.map +7 -0
- package/build/app/validateMenus.js +64 -0
- package/build/app/validateMenus.js.map +7 -0
- package/build/build/src/app/action.js +447 -0
- package/build/build/src/app/adapterStartMenuSend.js +37 -0
- package/build/build/src/app/backMenu.js +70 -0
- package/build/build/src/app/botAction.js +25 -0
- package/build/build/src/app/connection.js +19 -0
- package/build/build/src/app/createState.js +19 -0
- package/build/build/src/app/dynamicSwitch.js +51 -0
- package/build/build/src/app/dynamicValue.js +64 -0
- package/build/build/src/app/echarts.js +45 -0
- package/build/build/src/app/getstate.js +157 -0
- package/build/build/src/app/global.js +59 -0
- package/build/build/src/app/httpRequest.js +64 -0
- package/build/build/src/app/jsonTable.js +147 -0
- package/build/build/src/app/logging.js +13 -0
- package/build/build/src/app/messageIds.js +88 -0
- package/build/build/src/app/processData.js +208 -0
- package/build/build/src/app/sendNav.js +30 -0
- package/build/build/src/app/sendpic.js +69 -0
- package/build/build/src/app/setstate.js +126 -0
- package/build/build/src/app/shoppingList.js +72 -0
- package/build/build/src/app/subMenu.js +361 -0
- package/build/build/src/app/subscribeStates.js +25 -0
- package/build/build/src/app/telegram.js +101 -0
- package/build/build/src/lib/string.js +28 -0
- package/build/build/src/lib/time.js +23 -0
- package/build/build/src/lib/utilities.js +263 -0
- package/build/build/src/lib/utils.js +13 -0
- package/build/build/src/main.js +402 -0
- package/build/config/config.js +134 -0
- package/build/config/config.js.map +7 -0
- package/build/io-package.json +87 -87
- package/build/lib/action.js +1 -3
- package/build/lib/action.js.map +2 -2
- package/build/lib/adapterStartMenuSend.js.map +1 -1
- package/build/lib/appUtils.js +158 -0
- package/build/lib/appUtils.js.map +7 -0
- package/build/lib/appUtilsString.js +37 -0
- package/build/lib/appUtilsString.js.map +7 -0
- package/build/lib/backMenu.js.map +2 -2
- package/build/lib/botAction.js.map +1 -1
- package/build/lib/dynamicSwitch.js.map +1 -1
- package/build/lib/dynamicValue.js.map +1 -1
- package/build/lib/echarts.js.map +1 -1
- package/build/lib/getstate.js.map +1 -1
- package/build/lib/global.js.map +1 -1
- package/build/lib/httpRequest.js.map +1 -1
- package/build/lib/json.js +54 -0
- package/build/lib/json.js.map +7 -0
- package/build/lib/jsonTable.js.map +1 -1
- package/build/lib/math.js +41 -0
- package/build/lib/math.js.map +7 -0
- package/build/lib/messageIds.js.map +1 -1
- package/build/lib/object.js +35 -0
- package/build/lib/object.js.map +7 -0
- package/build/lib/processData.js +4 -18
- package/build/lib/processData.js.map +3 -3
- package/build/lib/sendNav.js.map +1 -1
- package/build/lib/sendpic.js +23 -22
- package/build/lib/sendpic.js.map +2 -2
- package/build/lib/setstate.js.map +1 -1
- package/build/lib/shoppingList.js.map +1 -1
- package/build/lib/splitValues.js +63 -0
- package/build/lib/splitValues.js.map +7 -0
- package/build/lib/string.js +125 -3
- package/build/lib/string.js.map +2 -2
- package/build/lib/subMenu.js +1 -2
- package/build/lib/subMenu.js.map +2 -2
- package/build/lib/subscribeStates.js.map +1 -1
- package/build/lib/telegram.js.map +1 -1
- package/build/lib/time.js +93 -0
- package/build/lib/time.js.map +7 -0
- package/build/lib/utilities.js +84 -281
- package/build/lib/utilities.js.map +3 -3
- package/build/lib/utils.js +66 -0
- package/build/lib/utils.js.map +7 -0
- package/build/main.js +151 -233
- package/build/main.js.map +3 -3
- package/build/src/app/action.js +239 -0
- package/build/src/app/action.js.map +1 -0
- package/build/src/app/adapterManager.js +12 -0
- package/build/src/app/adapterManager.js.map +1 -0
- package/build/src/app/adapterStartMenuSend.js +36 -0
- package/build/src/app/adapterStartMenuSend.js.map +1 -0
- package/build/src/app/backMenu.js +81 -0
- package/build/src/app/backMenu.js.map +1 -0
- package/build/src/app/botAction.js +25 -0
- package/build/src/app/botAction.js.map +1 -0
- package/build/src/app/configVariables.js +32 -0
- package/build/src/app/configVariables.js.map +1 -0
- package/build/src/app/connection.js +20 -0
- package/build/src/app/connection.js.map +1 -0
- package/build/src/app/createState.js +19 -0
- package/build/src/app/createState.js.map +1 -0
- package/build/src/app/dynamicSwitch.js +52 -0
- package/build/src/app/dynamicSwitch.js.map +1 -0
- package/build/src/app/dynamicSwitchMenu.js +52 -0
- package/build/src/app/dynamicSwitchMenu.js.map +1 -0
- package/build/src/app/dynamicValue.js +52 -0
- package/build/src/app/dynamicValue.js.map +1 -0
- package/build/src/app/echarts.js +33 -0
- package/build/src/app/echarts.js.map +1 -0
- package/build/src/app/getstate.js +122 -0
- package/build/src/app/getstate.js.map +1 -0
- package/build/src/app/global.js +8 -0
- package/build/src/app/global.js.map +1 -0
- package/build/src/app/httpRequest.js +55 -0
- package/build/src/app/httpRequest.js.map +1 -0
- package/build/src/app/jsonTable.js +147 -0
- package/build/src/app/jsonTable.js.map +1 -0
- package/build/src/app/logging.js +22 -0
- package/build/src/app/logging.js.map +1 -0
- package/build/src/app/messageIds.js +89 -0
- package/build/src/app/messageIds.js.map +1 -0
- package/build/src/app/processData.js +153 -0
- package/build/src/app/processData.js.map +1 -0
- package/build/src/app/sendNav.js +26 -0
- package/build/src/app/sendNav.js.map +1 -0
- package/build/src/app/sendpic.js +66 -0
- package/build/src/app/sendpic.js.map +1 -0
- package/build/src/app/sentry.js +18 -0
- package/build/src/app/sentry.js.map +1 -0
- package/build/src/app/setStateIdsToListenTo.js +17 -0
- package/build/src/app/setStateIdsToListenTo.js.map +1 -0
- package/build/src/app/setstate.js +114 -0
- package/build/src/app/setstate.js.map +1 -0
- package/build/src/app/shoppingList.js +74 -0
- package/build/src/app/shoppingList.js.map +1 -0
- package/build/src/app/subMenu.js +237 -0
- package/build/src/app/subMenu.js.map +1 -0
- package/build/src/app/subscribeStates.js +17 -0
- package/build/src/app/subscribeStates.js.map +1 -0
- package/build/src/app/telegram.js +83 -0
- package/build/src/app/telegram.js.map +1 -0
- package/build/src/app/validateMenus.js +30 -0
- package/build/src/app/validateMenus.js.map +1 -0
- package/build/src/config/config.js +100 -0
- package/build/src/config/config.js.map +1 -0
- package/build/src/lib/appUtils.js +126 -0
- package/build/src/lib/appUtils.js.map +1 -0
- package/build/src/lib/appUtilsString.js +13 -0
- package/build/src/lib/appUtilsString.js.map +1 -0
- package/build/src/lib/json.js +37 -0
- package/build/src/lib/json.js.map +1 -0
- package/build/src/lib/math.js +17 -0
- package/build/src/lib/math.js.map +1 -0
- package/build/src/lib/object.js +10 -0
- package/build/src/lib/object.js.map +1 -0
- package/build/src/lib/splitValues.js +35 -0
- package/build/src/lib/splitValues.js.map +1 -0
- package/build/src/lib/string.js +121 -0
- package/build/src/lib/string.js.map +1 -0
- package/build/src/lib/time.js +57 -0
- package/build/src/lib/time.js.map +1 -0
- package/build/src/lib/utilities.js +111 -0
- package/build/src/lib/utilities.js.map +1 -0
- package/build/src/lib/utils.js +37 -0
- package/build/src/lib/utils.js.map +1 -0
- package/build/src/main.js +332 -0
- package/build/src/main.js.map +1 -0
- package/build/src/test/setup.js +12 -0
- package/build/src/test/setup.js.map +1 -0
- package/build/src/types/types.js +3 -0
- package/build/src/types/types.js.map +1 -0
- package/build/test/integration.js +0 -1
- package/build/test/integration.js.map +1 -1
- package/build/test/mocha.setup.js +0 -1
- package/build/test/mocha.setup.js.map +1 -1
- package/build/test/package.js +0 -1
- package/build/test/package.js.map +1 -1
- package/build/test/setup.js +12 -0
- package/build/test/setup.js.map +1 -0
- package/build/test/test/appUtils.test.js +507 -0
- package/build/test/test/appUtils.test.js.map +1 -0
- package/build/test/test/appUtilsString.test.js +16 -0
- package/build/test/test/appUtilsString.test.js.map +1 -0
- package/build/test/test/math.test.js +33 -0
- package/build/test/test/math.test.js.map +1 -0
- package/build/test/test/object.test.js +54 -0
- package/build/test/test/object.test.js.map +1 -0
- package/build/test/test/string.test.js +361 -0
- package/build/test/test/string.test.js.map +1 -0
- package/build/test/test/time.test.js +201 -0
- package/build/test/test/time.test.js.map +1 -0
- package/build/test/test/utils.test.js +115 -0
- package/build/test/test/utils.test.js.map +1 -0
- package/build/types/types.js +15 -0
- package/build/types/types.js.map +3 -3
- package/io-package.json +19 -14
- package/package.json +14 -10
- package/build/main.test.js +0 -24
- package/build/main.test.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.deleteMessageIds = deleteMessageIds;
|
|
5
|
+
exports.saveMessageIds = saveMessageIds;
|
|
6
|
+
const main_1 = require("../main");
|
|
7
|
+
const botAction_1 = require("./botAction");
|
|
8
|
+
const logging_1 = require("./logging");
|
|
9
|
+
const global_1 = require("./global");
|
|
10
|
+
const utils_1 = require("../lib/utils");
|
|
11
|
+
let isDeleting = false;
|
|
12
|
+
async function saveMessageIds(state, instanceTelegram) {
|
|
13
|
+
try {
|
|
14
|
+
let requestMessageId = {};
|
|
15
|
+
let requestMessageIdObj = null;
|
|
16
|
+
if (!isDeleting) {
|
|
17
|
+
requestMessageIdObj = await main_1._this.getStateAsync('communication.requestIds');
|
|
18
|
+
}
|
|
19
|
+
isDeleting = false;
|
|
20
|
+
const requestUserIdObj = await main_1._this.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);
|
|
21
|
+
const request = await main_1._this.getForeignStateAsync(`${instanceTelegram}.communicate.request`);
|
|
22
|
+
if (!(requestUserIdObj && requestUserIdObj.val)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
requestMessageId = requestMessageIdObj?.val ? JSON.parse(requestMessageIdObj?.val.toString()) : {};
|
|
26
|
+
if (!requestMessageId[requestUserIdObj.val.toString()]) {
|
|
27
|
+
requestMessageId[requestUserIdObj.val.toString()] = [];
|
|
28
|
+
}
|
|
29
|
+
if (!requestMessageId[requestUserIdObj.val.toString()]?.find(message => message.id === state.val)) {
|
|
30
|
+
requestMessageId[requestUserIdObj.val.toString()].push({
|
|
31
|
+
id: state.val,
|
|
32
|
+
time: Date.now(),
|
|
33
|
+
request: request?.val,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
requestMessageId = removeOldMessageIds(requestMessageId, requestUserIdObj.val.toString());
|
|
37
|
+
await main_1._this.setState('communication.requestIds', JSON.stringify(requestMessageId), true);
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
(0, logging_1.errorLogger)('Error saveMessageIds:', e);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function removeOldMessageIds(messages, chatID) {
|
|
44
|
+
messages[chatID] = messages[chatID].filter(message => {
|
|
45
|
+
return message.time && message.time > Date.now() - 1000 * 60 * 60 * 24 * 2;
|
|
46
|
+
});
|
|
47
|
+
return messages;
|
|
48
|
+
}
|
|
49
|
+
const removeMessageFromList = ({ element, chat_id, copyMessageIds, }) => {
|
|
50
|
+
return copyMessageIds[chat_id].filter(message => message.id !== element.id);
|
|
51
|
+
};
|
|
52
|
+
async function deleteMessageIds(user, userListWithChatID, instanceTelegram, whatShouldDelete) {
|
|
53
|
+
try {
|
|
54
|
+
const requestMessageIdObj = await main_1._this.getStateAsync('communication.requestIds');
|
|
55
|
+
const lastMessageId = await main_1._this.getForeignStateAsync(`${instanceTelegram}.communicate.requestMessageId`);
|
|
56
|
+
if (!requestMessageIdObj ||
|
|
57
|
+
typeof requestMessageIdObj.val !== 'string' ||
|
|
58
|
+
!JSON.parse(requestMessageIdObj.val)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const chat_id = (0, utils_1.getChatID)(userListWithChatID, user);
|
|
62
|
+
if (!chat_id) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const messageIds = JSON.parse(requestMessageIdObj.val);
|
|
66
|
+
if (lastMessageId && lastMessageId.val) {
|
|
67
|
+
messageIds[chat_id].push({ id: lastMessageId.val.toString() });
|
|
68
|
+
}
|
|
69
|
+
isDeleting = true;
|
|
70
|
+
const copyMessageIds = (0, global_1.deepCopy)(messageIds);
|
|
71
|
+
messageIds[chat_id].forEach((element, index) => {
|
|
72
|
+
if (whatShouldDelete === 'all' && element.id) {
|
|
73
|
+
(0, botAction_1.deleteMessageByBot)(instanceTelegram, user, userListWithChatID, parseInt(element.id?.toString()), chat_id);
|
|
74
|
+
}
|
|
75
|
+
if (whatShouldDelete === 'last' && index === messageIds[chat_id].length - 1 && element.id) {
|
|
76
|
+
(0, botAction_1.deleteMessageByBot)(instanceTelegram, user, userListWithChatID, parseInt(element.id?.toString()), chat_id);
|
|
77
|
+
}
|
|
78
|
+
if (!copyMessageIds) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
copyMessageIds[chat_id] = removeMessageFromList({ element, chat_id, copyMessageIds });
|
|
82
|
+
});
|
|
83
|
+
await main_1._this.setState('communication.requestIds', JSON.stringify(copyMessageIds), true);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
(0, logging_1.errorLogger)('Error deleteMessageIds:', e);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getStateIdsToListenTo = getStateIdsToListenTo;
|
|
5
|
+
exports.getTimeouts = getTimeouts;
|
|
6
|
+
exports.checkEveryMenuForData = checkEveryMenuForData;
|
|
7
|
+
const main_1 = require("../main");
|
|
8
|
+
const telegram_1 = require("./telegram");
|
|
9
|
+
const sendNav_1 = require("./sendNav");
|
|
10
|
+
const subMenu_1 = require("./subMenu");
|
|
11
|
+
const backMenu_1 = require("./backMenu");
|
|
12
|
+
const setstate_1 = require("./setstate");
|
|
13
|
+
const getstate_1 = require("./getstate");
|
|
14
|
+
const sendpic_1 = require("./sendpic");
|
|
15
|
+
const dynamicValue_1 = require("./dynamicValue");
|
|
16
|
+
const action_1 = require("./action");
|
|
17
|
+
const subscribeStates_1 = require("./subscribeStates");
|
|
18
|
+
const echarts_1 = require("./echarts");
|
|
19
|
+
const httpRequest_1 = require("./httpRequest");
|
|
20
|
+
const logging_1 = require("./logging");
|
|
21
|
+
const string_1 = require("../lib/string");
|
|
22
|
+
let setStateIdsToListenTo = [];
|
|
23
|
+
let timeouts = [];
|
|
24
|
+
async function checkEveryMenuForData(obj) {
|
|
25
|
+
const { menuData, calledValue, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, menus, isUserActiveCheckbox, token, directoryPicture, timeoutKey, } = obj;
|
|
26
|
+
for (const menu of menus) {
|
|
27
|
+
const groupData = menuData.data[menu];
|
|
28
|
+
main_1._this.log.debug(`Menu: ${menu}`);
|
|
29
|
+
main_1._this.log.debug(`Nav: ${(0, string_1.jsonString)(menuData.data[menu])}`);
|
|
30
|
+
if (await processData({
|
|
31
|
+
menuData,
|
|
32
|
+
calledValue,
|
|
33
|
+
userToSend,
|
|
34
|
+
groupWithUser: menu,
|
|
35
|
+
instanceTelegram,
|
|
36
|
+
resize_keyboard: resize_keyboard,
|
|
37
|
+
one_time_keyboard: one_time_keyboard,
|
|
38
|
+
userListWithChatID,
|
|
39
|
+
allMenusWithData: menuData.data,
|
|
40
|
+
menus,
|
|
41
|
+
isUserActiveCheckbox,
|
|
42
|
+
token,
|
|
43
|
+
directoryPicture,
|
|
44
|
+
timeoutKey,
|
|
45
|
+
groupData,
|
|
46
|
+
})) {
|
|
47
|
+
main_1._this.log.debug('CalledText found');
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
async function processData(obj) {
|
|
54
|
+
const { menuData, calledValue, userToSend, groupWithUser, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, allMenusWithData, menus, isUserActiveCheckbox, token, directoryPicture, timeoutKey, groupData, } = obj;
|
|
55
|
+
try {
|
|
56
|
+
let part = {};
|
|
57
|
+
let call = '';
|
|
58
|
+
if ((0, dynamicValue_1.getDynamicValue)(userToSend)) {
|
|
59
|
+
const res = (0, dynamicValue_1.getDynamicValue)(userToSend);
|
|
60
|
+
let valueToSet;
|
|
61
|
+
if (res && res.valueType) {
|
|
62
|
+
valueToSet = (0, action_1.adjustValueType)(calledValue, res.valueType);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
valueToSet = calledValue;
|
|
66
|
+
}
|
|
67
|
+
if (valueToSet && res?.id) {
|
|
68
|
+
await main_1._this.setForeignStateAsync(res?.id, valueToSet, res?.ack);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
await (0, telegram_1.sendToTelegram)({
|
|
72
|
+
user: userToSend,
|
|
73
|
+
textToSend: `You insert a wrong Type of value, please insert type: ${res?.valueType}`,
|
|
74
|
+
keyboard: undefined,
|
|
75
|
+
instance: instanceTelegram,
|
|
76
|
+
resize_keyboard: resize_keyboard,
|
|
77
|
+
one_time_keyboard: one_time_keyboard,
|
|
78
|
+
userListWithChatID: userListWithChatID,
|
|
79
|
+
parse_mode: 'false',
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
(0, dynamicValue_1.removeUserFromDynamicValue)(userToSend);
|
|
83
|
+
const result = await (0, backMenu_1.switchBack)(userToSend, allMenusWithData, menus, true);
|
|
84
|
+
if (result) {
|
|
85
|
+
await (0, telegram_1.sendToTelegram)({
|
|
86
|
+
user: userToSend,
|
|
87
|
+
textToSend: result.texttosend || '',
|
|
88
|
+
keyboard: result.menuToSend,
|
|
89
|
+
instance: instanceTelegram,
|
|
90
|
+
resize_keyboard: resize_keyboard,
|
|
91
|
+
one_time_keyboard: one_time_keyboard,
|
|
92
|
+
userListWithChatID: userListWithChatID,
|
|
93
|
+
parse_mode: result.parseMode,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
await (0, sendNav_1.sendNav)(part, userToSend, instanceTelegram, userListWithChatID, resize_keyboard, one_time_keyboard);
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
if (calledValue.includes('menu:')) {
|
|
102
|
+
call = calledValue.split(':')[2];
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
call = calledValue;
|
|
106
|
+
}
|
|
107
|
+
part = groupData[call];
|
|
108
|
+
if (typeof call === 'string' &&
|
|
109
|
+
groupData &&
|
|
110
|
+
part &&
|
|
111
|
+
!calledValue.toString().includes('menu:') &&
|
|
112
|
+
userToSend &&
|
|
113
|
+
groupWithUser &&
|
|
114
|
+
isUserActiveCheckbox[groupWithUser]) {
|
|
115
|
+
if (part.nav) {
|
|
116
|
+
main_1._this.log.debug(`Menu to Send: ${part.nav}`);
|
|
117
|
+
(0, backMenu_1.backMenuFunc)(call, part.nav, userToSend);
|
|
118
|
+
if (JSON.stringify(part.nav).includes('menu:')) {
|
|
119
|
+
main_1._this.log.debug(`Submenu: ${part.nav}`);
|
|
120
|
+
const result = await (0, subMenu_1.callSubMenu)(JSON.stringify(part.nav), groupData, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo, part.nav);
|
|
121
|
+
if (result && result.setStateIdsToListenTo) {
|
|
122
|
+
setStateIdsToListenTo = result.setStateIdsToListenTo;
|
|
123
|
+
}
|
|
124
|
+
if (result && result.newNav) {
|
|
125
|
+
await checkEveryMenuForData({
|
|
126
|
+
menuData,
|
|
127
|
+
calledValue: result.newNav,
|
|
128
|
+
userToSend,
|
|
129
|
+
instanceTelegram,
|
|
130
|
+
resize_keyboard,
|
|
131
|
+
one_time_keyboard,
|
|
132
|
+
userListWithChatID,
|
|
133
|
+
menus,
|
|
134
|
+
isUserActiveCheckbox,
|
|
135
|
+
token,
|
|
136
|
+
directoryPicture,
|
|
137
|
+
timeoutKey,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
await (0, sendNav_1.sendNav)(part, userToSend, instanceTelegram, userListWithChatID, resize_keyboard, one_time_keyboard);
|
|
143
|
+
}
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
if (part.switch) {
|
|
147
|
+
const result = await (0, setstate_1.setState)(part, userToSend, 0, false, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID);
|
|
148
|
+
if (result) {
|
|
149
|
+
setStateIdsToListenTo = result;
|
|
150
|
+
}
|
|
151
|
+
if (Array.isArray(setStateIdsToListenTo)) {
|
|
152
|
+
await (0, subscribeStates_1._subscribeAndUnSubscribeForeignStatesAsync)({ array: setStateIdsToListenTo });
|
|
153
|
+
}
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
if (part.getData) {
|
|
157
|
+
(0, getstate_1.getState)(part, userToSend, instanceTelegram, one_time_keyboard, resize_keyboard, userListWithChatID);
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
if (part.sendPic) {
|
|
161
|
+
const result = (0, sendpic_1.sendPic)(part, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, token, directoryPicture, timeouts, timeoutKey);
|
|
162
|
+
if (result) {
|
|
163
|
+
timeouts = result;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
main_1._this.log.debug(`Timeouts not found`);
|
|
167
|
+
}
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
if (part.location) {
|
|
171
|
+
main_1._this.log.debug('Send location');
|
|
172
|
+
await (0, telegram_1.sendLocationToTelegram)(userToSend, part.location, instanceTelegram, userListWithChatID);
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
if (part.echarts) {
|
|
176
|
+
main_1._this.log.debug('Send echars');
|
|
177
|
+
(0, echarts_1.getChart)(part.echarts, directoryPicture, userToSend, instanceTelegram, userListWithChatID, resize_keyboard, one_time_keyboard);
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
if (part.httpRequest) {
|
|
181
|
+
main_1._this.log.debug('Send http request');
|
|
182
|
+
const result = await (0, httpRequest_1.httpRequest)(part, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, directoryPicture);
|
|
183
|
+
if (result) {
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if ((calledValue.startsWith('menu') || calledValue.startsWith('submenu')) &&
|
|
189
|
+
menuData.data[groupWithUser][call]) {
|
|
190
|
+
main_1._this.log.debug('Call Submenu');
|
|
191
|
+
const result = await (0, subMenu_1.callSubMenu)(calledValue, menuData, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo, part.nav);
|
|
192
|
+
if (result && result.setStateIdsToListenTo) {
|
|
193
|
+
setStateIdsToListenTo = result.setStateIdsToListenTo;
|
|
194
|
+
}
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
(0, logging_1.errorLogger)('Error processData:', e);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
function getStateIdsToListenTo() {
|
|
204
|
+
return setStateIdsToListenTo;
|
|
205
|
+
}
|
|
206
|
+
function getTimeouts() {
|
|
207
|
+
return timeouts;
|
|
208
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.sendNav = sendNav;
|
|
5
|
+
const telegram_1 = require("./telegram");
|
|
6
|
+
const utilities_1 = require("../lib/utilities");
|
|
7
|
+
const main_1 = require("../main");
|
|
8
|
+
const logging_1 = require("./logging");
|
|
9
|
+
async function sendNav(part, userToSend, instanceTelegram, userListWithChatID, resize_keyboard, one_time_keyboard) {
|
|
10
|
+
try {
|
|
11
|
+
if (userToSend) {
|
|
12
|
+
main_1._this.log.debug('Send Nav to Telegram');
|
|
13
|
+
const nav = part.nav;
|
|
14
|
+
const text = await (0, utilities_1.checkStatusInfo)(part.text);
|
|
15
|
+
await (0, telegram_1.sendToTelegram)({
|
|
16
|
+
user: userToSend,
|
|
17
|
+
textToSend: text,
|
|
18
|
+
keyboard: nav,
|
|
19
|
+
instance: instanceTelegram,
|
|
20
|
+
resize_keyboard: resize_keyboard,
|
|
21
|
+
one_time_keyboard: one_time_keyboard,
|
|
22
|
+
userListWithChatID: userListWithChatID,
|
|
23
|
+
parse_mode: part.parse_mode || 'false',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
(0, logging_1.errorLogger)('Error sendNav:', e);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.sendPic = sendPic;
|
|
5
|
+
const telegram_1 = require("./telegram");
|
|
6
|
+
const global_1 = require("./global");
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const logging_1 = require("./logging");
|
|
9
|
+
const main_1 = require("../main");
|
|
10
|
+
const string_1 = require("../lib/string");
|
|
11
|
+
function sendPic(part, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, token, directoryPicture, timeouts, timeoutKey) {
|
|
12
|
+
try {
|
|
13
|
+
part.sendPic?.forEach(element => {
|
|
14
|
+
const { id, delay, fileName } = element;
|
|
15
|
+
let path = '';
|
|
16
|
+
if (id != '-') {
|
|
17
|
+
const newUrl = (0, string_1.replaceAll)(id, '&', '&');
|
|
18
|
+
(0, child_process_1.exec)(`curl -H "Autorisation: Bearer ${token.trim()}" "${newUrl}" > ${directoryPicture}${fileName}`, (error, stdout, stderr) => {
|
|
19
|
+
if (stdout) {
|
|
20
|
+
main_1._this.log.debug(`Stdout: ${stdout}`);
|
|
21
|
+
}
|
|
22
|
+
if (stderr) {
|
|
23
|
+
main_1._this.log.debug(`Stderr: ${stderr}`);
|
|
24
|
+
}
|
|
25
|
+
if (error) {
|
|
26
|
+
(0, logging_1.errorLogger)('Error in exec:', error);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
main_1._this.log.debug(`Delay Time: ${delay}`);
|
|
31
|
+
timeoutKey += 1;
|
|
32
|
+
if (!(0, global_1.checkDirectoryIsOk)(directoryPicture)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
path = `${directoryPicture}${fileName}`;
|
|
36
|
+
main_1._this.log.debug(`Path: ${path}`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const timeout = main_1._this.setTimeout(async () => {
|
|
42
|
+
await (0, telegram_1.sendToTelegram)({
|
|
43
|
+
user: userToSend,
|
|
44
|
+
textToSend: path,
|
|
45
|
+
instance: instanceTelegram,
|
|
46
|
+
resize_keyboard: resize_keyboard,
|
|
47
|
+
one_time_keyboard: one_time_keyboard,
|
|
48
|
+
userListWithChatID: userListWithChatID,
|
|
49
|
+
parse_mode: 'false',
|
|
50
|
+
});
|
|
51
|
+
let timeoutToClear = [];
|
|
52
|
+
timeoutToClear = timeouts.filter(item => item.key == timeoutKey);
|
|
53
|
+
timeoutToClear.forEach(item => {
|
|
54
|
+
main_1._this.clearTimeout(item.timeout);
|
|
55
|
+
});
|
|
56
|
+
timeouts = timeouts.filter(item => item.key !== timeoutKey);
|
|
57
|
+
main_1._this.log.debug('Picture sent');
|
|
58
|
+
}, parseInt(String(element.delay)));
|
|
59
|
+
if (timeout) {
|
|
60
|
+
timeouts.push({ key: timeoutKey, timeout: timeout });
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return timeouts;
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
(0, logging_1.errorLogger)('Error send pic:', e);
|
|
67
|
+
}
|
|
68
|
+
return timeouts;
|
|
69
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.setState = void 0;
|
|
5
|
+
const telegram_1 = require("./telegram");
|
|
6
|
+
const utilities_1 = require("../lib/utilities");
|
|
7
|
+
const dynamicValue_1 = require("./dynamicValue");
|
|
8
|
+
const global_1 = require("./global");
|
|
9
|
+
const main_1 = require("../main");
|
|
10
|
+
const logging_1 = require("./logging");
|
|
11
|
+
const string_1 = require("../lib/string");
|
|
12
|
+
const modifiedValue = (valueFromSubmenu, value) => {
|
|
13
|
+
if (value && value.includes('{value}')) {
|
|
14
|
+
return value.replace('{value}', valueFromSubmenu);
|
|
15
|
+
}
|
|
16
|
+
return valueFromSubmenu;
|
|
17
|
+
};
|
|
18
|
+
const isDynamicValueToSet = async (value) => {
|
|
19
|
+
if (typeof value === 'string' && value.includes('{id:')) {
|
|
20
|
+
const result = (0, global_1.decomposeText)(value, '{id:', '}');
|
|
21
|
+
const id = result.substring.replace('{id:', '').replace('}', '');
|
|
22
|
+
const newValue = await main_1._this.getForeignStateAsync(id);
|
|
23
|
+
if (newValue && newValue.val && typeof newValue.val === 'string') {
|
|
24
|
+
return value.replace(result.substring, newValue.val);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
};
|
|
29
|
+
const setValue = async (id, value, SubmenuValuePriority, valueFromSubmenu, ack) => {
|
|
30
|
+
try {
|
|
31
|
+
let valueToSet;
|
|
32
|
+
SubmenuValuePriority
|
|
33
|
+
? (valueToSet = modifiedValue(valueFromSubmenu, value))
|
|
34
|
+
: (valueToSet = await isDynamicValueToSet(value));
|
|
35
|
+
await (0, utilities_1.checkTypeOfId)(id, valueToSet).then((val) => {
|
|
36
|
+
valueToSet = val;
|
|
37
|
+
main_1._this.log.debug(`Value to Set: ${(0, string_1.jsonString)(valueToSet)}`);
|
|
38
|
+
if (valueToSet !== undefined && valueToSet !== null) {
|
|
39
|
+
main_1._this.setForeignState(id, valueToSet, ack);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
(0, logging_1.errorLogger)('Error setValue', error);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const setState = async (part, userToSend, valueFromSubmenu, SubmenuValuePriority, telegramInstance, resize_keyboard, one_time_keyboard, userListWithChatID) => {
|
|
48
|
+
try {
|
|
49
|
+
const setStateIds = [];
|
|
50
|
+
if (!part.switch) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
for (const element of part.switch) {
|
|
54
|
+
let ack = false;
|
|
55
|
+
let returnText = element.returnText;
|
|
56
|
+
ack = element?.ack ? element.ack === 'true' : false;
|
|
57
|
+
if (returnText.includes('{setDynamicValue')) {
|
|
58
|
+
const { confirmText, id } = await (0, dynamicValue_1.setDynamicValue)(returnText, ack, element.id, userToSend, telegramInstance, one_time_keyboard, resize_keyboard, userListWithChatID, element.parse_mode, element.confirm);
|
|
59
|
+
if (element.confirm) {
|
|
60
|
+
setStateIds.push({
|
|
61
|
+
id: id || element.id,
|
|
62
|
+
confirm: element.confirm,
|
|
63
|
+
returnText: confirmText,
|
|
64
|
+
userToSend: userToSend,
|
|
65
|
+
});
|
|
66
|
+
return setStateIds;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!returnText.includes("{'id':'")) {
|
|
70
|
+
setStateIds.push({
|
|
71
|
+
id: element.id,
|
|
72
|
+
confirm: element.confirm,
|
|
73
|
+
returnText: returnText,
|
|
74
|
+
userToSend: userToSend,
|
|
75
|
+
parse_mode: element.parse_mode,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
returnText = returnText.replace(/'/g, '"');
|
|
80
|
+
const textToSend = returnText.slice(0, returnText.indexOf('{')).trim();
|
|
81
|
+
const returnObj = JSON.parse(returnText.slice(returnText.indexOf('{'), returnText.indexOf('}') + 1));
|
|
82
|
+
returnObj.text = returnObj.text + returnText.slice(returnText.indexOf('}') + 1);
|
|
83
|
+
if (textToSend && textToSend !== '') {
|
|
84
|
+
await (0, telegram_1.sendToTelegram)({
|
|
85
|
+
user: userToSend,
|
|
86
|
+
textToSend: textToSend,
|
|
87
|
+
keyboard: undefined,
|
|
88
|
+
instance: telegramInstance,
|
|
89
|
+
resize_keyboard: one_time_keyboard,
|
|
90
|
+
one_time_keyboard: resize_keyboard,
|
|
91
|
+
userListWithChatID: userListWithChatID,
|
|
92
|
+
parse_mode: element.parse_mode,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
setStateIds.push({
|
|
96
|
+
id: returnObj.id,
|
|
97
|
+
confirm: true,
|
|
98
|
+
returnText: returnObj.text,
|
|
99
|
+
userToSend: userToSend,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (element.toggle) {
|
|
103
|
+
main_1._this
|
|
104
|
+
.getForeignStateAsync(element.id)
|
|
105
|
+
.then(val => {
|
|
106
|
+
if (val) {
|
|
107
|
+
main_1._this.setForeignStateAsync(element.id, !val.val, ack).catch((e) => {
|
|
108
|
+
(0, logging_1.errorLogger)('Error setForeignStateAsync:', e);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
.catch((e) => {
|
|
113
|
+
(0, logging_1.errorLogger)('Error getForeignStateAsync:', e);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
await setValue(element.id, element.value, SubmenuValuePriority, valueFromSubmenu, ack);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return setStateIds;
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
(0, logging_1.errorLogger)('Error Switch', error);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
exports.setState = setState;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.shoppingListSubscribeStateAndDeleteItem = shoppingListSubscribeStateAndDeleteItem;
|
|
5
|
+
exports.deleteMessageAndSendNewShoppingList = deleteMessageAndSendNewShoppingList;
|
|
6
|
+
const messageIds_js_1 = require("./messageIds.js");
|
|
7
|
+
const jsonTable_js_1 = require("./jsonTable.js");
|
|
8
|
+
const telegram_js_1 = require("./telegram.js");
|
|
9
|
+
const subscribeStates_js_1 = require("./subscribeStates.js");
|
|
10
|
+
const logging_js_1 = require("./logging.js");
|
|
11
|
+
const main_js_1 = require("../main.js");
|
|
12
|
+
const string_1 = require("../lib/string");
|
|
13
|
+
const objData = {};
|
|
14
|
+
let isSubscribed = false;
|
|
15
|
+
async function shoppingListSubscribeStateAndDeleteItem(val, instanceTelegram, userListWithChatID, resize_keyboard, one_time_keyboard) {
|
|
16
|
+
try {
|
|
17
|
+
let array, user, idList, instance, idItem, res;
|
|
18
|
+
if (val != null) {
|
|
19
|
+
array = val.split(':');
|
|
20
|
+
user = array[0].replace('[', '').replace(']sList', '');
|
|
21
|
+
idList = array[1];
|
|
22
|
+
instance = array[2];
|
|
23
|
+
idItem = array[3];
|
|
24
|
+
res = await main_js_1._this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);
|
|
25
|
+
if (res) {
|
|
26
|
+
objData[user] = { idList: idList };
|
|
27
|
+
main_js_1._this.log.debug(`Alexa-shoppinglist: ${idList}`);
|
|
28
|
+
if (!isSubscribed) {
|
|
29
|
+
await (0, subscribeStates_js_1._subscribeAndUnSubscribeForeignStatesAsync)({ id: `alexa-shoppinglist.${idList}` });
|
|
30
|
+
isSubscribed = true;
|
|
31
|
+
}
|
|
32
|
+
await main_js_1._this.setForeignStateAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`, true, false);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
await (0, telegram_js_1.sendToTelegram)({
|
|
36
|
+
user: user,
|
|
37
|
+
textToSend: 'Cannot delete the Item',
|
|
38
|
+
keyboard: undefined,
|
|
39
|
+
instance: instanceTelegram,
|
|
40
|
+
resize_keyboard: resize_keyboard,
|
|
41
|
+
one_time_keyboard: one_time_keyboard,
|
|
42
|
+
userListWithChatID: userListWithChatID,
|
|
43
|
+
parse_mode: 'true',
|
|
44
|
+
});
|
|
45
|
+
main_js_1._this.log.debug('Cannot delete the Item');
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
(0, logging_js_1.errorLogger)('Error shoppingList:', e);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function deleteMessageAndSendNewShoppingList(instanceTelegram, userListWithChatID, userToSend) {
|
|
54
|
+
try {
|
|
55
|
+
const user = userToSend;
|
|
56
|
+
const idList = objData[user].idList;
|
|
57
|
+
await (0, subscribeStates_js_1._subscribeAndUnSubscribeForeignStatesAsync)({ id: `alexa-shoppinglist.${idList}` });
|
|
58
|
+
await (0, messageIds_js_1.deleteMessageIds)(user, userListWithChatID, instanceTelegram, 'last');
|
|
59
|
+
const result = await main_js_1._this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);
|
|
60
|
+
if (result && result.val) {
|
|
61
|
+
main_js_1._this.log.debug(`Result from Shoppinglist: ${(0, string_1.jsonString)(result)}`);
|
|
62
|
+
const newId = `alexa-shoppinglist.${idList}`;
|
|
63
|
+
const resultJson = (0, jsonTable_js_1.createKeyboardFromJson)(result.val, null, newId, user);
|
|
64
|
+
if (resultJson && resultJson.text && resultJson.keyboard) {
|
|
65
|
+
(0, telegram_js_1.sendToTelegramSubmenu)(user, resultJson.text, resultJson.keyboard, instanceTelegram, userListWithChatID, 'true');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
(0, logging_js_1.errorLogger)('Error deleteMessageAndSendNewShoppingList:', e);
|
|
71
|
+
}
|
|
72
|
+
}
|