iobroker.telegram-menu 2.2.3 → 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 +13 -1
- 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 +22 -27
- package/build/lib/action.js.map +2 -2
- package/build/lib/adapterStartMenuSend.js +6 -6
- package/build/lib/adapterStartMenuSend.js.map +2 -2
- 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 +6 -6
- package/build/lib/backMenu.js.map +2 -2
- package/build/lib/botAction.js.map +1 -1
- package/build/lib/dynamicSwitch.js +10 -10
- package/build/lib/dynamicSwitch.js.map +2 -2
- package/build/lib/dynamicValue.js +6 -6
- package/build/lib/dynamicValue.js.map +2 -2
- package/build/lib/echarts.js +5 -6
- package/build/lib/echarts.js.map +2 -2
- package/build/lib/getstate.js +29 -30
- package/build/lib/getstate.js.map +2 -2
- package/build/lib/global.js +13 -0
- package/build/lib/global.js.map +2 -2
- package/build/lib/httpRequest.js +6 -7
- package/build/lib/httpRequest.js.map +2 -2
- package/build/lib/json.js +54 -0
- package/build/lib/json.js.map +7 -0
- package/build/lib/jsonTable.js +12 -15
- package/build/lib/jsonTable.js.map +2 -2
- 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 +22 -33
- package/build/lib/processData.js.map +3 -3
- package/build/lib/sendNav.js +7 -7
- package/build/lib/sendNav.js.map +2 -2
- package/build/lib/sendpic.js +23 -22
- package/build/lib/sendpic.js.map +2 -2
- package/build/lib/setstate.js +8 -8
- package/build/lib/setstate.js.map +2 -2
- package/build/lib/shoppingList.js +6 -6
- package/build/lib/shoppingList.js.map +2 -2
- 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 +66 -50
- package/build/lib/subMenu.js.map +2 -2
- package/build/lib/subscribeStates.js.map +1 -1
- package/build/lib/telegram.js +11 -2
- package/build/lib/telegram.js.map +2 -2
- package/build/lib/time.js +93 -0
- package/build/lib/time.js.map +7 -0
- package/build/lib/utilities.js +85 -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 +154 -234
- 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 +17 -0
- package/build/types/types.js.map +7 -0
- package/io-package.json +32 -27
- package/package.json +14 -10
- package/build/main.test.js +0 -24
- package/build/main.test.js.map +0 -1
package/build/main.js
CHANGED
|
@@ -33,20 +33,23 @@ __export(main_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(main_exports);
|
|
35
35
|
var utils = __toESM(require("@iobroker/adapter-core"));
|
|
36
|
-
var import_action = require("./
|
|
37
|
-
var import_subscribeStates = require("./
|
|
38
|
-
var import_telegram = require("./
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
36
|
+
var import_action = require("./app/action.js");
|
|
37
|
+
var import_subscribeStates = require("./app/subscribeStates.js");
|
|
38
|
+
var import_telegram = require("./app/telegram.js");
|
|
39
|
+
var import_createState = require("./app/createState.js");
|
|
40
|
+
var import_messageIds = require("./app/messageIds.js");
|
|
41
|
+
var import_adapterStartMenuSend = require("./app/adapterStartMenuSend.js");
|
|
42
|
+
var import_processData = require("./app/processData.js");
|
|
43
|
+
var import_shoppingList = require("./app/shoppingList.js");
|
|
44
|
+
var import_logging = require("./app/logging.js");
|
|
45
|
+
var import_connection = require("./app/connection.js");
|
|
46
|
+
var import_string = require("./lib/string");
|
|
47
|
+
var import_utils = require("./lib/utils");
|
|
48
|
+
var import_appUtils = require("./lib/appUtils");
|
|
49
|
+
var import_configVariables = require("./app/configVariables");
|
|
50
|
+
var import_setStateIdsToListenTo = require("./app/setStateIdsToListenTo");
|
|
48
51
|
const timeoutKey = "0";
|
|
49
|
-
let
|
|
52
|
+
let adapter;
|
|
50
53
|
class TelegramMenu extends utils.Adapter {
|
|
51
54
|
static instance;
|
|
52
55
|
/**
|
|
@@ -61,91 +64,67 @@ class TelegramMenu extends utils.Adapter {
|
|
|
61
64
|
this.on("unload", this.onUnload.bind(this));
|
|
62
65
|
TelegramMenu.instance = this;
|
|
63
66
|
}
|
|
64
|
-
static getInstance() {
|
|
65
|
-
return TelegramMenu.instance;
|
|
66
|
-
}
|
|
67
67
|
async onReady() {
|
|
68
|
+
adapter = this;
|
|
68
69
|
await this.setState("info.connection", false, true);
|
|
69
70
|
await (0, import_createState.createState)(this);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const startSides = {};
|
|
95
|
-
const menuData = {
|
|
96
|
-
data: {}
|
|
97
|
-
};
|
|
98
|
-
Object.keys(menusWithUsers).forEach((element) => {
|
|
99
|
-
startSides[element] = dataObject.nav[element][0].call;
|
|
100
|
-
});
|
|
101
|
-
await this.getForeignObject(infoConnectionOfTelegram, async (err, obj) => {
|
|
102
|
-
try {
|
|
103
|
-
if (err || obj == null) {
|
|
71
|
+
const {
|
|
72
|
+
requestMessageID,
|
|
73
|
+
directoryPicture,
|
|
74
|
+
telegramParams,
|
|
75
|
+
telegramID,
|
|
76
|
+
menusWithUsers,
|
|
77
|
+
infoConnectionOfTelegram,
|
|
78
|
+
listOfMenus,
|
|
79
|
+
isUserActiveCheckbox,
|
|
80
|
+
checkboxNoEntryFound,
|
|
81
|
+
textNoEntryFound,
|
|
82
|
+
botSendMessageID,
|
|
83
|
+
sendMenuAfterRestart,
|
|
84
|
+
token,
|
|
85
|
+
dataObject,
|
|
86
|
+
checkboxes
|
|
87
|
+
} = (0, import_configVariables.getConfigVariables)(this.config);
|
|
88
|
+
const { telegramInstance } = telegramParams;
|
|
89
|
+
const menuData = {};
|
|
90
|
+
const startSides = (0, import_appUtils.getStartSides)(menusWithUsers, dataObject);
|
|
91
|
+
try {
|
|
92
|
+
await this.getForeignObject(infoConnectionOfTelegram, async (err, obj) => {
|
|
93
|
+
var _a;
|
|
94
|
+
if (err || !obj) {
|
|
104
95
|
this.log.error(`The State ${infoConnectionOfTelegram} was not found! ${err}`);
|
|
105
96
|
return;
|
|
106
97
|
}
|
|
107
|
-
|
|
108
|
-
if (!isTelegramActive) {
|
|
98
|
+
if (!await (0, import_connection.checkIsTelegramActive)(infoConnectionOfTelegram)) {
|
|
109
99
|
return;
|
|
110
100
|
}
|
|
111
101
|
const { nav, action } = dataObject;
|
|
112
102
|
this.log.info("Telegram was found");
|
|
113
103
|
for (const name in nav) {
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
const generatedActions = (0, import_action.generateActions)(
|
|
120
|
-
action[name],
|
|
121
|
-
menuData.data[name]
|
|
122
|
-
);
|
|
104
|
+
const splittedNavigation = (0, import_appUtils.splitNavigation)(nav[name]);
|
|
105
|
+
const newStructure = (0, import_appUtils.getNewStructure)(splittedNavigation);
|
|
106
|
+
const generatedActions = (0, import_action.generateActions)({ action: action[name], userObject: newStructure });
|
|
107
|
+
menuData[name] = newStructure;
|
|
123
108
|
if (generatedActions) {
|
|
124
|
-
menuData
|
|
125
|
-
subscribeForeignStateIds = generatedActions == null ? void 0 : generatedActions.ids;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (subscribeForeignStateIds && (subscribeForeignStateIds == null ? void 0 : subscribeForeignStateIds.length) > 0) {
|
|
130
|
-
await (0, import_subscribeStates._subscribeForeignStatesAsync)(subscribeForeignStateIds);
|
|
109
|
+
menuData[name] = generatedActions == null ? void 0 : generatedActions.obj;
|
|
110
|
+
const subscribeForeignStateIds = generatedActions == null ? void 0 : generatedActions.ids;
|
|
111
|
+
if (subscribeForeignStateIds == null ? void 0 : subscribeForeignStateIds.length) {
|
|
112
|
+
await (0, import_subscribeStates._subscribeForeignStates)(subscribeForeignStateIds);
|
|
113
|
+
}
|
|
131
114
|
} else {
|
|
132
|
-
|
|
115
|
+
adapter.log.debug("No Actions generated!");
|
|
133
116
|
}
|
|
134
|
-
if (dataObject.action[name]
|
|
117
|
+
if ((_a = dataObject.action[name]) == null ? void 0 : _a.events) {
|
|
135
118
|
for (const event of dataObject.action[name].events) {
|
|
136
|
-
await (0, import_subscribeStates.
|
|
119
|
+
await (0, import_subscribeStates._subscribeForeignStates)(event.ID);
|
|
137
120
|
}
|
|
138
121
|
}
|
|
139
|
-
(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
{ text: "Gen. Actions: ", val: menuData.data[name] }
|
|
143
|
-
]);
|
|
122
|
+
adapter.log.debug(`Menu: ${name}`);
|
|
123
|
+
adapter.log.debug(`Array Buttons: ${(0, import_string.jsonString)(splittedNavigation)}`);
|
|
124
|
+
adapter.log.debug(`Gen. Actions: ${(0, import_string.jsonString)(menuData[name])}`);
|
|
144
125
|
}
|
|
145
|
-
(0,
|
|
146
|
-
|
|
147
|
-
{ text: "MenuList", val: listOfMenus }
|
|
148
|
-
]);
|
|
126
|
+
adapter.log.debug(`Checkbox: ${(0, import_string.jsonString)(checkboxes)}`);
|
|
127
|
+
adapter.log.debug(`MenuList: ${(0, import_string.jsonString)(listOfMenus)}`);
|
|
149
128
|
if (sendMenuAfterRestart) {
|
|
150
129
|
await (0, import_adapterStartMenuSend.adapterStartMenuSend)(
|
|
151
130
|
listOfMenus,
|
|
@@ -153,199 +132,141 @@ class TelegramMenu extends utils.Adapter {
|
|
|
153
132
|
isUserActiveCheckbox,
|
|
154
133
|
menusWithUsers,
|
|
155
134
|
menuData,
|
|
156
|
-
|
|
157
|
-
instanceTelegram,
|
|
158
|
-
resize_keyboard,
|
|
159
|
-
one_time_keyboard
|
|
135
|
+
telegramParams
|
|
160
136
|
);
|
|
161
137
|
}
|
|
162
138
|
this.on("stateChange", async (id, state) => {
|
|
163
|
-
|
|
164
|
-
const
|
|
165
|
-
|
|
139
|
+
var _a2, _b, _c;
|
|
140
|
+
const setStateIdsToListenTo = (0, import_setStateIdsToListenTo.getStateIdsToListenTo)();
|
|
141
|
+
const isTelegramInstanceActive = await this.checkInfoConnection(id, infoConnectionOfTelegram);
|
|
142
|
+
if (!isTelegramInstanceActive) {
|
|
166
143
|
return;
|
|
167
144
|
}
|
|
168
|
-
const
|
|
169
|
-
if (
|
|
145
|
+
const { userToSend, error } = await this.getChatIDAndUserToSend(telegramParams);
|
|
146
|
+
if (error) {
|
|
170
147
|
return;
|
|
171
148
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
await (0, import_shoppingList.shoppingListSubscribeStateAndDeleteItem)(
|
|
175
|
-
state.val,
|
|
176
|
-
instanceTelegram,
|
|
177
|
-
userListWithChatID,
|
|
178
|
-
resize_keyboard,
|
|
179
|
-
one_time_keyboard
|
|
180
|
-
);
|
|
149
|
+
if (this.isAddToShoppingList(id, userToSend)) {
|
|
150
|
+
await (0, import_shoppingList.deleteMessageAndSendNewShoppingList)(telegramParams, userToSend);
|
|
181
151
|
return;
|
|
182
152
|
}
|
|
183
|
-
if (
|
|
184
|
-
await (0, import_shoppingList.deleteMessageAndSendNewShoppingList)(instanceTelegram, userListWithChatID, userToSend);
|
|
153
|
+
if (!state || !(0, import_utils.isDefined)(state.val)) {
|
|
185
154
|
return;
|
|
186
155
|
}
|
|
187
|
-
if (
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
userListWithChatID,
|
|
193
|
-
instanceTelegram,
|
|
194
|
-
resize_keyboard,
|
|
195
|
-
one_time_keyboard,
|
|
196
|
-
menusWithUsers
|
|
197
|
-
)) {
|
|
156
|
+
if ((0, import_string.isString)(state.val) && state.val.includes("sList:")) {
|
|
157
|
+
await (0, import_shoppingList.shoppingListSubscribeStateAndDeleteItem)(state.val, telegramParams);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (await (0, import_action.checkEvent)(dataObject, id, state, menuData, telegramParams, menusWithUsers)) {
|
|
198
161
|
return;
|
|
199
162
|
}
|
|
200
|
-
if (this.isMessageID(id, botSendMessageID, requestMessageID)
|
|
201
|
-
await (0, import_messageIds.saveMessageIds)(state,
|
|
163
|
+
if (this.isMessageID(id, botSendMessageID, requestMessageID)) {
|
|
164
|
+
await (0, import_messageIds.saveMessageIds)(state, telegramInstance);
|
|
202
165
|
} else if (this.isMenuToSend(state, id, telegramID, userToSend)) {
|
|
203
|
-
|
|
204
|
-
if (!value || !userToSend) {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
value = value.toString();
|
|
166
|
+
const value = state.val.toString();
|
|
208
167
|
const calledValue = value.slice(value.indexOf("]") + 1, value.length);
|
|
209
|
-
const menus = (0,
|
|
168
|
+
const menus = (0, import_appUtils.getListOfMenusIncludingUser)(menusWithUsers, userToSend);
|
|
210
169
|
const dataFound = await (0, import_processData.checkEveryMenuForData)({
|
|
211
170
|
menuData,
|
|
212
171
|
calledValue,
|
|
213
172
|
userToSend,
|
|
214
|
-
|
|
215
|
-
resize_keyboard,
|
|
216
|
-
one_time_keyboard,
|
|
217
|
-
userListWithChatID,
|
|
173
|
+
telegramParams,
|
|
218
174
|
menus,
|
|
219
175
|
isUserActiveCheckbox,
|
|
220
176
|
token,
|
|
221
177
|
directoryPicture,
|
|
222
178
|
timeoutKey
|
|
223
179
|
});
|
|
224
|
-
(0,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (!dataFound && checkboxNoEntryFound && userToSend) {
|
|
229
|
-
(0, import_logging.debug)([{ text: "No Entry found" }]);
|
|
230
|
-
await (0, import_telegram.sendToTelegram)(
|
|
180
|
+
this.log.debug(`Groups with searched User: ${(0, import_string.jsonString)(menus)}`);
|
|
181
|
+
if (!dataFound && checkboxNoEntryFound) {
|
|
182
|
+
adapter.log.debug("No Entry found");
|
|
183
|
+
await (0, import_telegram.sendToTelegram)({
|
|
231
184
|
userToSend,
|
|
232
|
-
textNoEntryFound,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
resize_keyboard,
|
|
236
|
-
one_time_keyboard,
|
|
237
|
-
userListWithChatID,
|
|
238
|
-
"false"
|
|
239
|
-
);
|
|
185
|
+
textToSend: textNoEntryFound,
|
|
186
|
+
telegramParams
|
|
187
|
+
});
|
|
240
188
|
}
|
|
241
189
|
return;
|
|
242
190
|
}
|
|
243
|
-
if (state && setStateIdsToListenTo
|
|
244
|
-
(
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
(0,
|
|
252
|
-
|
|
253
|
-
{
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
const substring = (0, import_utilities.decomposeText)(
|
|
257
|
-
element.returnText,
|
|
258
|
-
"{confirmSet:",
|
|
259
|
-
"}"
|
|
260
|
-
).substring.split(":");
|
|
261
|
-
(0, import_logging.debug)([{ text: "Substring:", val: substring }]);
|
|
191
|
+
if (state && (setStateIdsToListenTo == null ? void 0 : setStateIdsToListenTo.find((element) => element.id == id))) {
|
|
192
|
+
adapter.log.debug(`State, which is listen to was changed: ${id}`);
|
|
193
|
+
adapter.log.debug(`State: ${(0, import_string.jsonString)(state)}`);
|
|
194
|
+
for (const el of setStateIdsToListenTo) {
|
|
195
|
+
const { id: elId, userToSend: userToSend2, confirm, returnText, parse_mode } = el;
|
|
196
|
+
const key = setStateIdsToListenTo.indexOf(el);
|
|
197
|
+
if (elId == id) {
|
|
198
|
+
adapter.log.debug(`Send Value: ${(0, import_string.jsonString)(el)}`);
|
|
199
|
+
adapter.log.debug(`State: ${(0, import_string.jsonString)(state)}`);
|
|
200
|
+
if ((0, import_utils.isTruthy)(confirm) && !(state == null ? void 0 : state.ack) && returnText.includes("{confirmSet:")) {
|
|
201
|
+
const { substring } = (0, import_string.decomposeText)(returnText, "{confirmSet:", "}");
|
|
202
|
+
const splitSubstring = substring.split(":");
|
|
203
|
+
adapter.log.debug(`Substring: ${(0, import_string.jsonString)(splitSubstring)}`);
|
|
262
204
|
let text = "";
|
|
263
|
-
if ((0,
|
|
264
|
-
text =
|
|
205
|
+
if ((0, import_utils.isDefined)(state.val)) {
|
|
206
|
+
text = ((_a2 = splitSubstring[2]) == null ? void 0 : _a2.includes("noValue")) ? splitSubstring[1] : (0, import_appUtils.exchangePlaceholderWithValue)(splitSubstring[1], state.val.toString());
|
|
265
207
|
}
|
|
266
|
-
|
|
208
|
+
adapter.log.debug(`Return-text: ${text}`);
|
|
267
209
|
if (text === "") {
|
|
268
|
-
|
|
210
|
+
adapter.log.error("The return text cannot be empty, please check.");
|
|
269
211
|
}
|
|
270
|
-
(0, import_telegram.sendToTelegram)(
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
resize_keyboard,
|
|
276
|
-
one_time_keyboard,
|
|
277
|
-
userListWithChatID,
|
|
278
|
-
element.parse_mode
|
|
279
|
-
).catch((e) => {
|
|
280
|
-
(0, import_logging.error)([
|
|
281
|
-
{ text: "Error SendToTelegram" },
|
|
282
|
-
{ val: e.message },
|
|
283
|
-
{ text: "Error", val: e.stack }
|
|
284
|
-
]);
|
|
212
|
+
await (0, import_telegram.sendToTelegram)({
|
|
213
|
+
textToSend: text,
|
|
214
|
+
parse_mode,
|
|
215
|
+
userToSend: userToSend2,
|
|
216
|
+
telegramParams
|
|
285
217
|
});
|
|
286
|
-
|
|
218
|
+
continue;
|
|
287
219
|
}
|
|
288
|
-
(0,
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
val: { confirm: element.confirm, ack: state == null ? void 0 : state.ack, val: state == null ? void 0 : state.val }
|
|
292
|
-
}
|
|
293
|
-
]);
|
|
294
|
-
if (!(0, import_global.isFalsy)(element.confirm) && (state == null ? void 0 : state.ack)) {
|
|
295
|
-
let textToSend = element.returnText;
|
|
220
|
+
adapter.log.debug(`Data: ${(0, import_string.jsonString)({ confirm, ack: state == null ? void 0 : state.ack, val: state == null ? void 0 : state.val })}`);
|
|
221
|
+
if (!(0, import_utils.isFalsy)(confirm) && (state == null ? void 0 : state.ack)) {
|
|
222
|
+
let textToSend = returnText;
|
|
296
223
|
if (textToSend.includes("{confirmSet:")) {
|
|
297
|
-
const
|
|
298
|
-
textToSend =
|
|
224
|
+
const { textExcludeSubstring } = (0, import_string.decomposeText)(textToSend, "{confirmSet:", "}");
|
|
225
|
+
textToSend = textExcludeSubstring;
|
|
299
226
|
}
|
|
300
227
|
let value = "";
|
|
301
228
|
let valueChange = null;
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
229
|
+
const {
|
|
230
|
+
newValue,
|
|
231
|
+
textToSend: changedText,
|
|
232
|
+
error: error2
|
|
233
|
+
} = (0, import_string.getValueToExchange)(adapter, textToSend, (_b = state.val) == null ? void 0 : _b.toString());
|
|
234
|
+
if (!error2) {
|
|
235
|
+
valueChange = newValue;
|
|
236
|
+
textToSend = changedText;
|
|
306
237
|
}
|
|
307
238
|
if (textToSend == null ? void 0 : textToSend.toString().includes("{novalue}")) {
|
|
308
239
|
value = "";
|
|
309
240
|
textToSend = textToSend.replace("{novalue}", "");
|
|
310
|
-
} else if ((0,
|
|
311
|
-
value = (
|
|
241
|
+
} else if ((0, import_utils.isDefined)(state == null ? void 0 : state.val)) {
|
|
242
|
+
value = (_c = state.val) == null ? void 0 : _c.toString();
|
|
312
243
|
}
|
|
313
|
-
if (valueChange) {
|
|
244
|
+
if ((0, import_utils.isDefined)(valueChange)) {
|
|
314
245
|
value = valueChange;
|
|
315
246
|
}
|
|
316
|
-
|
|
317
|
-
textToSend = (0,
|
|
318
|
-
(0, import_telegram.sendToTelegram)(
|
|
319
|
-
|
|
247
|
+
adapter.log.debug(`Value to send: ${value}`);
|
|
248
|
+
textToSend = (0, import_appUtils.exchangePlaceholderWithValue)(textToSend, value);
|
|
249
|
+
await (0, import_telegram.sendToTelegram)({
|
|
250
|
+
userToSend: userToSend2,
|
|
320
251
|
textToSend,
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
resize_keyboard,
|
|
324
|
-
one_time_keyboard,
|
|
325
|
-
userListWithChatID,
|
|
326
|
-
element.parse_mode
|
|
327
|
-
).catch((e) => {
|
|
328
|
-
(0, import_logging.error)([
|
|
329
|
-
{ text: "Error sendToTelegram" },
|
|
330
|
-
{ val: e.message },
|
|
331
|
-
{ text: "Error", val: e.stack }
|
|
332
|
-
]);
|
|
252
|
+
parse_mode,
|
|
253
|
+
telegramParams
|
|
333
254
|
});
|
|
334
255
|
setStateIdsToListenTo.splice(key, 1);
|
|
335
256
|
}
|
|
336
257
|
}
|
|
337
|
-
}
|
|
258
|
+
}
|
|
338
259
|
}
|
|
339
260
|
});
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
261
|
+
});
|
|
262
|
+
} catch (e) {
|
|
263
|
+
(0, import_logging.errorLogger)("Error onReady", e, adapter);
|
|
264
|
+
}
|
|
344
265
|
await this.subscribeForeignStatesAsync(botSendMessageID);
|
|
345
266
|
await this.subscribeForeignStatesAsync(requestMessageID);
|
|
346
|
-
await this.subscribeForeignStatesAsync(`${
|
|
267
|
+
await this.subscribeForeignStatesAsync(`${telegramInstance}.communicate.requestChatId`);
|
|
347
268
|
await this.subscribeForeignStatesAsync(telegramID);
|
|
348
|
-
await this.subscribeForeignStatesAsync(`${
|
|
269
|
+
await this.subscribeForeignStatesAsync(`${telegramInstance}.info.connection`);
|
|
349
270
|
}
|
|
350
271
|
isMessageID(id, botSendMessageID, requestMessageID) {
|
|
351
272
|
return id == botSendMessageID || id == requestMessageID;
|
|
@@ -354,12 +275,11 @@ class TelegramMenu extends utils.Adapter {
|
|
|
354
275
|
return !!(id.includes("alexa-shoppinglist") && !id.includes("add_position") && userToSend);
|
|
355
276
|
}
|
|
356
277
|
isMenuToSend(state, id, telegramID, userToSend) {
|
|
357
|
-
return !!(state
|
|
278
|
+
return !!(typeof (state == null ? void 0 : state.val) === "string" && state.val != "" && id == telegramID && (state == null ? void 0 : state.ack) && userToSend);
|
|
358
279
|
}
|
|
359
280
|
async checkInfoConnection(id, infoConnectionOfTelegram) {
|
|
360
281
|
if (id === infoConnectionOfTelegram) {
|
|
361
|
-
|
|
362
|
-
if (!isActive) {
|
|
282
|
+
if (!await (0, import_connection.checkIsTelegramActive)(infoConnectionOfTelegram)) {
|
|
363
283
|
this.log.debug("Telegram is not active");
|
|
364
284
|
return false;
|
|
365
285
|
}
|
|
@@ -367,18 +287,19 @@ class TelegramMenu extends utils.Adapter {
|
|
|
367
287
|
}
|
|
368
288
|
return true;
|
|
369
289
|
}
|
|
370
|
-
async getChatIDAndUserToSend(
|
|
371
|
-
const
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
290
|
+
async getChatIDAndUserToSend(telegramParams) {
|
|
291
|
+
const { telegramInstance, userListWithChatID } = telegramParams;
|
|
292
|
+
const chatIDState = await this.getForeignStateAsync(`${telegramInstance}.communicate.requestChatId`);
|
|
293
|
+
if (!(chatIDState == null ? void 0 : chatIDState.val)) {
|
|
294
|
+
adapter.log.debug("ChatID not found");
|
|
295
|
+
return { chatID: "", userToSend: "", error: true, errorMessage: "ChatId not found" };
|
|
375
296
|
}
|
|
376
|
-
const userToSend = (0, import_action.getUserToSendFromUserListWithChatID)(userListWithChatID,
|
|
297
|
+
const userToSend = (0, import_action.getUserToSendFromUserListWithChatID)(userListWithChatID, chatIDState.val.toString());
|
|
377
298
|
if (!userToSend) {
|
|
378
299
|
this.log.debug("User to send not found");
|
|
379
|
-
return;
|
|
300
|
+
return { chatID: chatIDState.val.toString(), userToSend: "", error: true, errorMessage: "User not found" };
|
|
380
301
|
}
|
|
381
|
-
return { chatID:
|
|
302
|
+
return { chatID: chatIDState.val.toString(), userToSend, error: false };
|
|
382
303
|
}
|
|
383
304
|
/**
|
|
384
305
|
* Is called when adapter shuts down - callback has to be called under any circumstances!
|
|
@@ -388,12 +309,12 @@ class TelegramMenu extends utils.Adapter {
|
|
|
388
309
|
onUnload(callback) {
|
|
389
310
|
const timeouts = (0, import_processData.getTimeouts)();
|
|
390
311
|
try {
|
|
391
|
-
timeouts.forEach((
|
|
392
|
-
clearTimeout(
|
|
312
|
+
timeouts.forEach(({ timeout }) => {
|
|
313
|
+
adapter.clearTimeout(timeout);
|
|
393
314
|
});
|
|
394
315
|
callback();
|
|
395
316
|
} catch (e) {
|
|
396
|
-
|
|
317
|
+
(0, import_logging.errorLogger)(e, "Error onUnload", adapter);
|
|
397
318
|
callback();
|
|
398
319
|
}
|
|
399
320
|
}
|
|
@@ -408,11 +329,10 @@ class TelegramMenu extends utils.Adapter {
|
|
|
408
329
|
}
|
|
409
330
|
}
|
|
410
331
|
}
|
|
411
|
-
let adapter;
|
|
412
332
|
if (require.main !== module) {
|
|
413
|
-
|
|
333
|
+
module.exports = (options) => new TelegramMenu(options);
|
|
414
334
|
} else {
|
|
415
|
-
new TelegramMenu();
|
|
335
|
+
(() => new TelegramMenu())();
|
|
416
336
|
}
|
|
417
337
|
// Annotate the CommonJS export names for ESM import in node:
|
|
418
338
|
0 && (module.exports = {
|