iobroker.telegram-menu 2.2.2 → 2.2.4

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 (47) hide show
  1. package/README.md +4 -0
  2. package/admin/build/index.js +62 -62
  3. package/admin/build/index.js.map +4 -4
  4. package/admin/package-lock.json +285 -118
  5. package/admin/package.json +5 -9
  6. package/build/lib/action.js +21 -24
  7. package/build/lib/action.js.map +2 -2
  8. package/build/lib/adapterStartMenuSend.js +6 -6
  9. package/build/lib/adapterStartMenuSend.js.map +2 -2
  10. package/build/lib/backMenu.js +6 -6
  11. package/build/lib/backMenu.js.map +2 -2
  12. package/build/lib/dynamicSwitch.js +10 -10
  13. package/build/lib/dynamicSwitch.js.map +2 -2
  14. package/build/lib/dynamicValue.js +6 -6
  15. package/build/lib/dynamicValue.js.map +2 -2
  16. package/build/lib/echarts.js +5 -6
  17. package/build/lib/echarts.js.map +2 -2
  18. package/build/lib/getstate.js +29 -30
  19. package/build/lib/getstate.js.map +2 -2
  20. package/build/lib/global.js +13 -0
  21. package/build/lib/global.js.map +2 -2
  22. package/build/lib/httpRequest.js +6 -7
  23. package/build/lib/httpRequest.js.map +2 -2
  24. package/build/lib/jsonTable.js +12 -15
  25. package/build/lib/jsonTable.js.map +2 -2
  26. package/build/lib/processData.js +19 -16
  27. package/build/lib/processData.js.map +2 -2
  28. package/build/lib/sendNav.js +7 -7
  29. package/build/lib/sendNav.js.map +2 -2
  30. package/build/lib/sendpic.js +7 -7
  31. package/build/lib/sendpic.js.map +2 -2
  32. package/build/lib/setstate.js +8 -8
  33. package/build/lib/setstate.js.map +2 -2
  34. package/build/lib/shoppingList.js +6 -6
  35. package/build/lib/shoppingList.js.map +2 -2
  36. package/build/lib/subMenu.js +65 -48
  37. package/build/lib/subMenu.js.map +2 -2
  38. package/build/lib/telegram.js +11 -2
  39. package/build/lib/telegram.js.map +2 -2
  40. package/build/lib/utilities.js +24 -23
  41. package/build/lib/utilities.js.map +3 -3
  42. package/build/main.js +22 -20
  43. package/build/main.js.map +2 -2
  44. package/build/types/types.js +2 -0
  45. package/build/types/types.js.map +7 -0
  46. package/io-package.json +27 -27
  47. package/package.json +7 -20
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/sendNav.ts"],
4
- "sourcesContent": ["import { error } from 'console';\nimport { debug } from './logging';\nimport { sendToTelegram } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport type { Part, UserListWithChatId } from './telegram-menu';\n\nasync function sendNav(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n try {\n if (userToSend) {\n debug([{ text: 'Send Nav to Telegram' }]);\n const nav = part.nav;\n const text = await checkStatusInfo(part.text as string);\n\n await sendToTelegram(\n userToSend,\n text as string,\n nav,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part.parse_mode || 'false',\n );\n }\n } catch (e: any) {\n error([\n { text: 'Error sendNav:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { sendNav };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AACtB,qBAAsB;AACtB,sBAA+B;AAC/B,uBAAgC;AAGhC,eAAe,QACX,MACA,YACA,kBACA,oBACA,iBACA,mBACa;AACb,MAAI;AACA,QAAI,YAAY;AACZ,gCAAM,CAAC,EAAE,MAAM,uBAAuB,CAAC,CAAC;AACxC,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,UAAM,kCAAgB,KAAK,IAAc;AAEtD,gBAAM;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,cAAc;AAAA,MACvB;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,kBAAkB,KAAK,EAAE,QAAQ;AAAA,MACzC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
4
+ "sourcesContent": ["import { error } from 'console';\nimport { debug } from './logging';\nimport { sendToTelegram } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport type { Part, UserListWithChatId } from './telegram-menu';\n\nasync function sendNav(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n try {\n if (userToSend) {\n debug([{ text: 'Send Nav to Telegram' }]);\n const nav = part.nav;\n const text = await checkStatusInfo(part.text as string);\n\n await sendToTelegram({\n user: userToSend,\n textToSend: text as string,\n keyboard: nav,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: part.parse_mode || 'false',\n });\n }\n } catch (e: any) {\n error([\n { text: 'Error sendNav:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { sendNav };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AACtB,qBAAsB;AACtB,sBAA+B;AAC/B,uBAAgC;AAGhC,eAAe,QACX,MACA,YACA,kBACA,oBACA,iBACA,mBACa;AACb,MAAI;AACA,QAAI,YAAY;AACZ,gCAAM,CAAC,EAAE,MAAM,uBAAuB,CAAC,CAAC;AACxC,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,UAAM,kCAAgB,KAAK,IAAc;AAEtD,gBAAM,gCAAe;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY,KAAK,cAAc;AAAA,MACnC,CAAC;AAAA,IACL;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,kBAAkB,KAAK,EAAE,QAAQ;AAAA,MACzC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": []
7
7
  }
@@ -72,16 +72,16 @@ function sendPic(part, userToSend, instanceTelegram, resize_keyboard, one_time_k
72
72
  return;
73
73
  }
74
74
  const timeout = _this.setTimeout(async () => {
75
- await (0, import_telegram.sendToTelegram)(
76
- userToSend,
77
- path,
78
- void 0,
79
- instanceTelegram,
75
+ await (0, import_telegram.sendToTelegram)({
76
+ user: userToSend,
77
+ textToSend: path,
78
+ keyboard: void 0,
79
+ instance: instanceTelegram,
80
80
  resize_keyboard,
81
81
  one_time_keyboard,
82
82
  userListWithChatID,
83
- "false"
84
- );
83
+ parse_mode: "false"
84
+ });
85
85
  let timeoutToClear = [];
86
86
  timeoutToClear = timeouts.filter((item) => item.key == timeoutKey);
87
87
  timeoutToClear.forEach((item) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/sendpic.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { replaceAll } from './utilities';\nimport { exec } from 'child_process';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, UserListWithChatId, Timeouts } from './telegram-menu';\nimport { checkDirectoryIsOk } from './global';\n\nfunction sendPic(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const _this = TelegramMenu.getInstance();\n let path = '';\n if (element.id != '-') {\n const url = element.id;\n const newUrl = replaceAll(url, '&amp;', '&');\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${directoryPicture}${element.fileName}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n debug([{ text: 'Stdout:', val: stdout }]);\n }\n if (stderr) {\n debug([{ text: 'Stderr:', val: stderr }]);\n }\n if (error) {\n error([{ text: 'Error:', val: error }]);\n return;\n }\n },\n );\n\n debug([{ text: 'Delay Time:', val: element.delay }]);\n timeoutKey += 1;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n\n path = `${directoryPicture}${element.fileName}`;\n debug([{ text: 'Path : ', val: path }]);\n } else {\n return;\n }\n\n const timeout = _this.setTimeout(async () => {\n await sendToTelegram(\n userToSend,\n path,\n undefined,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n 'false',\n );\n let timeoutToClear: Timeouts[] = [];\n timeoutToClear = timeouts.filter(item => item.key == timeoutKey);\n timeoutToClear.forEach(item => {\n clearTimeout(item.timeout);\n });\n\n timeouts = timeouts.filter(item => item.key !== timeoutKey);\n debug([{ text: 'Picture sent' }]);\n }, parseInt(element.delay));\n\n if (timeout) {\n timeouts.push({ key: timeoutKey, timeout: timeout });\n }\n });\n return timeouts;\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n return timeouts;\n}\n\nexport { sendPic };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAA2B;AAC3B,2BAAqB;AACrB,qBAA6B;AAC7B,kBAAyB;AAEzB,oBAAmC;AAEnC,SAAS,QACL,MACA,YACA,kBACA,iBACA,mBACA,oBACA,OACA,kBACA,UACA,YACU;AAnBd;AAoBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM,KAAK;AACnB,cAAM,MAAM,QAAQ;AACpB,cAAM,aAAS,6BAAW,KAAK,SAAS,GAAG;AAE3C;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,gBAAgB,GAAG,QAAQ,QAAQ;AAAA,UACnG,CAACC,QAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAIA,QAAO;AACP,cAAAA,OAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AACtC;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,kCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,QAAQ,MAAM,CAAC,CAAC;AACnD,sBAAc;AAEd,YAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,QACJ;AAEA,eAAO,GAAG,gBAAgB,GAAG,QAAQ,QAAQ;AAC7C,kCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACH;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,WAAW,YAAY;AACzC,kBAAM;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AACA,YAAI,iBAA6B,CAAC;AAClC,yBAAiB,SAAS,OAAO,UAAQ,KAAK,OAAO,UAAU;AAC/D,uBAAe,QAAQ,UAAQ;AAC3B,uBAAa,KAAK,OAAO;AAAA,QAC7B,CAAC;AAED,mBAAW,SAAS,OAAO,UAAQ,KAAK,QAAQ,UAAU;AAC1D,kCAAM,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,MACpC,GAAG,SAAS,QAAQ,KAAK,CAAC;AAE1B,UAAI,SAAS;AACT,iBAAS,KAAK,EAAE,KAAK,YAAY,QAAiB,CAAC;AAAA,MACvD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACA,SAAO;AACX;",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { replaceAll } from './utilities';\nimport { exec } from 'child_process';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, UserListWithChatId, Timeouts } from './telegram-menu';\nimport { checkDirectoryIsOk } from './global';\n\nfunction sendPic(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const _this = TelegramMenu.getInstance();\n let path = '';\n if (element.id != '-') {\n const url = element.id;\n const newUrl = replaceAll(url, '&amp;', '&');\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${directoryPicture}${element.fileName}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n debug([{ text: 'Stdout:', val: stdout }]);\n }\n if (stderr) {\n debug([{ text: 'Stderr:', val: stderr }]);\n }\n if (error) {\n error([{ text: 'Error:', val: error }]);\n return;\n }\n },\n );\n\n debug([{ text: 'Delay Time:', val: element.delay }]);\n timeoutKey += 1;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n\n path = `${directoryPicture}${element.fileName}`;\n debug([{ text: 'Path : ', val: path }]);\n } else {\n return;\n }\n\n const timeout = _this.setTimeout(async () => {\n await sendToTelegram({\n user: userToSend,\n textToSend: path,\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n let timeoutToClear: Timeouts[] = [];\n timeoutToClear = timeouts.filter(item => item.key == timeoutKey);\n timeoutToClear.forEach(item => {\n clearTimeout(item.timeout);\n });\n\n timeouts = timeouts.filter(item => item.key !== timeoutKey);\n debug([{ text: 'Picture sent' }]);\n }, parseInt(element.delay));\n\n if (timeout) {\n timeouts.push({ key: timeoutKey, timeout: timeout });\n }\n });\n return timeouts;\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n return timeouts;\n}\n\nexport { sendPic };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAA2B;AAC3B,2BAAqB;AACrB,qBAA6B;AAC7B,kBAAyB;AAEzB,oBAAmC;AAEnC,SAAS,QACL,MACA,YACA,kBACA,iBACA,mBACA,oBACA,OACA,kBACA,UACA,YACU;AAnBd;AAoBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM,KAAK;AACnB,cAAM,MAAM,QAAQ;AACpB,cAAM,aAAS,6BAAW,KAAK,SAAS,GAAG;AAE3C;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,gBAAgB,GAAG,QAAQ,QAAQ;AAAA,UACnG,CAACC,QAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAIA,QAAO;AACP,cAAAA,OAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AACtC;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,kCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,QAAQ,MAAM,CAAC,CAAC;AACnD,sBAAc;AAEd,YAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,QACJ;AAEA,eAAO,GAAG,gBAAgB,GAAG,QAAQ,QAAQ;AAC7C,kCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACH;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,WAAW,YAAY;AACzC,kBAAM,gCAAe;AAAA,UACjB,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAChB,CAAC;AACD,YAAI,iBAA6B,CAAC;AAClC,yBAAiB,SAAS,OAAO,UAAQ,KAAK,OAAO,UAAU;AAC/D,uBAAe,QAAQ,UAAQ;AAC3B,uBAAa,KAAK,OAAO;AAAA,QAC7B,CAAC;AAED,mBAAW,SAAS,OAAO,UAAQ,KAAK,QAAQ,UAAU;AAC1D,kCAAM,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,MACpC,GAAG,SAAS,QAAQ,KAAK,CAAC;AAE1B,UAAI,SAAS;AACT,iBAAS,KAAK,EAAE,KAAK,YAAY,QAAiB,CAAC;AAAA,MACvD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACA,SAAO;AACX;",
6
6
  "names": ["TelegramMenu", "error"]
7
7
  }
@@ -122,16 +122,16 @@ const setState = async (part, userToSend, valueFromSubmenu, SubmenuValuePriority
122
122
  const returnObj = JSON.parse(returnText.slice(returnText.indexOf("{"), returnText.indexOf("}") + 1));
123
123
  returnObj.text = returnObj.text + returnText.slice(returnText.indexOf("}") + 1);
124
124
  if (textToSend && textToSend !== "") {
125
- await (0, import_telegram.sendToTelegram)(
126
- userToSend,
125
+ await (0, import_telegram.sendToTelegram)({
126
+ user: userToSend,
127
127
  textToSend,
128
- void 0,
129
- telegramInstance,
130
- one_time_keyboard,
131
- resize_keyboard,
128
+ keyboard: void 0,
129
+ instance: telegramInstance,
130
+ resize_keyboard: one_time_keyboard,
131
+ one_time_keyboard: resize_keyboard,
132
132
  userListWithChatID,
133
- element.parse_mode
134
- );
133
+ parse_mode: element.parse_mode
134
+ });
135
135
  }
136
136
  setStateIds.push({
137
137
  id: returnObj.id,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/setstate.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { checkTypeOfId } from './utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { decomposeText } from './global';\nimport TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId, SetStateIds } from './telegram-menu';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n if (value && value.includes('{value}')) {\n return value.replace('{value}', valueFromSubmenu);\n }\n return valueFromSubmenu;\n};\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n const _this = TelegramMenu.getInstance();\n if (typeof value === 'string' && value.includes('{id:')) {\n const result = decomposeText(value, '{id:', '}');\n const id = result.substring.replace('{id:', '').replace('}', '');\n const newValue = await _this.getForeignStateAsync(id);\n if (newValue && newValue.val && typeof newValue.val === 'string') {\n return value.replace(result.substring, newValue.val);\n }\n }\n return value;\n};\nconst setValue = async (\n id: string,\n value: string,\n SubmenuValuePriority: boolean,\n valueFromSubmenu: string | number,\n ack: boolean,\n): Promise<void> => {\n try {\n const _this = TelegramMenu.getInstance();\n let valueToSet;\n SubmenuValuePriority\n ? (valueToSet = modifiedValue(valueFromSubmenu as string, value))\n : (valueToSet = await isDynamicValueToSet(value));\n await checkTypeOfId(id, valueToSet).then((val: ioBroker.StateValue | ioBroker.SettableState | undefined) => {\n valueToSet = val;\n debug([{ text: 'Value to Set:', val: valueToSet }]);\n if (valueToSet !== undefined && valueToSet !== null) {\n _this.setForeignState(id, valueToSet, ack);\n }\n });\n } catch (error: any) {\n error([\n { text: 'Error setValue', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n\nexport const setState = async (\n part: Part,\n userToSend: string,\n valueFromSubmenu: string | number,\n SubmenuValuePriority: boolean,\n telegramInstance: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<SetStateIds[] | undefined> => {\n const _this = TelegramMenu.getInstance();\n try {\n const setStateIds: SetStateIds[] = [];\n if (!part.switch) {\n return;\n }\n for (const element of part.switch) {\n let ack = false;\n let returnText = element.returnText;\n\n ack = element?.ack ? element.ack === 'true' : false;\n\n if (returnText.includes('{setDynamicValue')) {\n const { confirmText, id } = await setDynamicValue(\n returnText,\n ack,\n element.id,\n userToSend,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n element.parse_mode,\n element.confirm,\n );\n\n if (element.confirm) {\n setStateIds.push({\n id: id || element.id,\n confirm: element.confirm,\n returnText: confirmText,\n userToSend: userToSend,\n });\n return setStateIds;\n }\n }\n\n if (!returnText.includes(\"{'id':'\")) {\n setStateIds.push({\n id: element.id,\n confirm: element.confirm,\n returnText: returnText,\n userToSend: userToSend,\n parse_mode: element.parse_mode,\n });\n } else {\n returnText = returnText.replace(/'/g, '\"');\n const textToSend = returnText.slice(0, returnText.indexOf('{')).trim();\n const returnObj = JSON.parse(returnText.slice(returnText.indexOf('{'), returnText.indexOf('}') + 1));\n\n returnObj.text = returnObj.text + returnText.slice(returnText.indexOf('}') + 1);\n if (textToSend && textToSend !== '') {\n await sendToTelegram(\n userToSend,\n textToSend,\n undefined,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n element.parse_mode,\n );\n }\n\n setStateIds.push({\n id: returnObj.id,\n confirm: true,\n returnText: returnObj.text,\n userToSend: userToSend,\n });\n }\n if (element.toggle) {\n _this\n .getForeignStateAsync(element.id)\n .then(val => {\n if (val) {\n _this.setForeignStateAsync(element.id, !val.val, ack).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n }\n })\n .catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n } else {\n await setValue(element.id, element.value, SubmenuValuePriority, valueFromSubmenu, ack);\n }\n }\n return setStateIds;\n } catch (error: any) {\n error([\n { text: 'Error Switch', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { checkTypeOfId } from './utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { decomposeText } from './global';\nimport TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId, SetStateIds } from './telegram-menu';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n if (value && value.includes('{value}')) {\n return value.replace('{value}', valueFromSubmenu);\n }\n return valueFromSubmenu;\n};\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n const _this = TelegramMenu.getInstance();\n if (typeof value === 'string' && value.includes('{id:')) {\n const result = decomposeText(value, '{id:', '}');\n const id = result.substring.replace('{id:', '').replace('}', '');\n const newValue = await _this.getForeignStateAsync(id);\n if (newValue && newValue.val && typeof newValue.val === 'string') {\n return value.replace(result.substring, newValue.val);\n }\n }\n return value;\n};\nconst setValue = async (\n id: string,\n value: string,\n SubmenuValuePriority: boolean,\n valueFromSubmenu: string | number,\n ack: boolean,\n): Promise<void> => {\n try {\n const _this = TelegramMenu.getInstance();\n let valueToSet;\n SubmenuValuePriority\n ? (valueToSet = modifiedValue(valueFromSubmenu as string, value))\n : (valueToSet = await isDynamicValueToSet(value));\n await checkTypeOfId(id, valueToSet).then((val: ioBroker.StateValue | ioBroker.SettableState | undefined) => {\n valueToSet = val;\n debug([{ text: 'Value to Set:', val: valueToSet }]);\n if (valueToSet !== undefined && valueToSet !== null) {\n _this.setForeignState(id, valueToSet, ack);\n }\n });\n } catch (error: any) {\n error([\n { text: 'Error setValue', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n\nexport const setState = async (\n part: Part,\n userToSend: string,\n valueFromSubmenu: string | number,\n SubmenuValuePriority: boolean,\n telegramInstance: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<SetStateIds[] | undefined> => {\n const _this = TelegramMenu.getInstance();\n try {\n const setStateIds: SetStateIds[] = [];\n if (!part.switch) {\n return;\n }\n for (const element of part.switch) {\n let ack = false;\n let returnText = element.returnText;\n\n ack = element?.ack ? element.ack === 'true' : false;\n\n if (returnText.includes('{setDynamicValue')) {\n const { confirmText, id } = await setDynamicValue(\n returnText,\n ack,\n element.id,\n userToSend,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n element.parse_mode,\n element.confirm,\n );\n\n if (element.confirm) {\n setStateIds.push({\n id: id || element.id,\n confirm: element.confirm,\n returnText: confirmText,\n userToSend: userToSend,\n });\n return setStateIds;\n }\n }\n\n if (!returnText.includes(\"{'id':'\")) {\n setStateIds.push({\n id: element.id,\n confirm: element.confirm,\n returnText: returnText,\n userToSend: userToSend,\n parse_mode: element.parse_mode,\n });\n } else {\n returnText = returnText.replace(/'/g, '\"');\n const textToSend = returnText.slice(0, returnText.indexOf('{')).trim();\n const returnObj = JSON.parse(returnText.slice(returnText.indexOf('{'), returnText.indexOf('}') + 1));\n\n returnObj.text = returnObj.text + returnText.slice(returnText.indexOf('}') + 1);\n if (textToSend && textToSend !== '') {\n await sendToTelegram({\n user: userToSend,\n textToSend: textToSend,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: element.parse_mode,\n });\n }\n\n setStateIds.push({\n id: returnObj.id,\n confirm: true,\n returnText: returnObj.text,\n userToSend: userToSend,\n });\n }\n if (element.toggle) {\n _this\n .getForeignStateAsync(element.id)\n .then(val => {\n if (val) {\n _this.setForeignStateAsync(element.id, !val.val, ack).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n }\n })\n .catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n } else {\n await setValue(element.id, element.value, SubmenuValuePriority, valueFromSubmenu, ack);\n }\n }\n return setStateIds;\n } catch (error: any) {\n error([\n { text: 'Error Switch', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAA8B;AAC9B,0BAAgC;AAChC,oBAA8B;AAC9B,kBAAyB;AACzB,qBAA6B;AAG7B,MAAM,gBAAgB,CAAC,kBAA0B,UAA0B;AACvE,MAAI,SAAS,MAAM,SAAS,SAAS,GAAG;AACpC,WAAO,MAAM,QAAQ,WAAW,gBAAgB;AAAA,EACpD;AACA,SAAO;AACX;AACA,MAAM,sBAAsB,OAAO,UAAyE;AACxG,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI,OAAO,UAAU,YAAY,MAAM,SAAS,MAAM,GAAG;AACrD,UAAM,aAAS,6BAAc,OAAO,QAAQ,GAAG;AAC/C,UAAM,KAAK,OAAO,UAAU,QAAQ,QAAQ,EAAE,EAAE,QAAQ,KAAK,EAAE;AAC/D,UAAM,WAAW,MAAM,MAAM,qBAAqB,EAAE;AACpD,QAAI,YAAY,SAAS,OAAO,OAAO,SAAS,QAAQ,UAAU;AAC9D,aAAO,MAAM,QAAQ,OAAO,WAAW,SAAS,GAAG;AAAA,IACvD;AAAA,EACJ;AACA,SAAO;AACX;AACA,MAAM,WAAW,OACb,IACA,OACA,sBACA,kBACA,QACgB;AAChB,MAAI;AACA,UAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,QAAI;AACJ,2BACO,aAAa,cAAc,kBAA4B,KAAK,IAC5D,aAAa,MAAM,oBAAoB,KAAK;AACnD,cAAM,gCAAc,IAAI,UAAU,EAAE,KAAK,CAAC,QAAkE;AACxG,mBAAa;AACb,gCAAM,CAAC,EAAE,MAAM,iBAAiB,KAAK,WAAW,CAAC,CAAC;AAClD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,cAAM,gBAAgB,IAAI,YAAY,GAAG;AAAA,MAC7C;AAAA,IACJ,CAAC;AAAA,EACL,SAASC,QAAY;AACjB,IAAAA,OAAM;AAAA,MACF,EAAE,MAAM,kBAAkB,KAAKA,OAAM,QAAQ;AAAA,MAC7C,EAAE,MAAM,SAAS,KAAKA,OAAM,MAAM;AAAA,IACtC,CAAC;AAAA,EACL;AACJ;AAEO,MAAM,WAAW,OACpB,MACA,YACA,kBACA,sBACA,kBACA,iBACA,mBACA,uBACqC;AACrC,QAAM,QAAQ,YAAAD,QAAa,YAAY;AACvC,MAAI;AACA,UAAM,cAA6B,CAAC;AACpC,QAAI,CAAC,KAAK,QAAQ;AACd;AAAA,IACJ;AACA,eAAW,WAAW,KAAK,QAAQ;AAC/B,UAAI,MAAM;AACV,UAAI,aAAa,QAAQ;AAEzB,aAAM,mCAAS,OAAM,QAAQ,QAAQ,SAAS;AAE9C,UAAI,WAAW,SAAS,kBAAkB,GAAG;AACzC,cAAM,EAAE,aAAa,GAAG,IAAI,UAAM;AAAA,UAC9B;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,UACR,QAAQ;AAAA,QACZ;AAEA,YAAI,QAAQ,SAAS;AACjB,sBAAY,KAAK;AAAA,YACb,IAAI,MAAM,QAAQ;AAAA,YAClB,SAAS,QAAQ;AAAA,YACjB,YAAY;AAAA,YACZ;AAAA,UACJ,CAAC;AACD,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,UAAI,CAAC,WAAW,SAAS,SAAS,GAAG;AACjC,oBAAY,KAAK;AAAA,UACb,IAAI,QAAQ;AAAA,UACZ,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA;AAAA,UACA,YAAY,QAAQ;AAAA,QACxB,CAAC;AAAA,MACL,OAAO;AACH,qBAAa,WAAW,QAAQ,MAAM,GAAG;AACzC,cAAM,aAAa,WAAW,MAAM,GAAG,WAAW,QAAQ,GAAG,CAAC,EAAE,KAAK;AACrE,cAAM,YAAY,KAAK,MAAM,WAAW,MAAM,WAAW,QAAQ,GAAG,GAAG,WAAW,QAAQ,GAAG,IAAI,CAAC,CAAC;AAEnG,kBAAU,OAAO,UAAU,OAAO,WAAW,MAAM,WAAW,QAAQ,GAAG,IAAI,CAAC;AAC9E,YAAI,cAAc,eAAe,IAAI;AACjC,oBAAM,gCAAe;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,UAAU;AAAA,YACV,UAAU;AAAA,YACV,iBAAiB;AAAA,YACjB,mBAAmB;AAAA,YACnB;AAAA,YACA,YAAY,QAAQ;AAAA,UACxB,CAAC;AAAA,QACL;AAEA,oBAAY,KAAK;AAAA,UACb,IAAI,UAAU;AAAA,UACd,SAAS;AAAA,UACT,YAAY,UAAU;AAAA,UACtB;AAAA,QACJ,CAAC;AAAA,MACL;AACA,UAAI,QAAQ,QAAQ;AAChB,cACK,qBAAqB,QAAQ,EAAE,EAC/B,KAAK,SAAO;AACT,cAAI,KAAK;AACL,kBAAM,qBAAqB,QAAQ,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,MAAW;AACpE,wCAAM;AAAA,gBACF,EAAE,MAAM,SAAS,KAAK,EAAE,QAAQ;AAAA,gBAChC,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM;AAAA,cAClC,CAAC;AAAA,YACL,CAAC;AAAA,UACL;AAAA,QACJ,CAAC,EACA,MAAM,CAAC,MAAW;AACf,oCAAM;AAAA,YACF,EAAE,MAAM,SAAS,KAAK,EAAE,QAAQ;AAAA,YAChC,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM;AAAA,UAClC,CAAC;AAAA,QACL,CAAC;AAAA,MACT,OAAO;AACH,cAAM,SAAS,QAAQ,IAAI,QAAQ,OAAO,sBAAsB,kBAAkB,GAAG;AAAA,MACzF;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAASC,QAAY;AACjB,IAAAA,OAAM;AAAA,MACF,EAAE,MAAM,gBAAgB,KAAKA,OAAM,QAAQ;AAAA,MAC3C,EAAE,MAAM,SAAS,KAAKA,OAAM,MAAM;AAAA,IACtC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": ["TelegramMenu", "error"]
7
7
  }
@@ -65,16 +65,16 @@ async function shoppingListSubscribeStateAndDeleteItem(val, instanceTelegram, us
65
65
  );
66
66
  return;
67
67
  }
68
- await (0, import_telegram.sendToTelegram)(
68
+ await (0, import_telegram.sendToTelegram)({
69
69
  user,
70
- "Cannot delete the Item",
71
- void 0,
72
- instanceTelegram,
70
+ textToSend: "Cannot delete the Item",
71
+ keyboard: void 0,
72
+ instance: instanceTelegram,
73
73
  resize_keyboard,
74
74
  one_time_keyboard,
75
75
  userListWithChatID,
76
- "true"
77
- );
76
+ parse_mode: "true"
77
+ });
78
78
  (0, import_logging.debug)([{ text: "Cannot delete the Item" }]);
79
79
  return;
80
80
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/shoppingList.ts"],
4
- "sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from './telegram-menu.js';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nasync function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let array, user, idList, instance, idItem, res;\n if (val != null) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await _this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n debug([{ text: 'alexa-shoppinglist.', val: idList }]);\n if (!isSubscribed) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n isSubscribed = true;\n }\n await _this.setForeignStateAsync(\n `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n true,\n false,\n );\n return;\n }\n await sendToTelegram(\n user,\n 'Cannot delete the Item',\n undefined,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n 'true',\n );\n debug([{ text: 'Cannot delete the Item' }]);\n return;\n }\n } catch (e: any) {\n error([\n { text: 'Error shoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nasync function deleteMessageAndSendNewShoppingList(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n userToSend: string,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n await deleteMessageIds(user, userListWithChatID, instanceTelegram, 'last');\n\n const result = await _this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result && result.val) {\n debug([{ text: 'Result from Shoppinglist:', val: result }]);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(result.val as string, null, newId, user);\n if (resultJson && resultJson.text && resultJson.keyboard) {\n sendToTelegramSubmenu(\n user,\n resultJson.text,\n resultJson.keyboard,\n instanceTelegram,\n userListWithChatID,\n 'true',\n );\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageAndSendNewShoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { shoppingListSubscribeStateAndDeleteItem, deleteMessageAndSendNewShoppingList };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAA2D;AAC3D,qBAA6B;AAC7B,kBAAyB;AAQzB,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAe,wCACX,KACA,kBACA,oBACA,iBACA,mBACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,QAAI,OAAO,MAAM;AACb,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,MAAM,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAEhG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,kCAAM,CAAC,EAAE,MAAM,uBAAuB,KAAK,OAAO,CAAC,CAAC;AACpD,YAAI,CAAC,cAAc;AACf,oBAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,yBAAe;AAAA,QACnB;AACA,cAAM,MAAM;AAAA,UACR,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA;AAAA,MACJ;AACA,gBAAM;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AACA,gCAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,CAAC;AAC1C;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,uBAAuB,KAAK,EAAE,QAAQ;AAAA,MAC9C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;AAEA,eAAe,oCACX,kBACA,oBACA,YACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,UAAM,OAAO;AACb,UAAM,SAAS,QAAQ,IAAI,EAAE;AAC7B,cAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,cAAM,oCAAiB,MAAM,oBAAoB,kBAAkB,MAAM;AAEzE,UAAM,SAAS,MAAM,MAAM,qBAAqB,sBAAsB,MAAM,EAAE;AAC9E,QAAI,UAAU,OAAO,KAAK;AACtB,gCAAM,CAAC,EAAE,MAAM,6BAA6B,KAAK,OAAO,CAAC,CAAC;AAC1D,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,YAAM,iBAAa,yCAAuB,OAAO,KAAe,MAAM,OAAO,IAAI;AACjF,UAAI,cAAc,WAAW,QAAQ,WAAW,UAAU;AACtD;AAAA,UACI;AAAA,UACA,WAAW;AAAA,UACX,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,8CAA8C,KAAK,EAAE,QAAQ;AAAA,MACrE,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
4
+ "sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from './telegram-menu.js';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nasync function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let array, user, idList, instance, idItem, res;\n if (val != null) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await _this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n debug([{ text: 'alexa-shoppinglist.', val: idList }]);\n if (!isSubscribed) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n isSubscribed = true;\n }\n await _this.setForeignStateAsync(\n `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n true,\n false,\n );\n return;\n }\n await sendToTelegram({\n user: user,\n textToSend: 'Cannot delete the Item',\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'true',\n });\n debug([{ text: 'Cannot delete the Item' }]);\n return;\n }\n } catch (e: any) {\n error([\n { text: 'Error shoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nasync function deleteMessageAndSendNewShoppingList(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n userToSend: string,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n await deleteMessageIds(user, userListWithChatID, instanceTelegram, 'last');\n\n const result = await _this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result && result.val) {\n debug([{ text: 'Result from Shoppinglist:', val: result }]);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(result.val as string, null, newId, user);\n if (resultJson && resultJson.text && resultJson.keyboard) {\n sendToTelegramSubmenu(\n user,\n resultJson.text,\n resultJson.keyboard,\n instanceTelegram,\n userListWithChatID,\n 'true',\n );\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageAndSendNewShoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { shoppingListSubscribeStateAndDeleteItem, deleteMessageAndSendNewShoppingList };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAA2D;AAC3D,qBAA6B;AAC7B,kBAAyB;AAQzB,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAe,wCACX,KACA,kBACA,oBACA,iBACA,mBACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,QAAI,OAAO,MAAM;AACb,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,MAAM,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAEhG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,kCAAM,CAAC,EAAE,MAAM,uBAAuB,KAAK,OAAO,CAAC,CAAC;AACpD,YAAI,CAAC,cAAc;AACf,oBAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,yBAAe;AAAA,QACnB;AACA,cAAM,MAAM;AAAA,UACR,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA;AAAA,MACJ;AACA,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAChB,CAAC;AACD,gCAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,CAAC;AAC1C;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,uBAAuB,KAAK,EAAE,QAAQ;AAAA,MAC9C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;AAEA,eAAe,oCACX,kBACA,oBACA,YACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,UAAM,OAAO;AACb,UAAM,SAAS,QAAQ,IAAI,EAAE;AAC7B,cAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,cAAM,oCAAiB,MAAM,oBAAoB,kBAAkB,MAAM;AAEzE,UAAM,SAAS,MAAM,MAAM,qBAAqB,sBAAsB,MAAM,EAAE;AAC9E,QAAI,UAAU,OAAO,KAAK;AACtB,gCAAM,CAAC,EAAE,MAAM,6BAA6B,KAAK,OAAO,CAAC,CAAC;AAC1D,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,YAAM,iBAAa,yCAAuB,OAAO,KAAe,MAAM,OAAO,IAAI;AACjF,UAAI,cAAc,WAAW,QAAQ,WAAW,UAAU;AACtD;AAAA,UACI;AAAA,UACA,WAAW;AAAA,UACX,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,8CAA8C,KAAK,EAAE,QAAQ;AAAA,MACrE,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": ["TelegramMenu"]
7
7
  }
@@ -31,17 +31,14 @@ var import_messageIds = require("./messageIds");
31
31
  var import_dynamicSwitch = require("./dynamicSwitch");
32
32
  var import_logging = require("./logging");
33
33
  var import_console = require("console");
34
+ var import_global = require("./global");
35
+ var import_main = require("../main");
34
36
  let step = 0;
35
37
  let returnIDToListenTo = [];
36
38
  let splittedData = [];
37
- const splitText = (obj) => {
38
- let splittedText;
39
- if (obj.calledValue.includes('"')) {
40
- splittedText = obj.calledValue.split(`"`)[1].split(":");
41
- } else {
42
- splittedText = obj.calledValue.split(":");
43
- }
44
- return { callbackData: splittedText[1], device: splittedText[2], val: splittedText[3] };
39
+ const getMenuValues = (obj) => {
40
+ const splitText = obj[0].split(":");
41
+ return { callbackData: splitText[1], device: splitText[2], val: splitText[3] };
45
42
  };
46
43
  const deleteMessages = async (obj) => {
47
44
  const navToGoBack = obj.device2Switch;
@@ -102,11 +99,11 @@ const createSubmenuPercent = (obj) => {
102
99
  if (rowEntries != 0) {
103
100
  keyboard.inline_keyboard.push(menu);
104
101
  }
105
- return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };
102
+ return { text: obj.text, keyboard, device: device2Switch };
106
103
  };
107
104
  const setFirstMenuValue = async (obj) => {
108
105
  let val;
109
- (0, import_logging.debug)([{ text: "SplittedData:", val: splittedData }]);
106
+ (0, import_logging.debug)([{ text: "SplitData:", val: splittedData }]);
110
107
  if (splittedData[1].split(".")[1] == "false") {
111
108
  val = false;
112
109
  } else if (splittedData[1].split(".")[1] == "true") {
@@ -214,26 +211,30 @@ const createSubmenuNumber = (obj) => {
214
211
  if (rowEntries != 0) {
215
212
  keyboard.inline_keyboard.push(menu);
216
213
  }
217
- (0, import_logging.debug)([{ text: "keyboard:", val: keyboard.inline_keyboard }]);
218
- return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };
214
+ (0, import_logging.debug)([{ text: "keyboard:", val: keyboard }]);
215
+ return { text: obj.text, keyboard, device: device2Switch };
219
216
  };
220
- const createSwitchMenu = (obj) => {
221
- splittedData = obj.callbackData.split("-");
217
+ const createSwitchMenu = ({
218
+ device2Switch,
219
+ callbackData,
220
+ text
221
+ }) => {
222
+ splittedData = callbackData.split("-");
222
223
  const keyboard = {
223
224
  inline_keyboard: [
224
225
  [
225
226
  {
226
227
  text: splittedData[1].split(".")[0],
227
- callback_data: `menu:first:${obj.device2Switch}`
228
+ callback_data: `menu:first:${device2Switch}`
228
229
  },
229
230
  {
230
231
  text: splittedData[2].split(".")[0],
231
- callback_data: `menu:second:${obj.device2Switch}`
232
+ callback_data: `menu:second:${device2Switch}`
232
233
  }
233
234
  ]
234
235
  ]
235
236
  };
236
- return { text: obj.text, keyboard: JSON.stringify(keyboard), device: obj.device2Switch };
237
+ return { text, keyboard, device: device2Switch };
237
238
  };
238
239
  const setValueForSubmenuPercent = async (obj) => {
239
240
  const value = parseInt(obj.calledValue.split(":")[1].split(",")[1]);
@@ -274,24 +275,22 @@ const setValueForSubmenuNumber = async (obj) => {
274
275
  const back = async (obj) => {
275
276
  const result = await (0, import_backMenu.switchBack)(obj.userToSend, obj.allMenusWithData, obj.menus);
276
277
  if (result) {
277
- await (0, import_telegram.sendToTelegram)(
278
- obj.userToSend,
279
- result.texttosend,
280
- result.menuToSend,
281
- obj.instanceTelegram,
282
- obj.resize_keyboard,
283
- obj.one_time_keyboard,
284
- obj.userListWithChatID,
285
- result.parseMode
286
- );
278
+ await (0, import_telegram.sendToTelegram)({
279
+ user: obj.userToSend,
280
+ textToSend: result.texttosend,
281
+ keyboard: result.menuToSend,
282
+ instance: obj.instanceTelegram,
283
+ resize_keyboard: obj.resize_keyboard,
284
+ one_time_keyboard: obj.one_time_keyboard,
285
+ userListWithChatID: obj.userListWithChatID,
286
+ parse_mode: result.parseMode
287
+ });
287
288
  }
288
289
  };
289
- async function callSubMenu(calledValue, newObjectNavStructure, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo) {
290
+ async function callSubMenu(jsonStringNav, newObjectNavStructure, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo, navObj) {
290
291
  try {
291
- (0, import_logging.debug)([{ text: "Type of:", val: typeof calledValue }]);
292
- const obj = await subMenu(
293
- calledValue,
294
- newObjectNavStructure,
292
+ const obj = await subMenu({
293
+ jsonStringNav,
295
294
  userToSend,
296
295
  instanceTelegram,
297
296
  resize_keyboard,
@@ -299,14 +298,18 @@ async function callSubMenu(calledValue, newObjectNavStructure, userToSend, insta
299
298
  userListWithChatID,
300
299
  part,
301
300
  allMenusWithData,
302
- menus
303
- );
304
- (0, import_logging.debug)([{ text: "Submenu data:", val: obj }]);
301
+ menus,
302
+ navObj
303
+ });
304
+ (0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.text }]);
305
+ (0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.keyboard }]);
306
+ (0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.device }]);
307
+ (0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.navToGoBack }]);
305
308
  if (obj == null ? void 0 : obj.returnIds) {
306
309
  setStateIdsToListenTo = obj.returnIds;
307
310
  await (0, import_subscribeStates._subscribeAndUnSubscribeForeignStatesAsync)({ array: obj.returnIds });
308
311
  }
309
- if (obj && typeof obj.text == "string" && obj.text && typeof obj.keyboard == "string") {
312
+ if ((obj == null ? void 0 : obj.text) && (obj == null ? void 0 : obj.keyboard)) {
310
313
  (0, import_telegram.sendToTelegramSubmenu)(
311
314
  userToSend,
312
315
  obj.text,
@@ -326,15 +329,29 @@ async function callSubMenu(calledValue, newObjectNavStructure, userToSend, insta
326
329
  });
327
330
  }
328
331
  }
329
- async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus) {
332
+ async function subMenu({
333
+ jsonStringNav,
334
+ userToSend,
335
+ instanceTelegram,
336
+ resize_keyboard,
337
+ one_time_keyboard,
338
+ userListWithChatID,
339
+ part,
340
+ allMenusWithData,
341
+ menus,
342
+ navObj
343
+ }) {
330
344
  try {
331
- (0, import_logging.debug)([{ text: "CalledValue:", val: calledValue }]);
345
+ import_main._this.log.debug(`Menu : ${navObj[0][0]}`);
332
346
  let text = "";
333
- if (part && part.text && part.text != "") {
347
+ if ((part == null ? void 0 : part.text) && part.text != "") {
334
348
  text = await (0, import_utilities.checkStatusInfo)(part.text);
335
349
  }
336
- const { callbackData, device, val } = splitText({ calledValue });
337
- const device2Switch = device;
350
+ const called = (0, import_global.parseJSON)(jsonStringNav);
351
+ if (!(called == null ? void 0 : called.length)) {
352
+ return;
353
+ }
354
+ const { callbackData, device: device2Switch, val } = getMenuValues(called[0]);
338
355
  if (callbackData.includes("delete")) {
339
356
  return await deleteMessages({
340
357
  userToSend,
@@ -364,7 +381,7 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
364
381
  userListWithChatID
365
382
  });
366
383
  } else if (callbackData.includes("dynSwitch")) {
367
- return (0, import_dynamicSwitch.dynamicSwitch)(calledValue, device2Switch, text);
384
+ return (0, import_dynamicSwitch.dynamicSwitch)(jsonStringNav, device2Switch, text);
368
385
  } else if (callbackData.includes("dynS")) {
369
386
  return await setDynamicValue({
370
387
  val,
@@ -375,12 +392,12 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
375
392
  userListWithChatID,
376
393
  part
377
394
  });
378
- } else if (!calledValue.includes("submenu") && callbackData.includes("percent")) {
395
+ } else if (!jsonStringNav.includes("submenu") && callbackData.includes("percent")) {
379
396
  return createSubmenuPercent({ callbackData, text, device2Switch });
380
- } else if (calledValue.includes(`submenu:percent${step}`)) {
397
+ } else if (jsonStringNav.includes(`submenu:percent${step}`)) {
381
398
  return await setValueForSubmenuPercent({
382
399
  callbackData,
383
- calledValue,
400
+ calledValue: jsonStringNav,
384
401
  userToSend,
385
402
  instanceTelegram,
386
403
  resize_keyboard,
@@ -390,12 +407,12 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
390
407
  allMenusWithData,
391
408
  menus
392
409
  });
393
- } else if (!calledValue.includes("submenu") && callbackData.includes("number")) {
410
+ } else if (!jsonStringNav.includes("submenu") && callbackData.includes("number")) {
394
411
  return createSubmenuNumber({ callbackData, text, device2Switch });
395
- } else if (calledValue.includes(`submenu:${callbackData}`)) {
412
+ } else if (jsonStringNav.includes(`submenu:${callbackData}`)) {
396
413
  const result = await setValueForSubmenuNumber({
397
414
  callbackData,
398
- calledValue,
415
+ calledValue: jsonStringNav,
399
416
  userToSend,
400
417
  instanceTelegram,
401
418
  resize_keyboard,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/subMenu.ts"],
4
- "sourcesContent": ["import { switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { deleteMessageIds } from './messageIds';\nimport { dynamicSwitch } from './dynamicSwitch';\nimport { debug } from './logging';\nimport { error } from 'console';\nimport type {\n SetStateIds,\n SplittedData,\n SplitText,\n DeleteMessageIds,\n SetDynamicValueType,\n CreateSubmenuPercent,\n ArrayOfEntriesDynamicSwitch,\n Keyboard,\n SetFirstMenuValue,\n SetSecondMenuValue,\n CreateSubmenuNumber,\n CreateSwitchMenu,\n SetValueForSubmenuPercent,\n SetValueForSubmenuNumber,\n BackMenuType,\n NewObjectNavStructure,\n UserListWithChatId,\n Part,\n} from './telegram-menu';\n\nlet step = 0;\nlet returnIDToListenTo: SetStateIds[] = [];\nlet splittedData: SplittedData = [];\n\nconst splitText = (obj: SplitText): { callbackData: string; device: string; val: string } => {\n let splittedText: string[];\n if (obj.calledValue.includes('\"')) {\n splittedText = obj.calledValue.split(`\"`)[1].split(':');\n } else {\n splittedText = obj.calledValue.split(':');\n }\n return { callbackData: splittedText[1], device: splittedText[2], val: splittedText[3] };\n};\n\nconst deleteMessages = async (obj: DeleteMessageIds): Promise<{ navToGoBack: string } | undefined> => {\n const navToGoBack = obj.device2Switch;\n if (obj.callbackData.includes('deleteAll')) {\n await deleteMessageIds(obj.userToSend, obj.userListWithChatID, obj.instanceTelegram, 'all');\n }\n if (navToGoBack && navToGoBack != '') {\n return { navToGoBack: navToGoBack };\n }\n return;\n};\n\nconst setDynamicValue = async (obj: SetDynamicValueType): Promise<{ returnIds: SetStateIds[] }> => {\n debug([{ text: 'SplittedData:', val: obj.val }]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n obj.val,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return {\n returnIds: returnIDToListenTo,\n };\n};\n\nconst createSubmenuPercent = (\n obj: CreateSubmenuPercent,\n): { text: string | undefined; keyboard: string; device: string } => {\n const callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n step = parseFloat(callbackData.replace('percent', ''));\n let rowEntries = 0;\n let menu: ArrayOfEntriesDynamicSwitch[] = [];\n const keyboard: Keyboard = {\n inline_keyboard: [],\n };\n for (let i = 100; i >= 0; i -= step) {\n menu.push({\n text: `${i}%`,\n callback_data: `submenu:percent${step},${i}:${device2Switch}`,\n });\n if (i != 0 && i - step < 0) {\n menu.push({\n text: `0%`,\n callback_data: `submenu:percent${step},${0}:${device2Switch}`,\n });\n }\n rowEntries++;\n if (rowEntries == 8) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };\n};\n\nconst setFirstMenuValue = async (obj: SetFirstMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n debug([{ text: 'SplittedData:', val: splittedData }]);\n if (splittedData[1].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[1].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[1].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setSecondMenuValue = async (obj: SetSecondMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n if (splittedData[2].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[2].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[2].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.one_time_keyboard,\n obj.resize_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst createSubmenuNumber = (\n obj: CreateSubmenuNumber,\n): { text: string | undefined; keyboard: string; device: string } => {\n let callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n\n if (callbackData.includes('(-)')) {\n callbackData = callbackData.replace('(-)', 'negativ');\n }\n const splittedData = callbackData.replace('number', '').split('-');\n let rowEntries = 0;\n let menu: { text: string; callback_data: string }[] = [];\n const keyboard = {\n inline_keyboard: [] as any[],\n };\n let unit = '';\n if (splittedData[3] != '') {\n unit = splittedData[3];\n }\n let start: number, end: number;\n const firstValueInText = parseFloat(\n splittedData[0].includes('negativ') ? splittedData[0].replace('negativ', '-') : splittedData[0],\n );\n const secondValueInText = parseFloat(\n splittedData[1].includes('negativ') ? splittedData[1].replace('negativ', '-') : splittedData[1],\n );\n\n if (firstValueInText < secondValueInText) {\n start = secondValueInText;\n end = firstValueInText;\n } else {\n start = firstValueInText;\n end = secondValueInText;\n }\n let index = -1;\n\n let maxEntriesPerRow = 8;\n const step = parseFloat(\n splittedData[2].includes('negativ') ? splittedData[2].replace('negativ', '-') : splittedData[2],\n );\n if (step < 1) {\n maxEntriesPerRow = 6;\n }\n\n for (let i = start; i >= end; i -= step) {\n // Zahlen umdrehen\n if (parseFloat(splittedData[0]) < parseFloat(splittedData[1])) {\n if (i === start) {\n index = end - step;\n }\n index = index + step;\n } else {\n index = i;\n }\n menu.push({\n text: `${index}${unit}`,\n callback_data: `submenu:${callbackData}:${device2Switch}:${index}`,\n });\n rowEntries++;\n if (rowEntries == maxEntriesPerRow) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n debug([{ text: 'keyboard:', val: keyboard.inline_keyboard }]);\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };\n};\n\nconst createSwitchMenu = (obj: CreateSwitchMenu): { text: string | undefined; keyboard: string; device: string } => {\n splittedData = obj.callbackData.split('-');\n const keyboard = {\n inline_keyboard: [\n [\n {\n text: splittedData[1].split('.')[0],\n callback_data: `menu:first:${obj.device2Switch}`,\n },\n {\n text: splittedData[2].split('.')[0],\n callback_data: `menu:second:${obj.device2Switch}`,\n },\n ],\n ],\n };\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: obj.device2Switch };\n};\n\nconst setValueForSubmenuPercent = async (obj: SetValueForSubmenuPercent): Promise<{ returnIds: SetStateIds[] }> => {\n const value = parseInt(obj.calledValue.split(':')[1].split(',')[1]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setValueForSubmenuNumber = async (\n obj: SetValueForSubmenuNumber,\n): Promise<{ returnIds: SetStateIds[]; device2Switch: string }> => {\n debug([{ text: 'CallbackData:', val: obj.callbackData }]);\n\n const value = parseFloat(obj.calledValue.split(':')[3]);\n const device2Switch = obj.calledValue.split(':')[2];\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo, device2Switch };\n};\n\nconst back = async (obj: BackMenuType): Promise<void> => {\n const result = await switchBack(obj.userToSend, obj.allMenusWithData, obj.menus);\n if (result) {\n await sendToTelegram(\n obj.userToSend,\n result.texttosend as string,\n result.menuToSend,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n result.parseMode,\n );\n }\n};\nasync function callSubMenu(\n calledValue: string,\n newObjectNavStructure: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n setStateIdsToListenTo: SetStateIds[] | null,\n): Promise<{ setStateIdsToListenTo: SetStateIds[] | null; newNav: string | undefined } | undefined> {\n try {\n debug([{ text: 'Type of:', val: typeof calledValue }]);\n const obj = await subMenu(\n calledValue,\n newObjectNavStructure,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n );\n debug([{ text: 'Submenu data:', val: obj }]);\n\n if (obj?.returnIds) {\n setStateIdsToListenTo = obj.returnIds;\n\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: obj.returnIds });\n }\n\n if (obj && typeof obj.text == 'string' && obj.text && typeof obj.keyboard == 'string') {\n sendToTelegramSubmenu(\n userToSend,\n obj.text,\n obj.keyboard,\n instanceTelegram,\n userListWithChatID,\n part.parse_mode || 'false',\n );\n }\n return { setStateIdsToListenTo: setStateIdsToListenTo, newNav: obj?.navToGoBack };\n } catch (e: any) {\n error({\n array: [\n { text: 'Error callSubMenu:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ],\n });\n }\n}\n\nasync function subMenu(\n calledValue: string,\n menuData: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n): Promise<\n { text?: string; keyboard?: string; device?: string; returnIds?: SetStateIds[]; navToGoBack?: string } | undefined\n> {\n try {\n debug([{ text: 'CalledValue:', val: calledValue }]);\n let text: string | undefined = '';\n if (part && part.text && part.text != '') {\n text = await checkStatusInfo(part.text);\n }\n const { callbackData, device, val } = splitText({ calledValue });\n const device2Switch = device;\n\n if (callbackData.includes('delete')) {\n return await deleteMessages({\n userToSend,\n userListWithChatID,\n instanceTelegram,\n device2Switch,\n callbackData,\n });\n } else if (callbackData.includes('switch')) {\n return createSwitchMenu({ callbackData, text, device2Switch });\n } else if (callbackData.includes('first')) {\n return await setFirstMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('second')) {\n return await setSecondMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('dynSwitch')) {\n return dynamicSwitch(calledValue, device2Switch, text as string);\n } else if (callbackData.includes('dynS')) {\n return await setDynamicValue({\n val,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n } else if (!calledValue.includes('submenu') && callbackData.includes('percent')) {\n return createSubmenuPercent({ callbackData, text, device2Switch });\n } else if (calledValue.includes(`submenu:percent${step}`)) {\n return await setValueForSubmenuPercent({\n callbackData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n });\n } else if (!calledValue.includes('submenu') && callbackData.includes('number')) {\n return createSubmenuNumber({ callbackData, text, device2Switch });\n } else if (calledValue.includes(`submenu:${callbackData}`)) {\n const result = await setValueForSubmenuNumber({\n callbackData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n // device2Switch = result.device2Switch;\n return result.returnIds ? { returnIds: result.returnIds } : undefined;\n } else if (callbackData === 'back') {\n await back({\n userToSend,\n allMenusWithData,\n menus,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n }\n return;\n } catch (error: any) {\n error([\n { text: 'Error subMenu:', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n}\n\nexport { subMenu, callSubMenu };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { deleteMessageIds } from './messageIds';\nimport { dynamicSwitch } from './dynamicSwitch';\nimport { debug } from './logging';\nimport { error } from 'console';\nimport type {\n SetStateIds,\n SplittedData,\n DeleteMessageIds,\n SetDynamicValueType,\n CreateSubmenuPercent,\n KeyboardItems,\n SetFirstMenuValue,\n SetSecondMenuValue,\n CreateSubmenuNumber,\n CreateSwitchMenu,\n SetValueForSubmenuPercent,\n SetValueForSubmenuNumber,\n BackMenuType,\n NewObjectNavStructure,\n UserListWithChatId,\n Part,\n NavPart,\n Keyboard,\n} from './telegram-menu';\nimport { parseJSON } from './global';\nimport { _this } from '../main';\n\nlet step = 0;\nlet returnIDToListenTo: SetStateIds[] = [];\nlet splittedData: SplittedData = [];\n\nconst getMenuValues = (obj: string[]): { callbackData: string; device: string; val: string } => {\n const splitText = obj[0].split(':');\n\n return { callbackData: splitText[1], device: splitText[2], val: splitText[3] };\n};\n\nconst deleteMessages = async (obj: DeleteMessageIds): Promise<{ navToGoBack: string } | undefined> => {\n const navToGoBack = obj.device2Switch;\n if (obj.callbackData.includes('deleteAll')) {\n await deleteMessageIds(obj.userToSend, obj.userListWithChatID, obj.instanceTelegram, 'all');\n }\n if (navToGoBack && navToGoBack != '') {\n return { navToGoBack: navToGoBack };\n }\n return;\n};\n\nconst setDynamicValue = async (obj: SetDynamicValueType): Promise<{ returnIds: SetStateIds[] }> => {\n debug([{ text: 'SplittedData:', val: obj.val }]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n obj.val,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return {\n returnIds: returnIDToListenTo,\n };\n};\n\nconst createSubmenuPercent = (\n obj: CreateSubmenuPercent,\n): { text: string | undefined; keyboard: Keyboard; device: string } => {\n const callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n step = parseFloat(callbackData.replace('percent', ''));\n let rowEntries = 0;\n let menu: KeyboardItems[] = [];\n const keyboard: Keyboard = {\n inline_keyboard: [],\n };\n for (let i = 100; i >= 0; i -= step) {\n menu.push({\n text: `${i}%`,\n callback_data: `submenu:percent${step},${i}:${device2Switch}`,\n });\n if (i != 0 && i - step < 0) {\n menu.push({\n text: `0%`,\n callback_data: `submenu:percent${step},${0}:${device2Switch}`,\n });\n }\n rowEntries++;\n if (rowEntries == 8) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n return { text: obj.text, keyboard: keyboard, device: device2Switch };\n};\n\nconst setFirstMenuValue = async (obj: SetFirstMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n debug([{ text: 'SplitData:', val: splittedData }]);\n if (splittedData[1].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[1].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[1].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setSecondMenuValue = async (obj: SetSecondMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n if (splittedData[2].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[2].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[2].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.one_time_keyboard,\n obj.resize_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst createSubmenuNumber = (\n obj: CreateSubmenuNumber,\n): { text: string | undefined; keyboard: Keyboard; device: string } => {\n let callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n\n if (callbackData.includes('(-)')) {\n callbackData = callbackData.replace('(-)', 'negativ');\n }\n const splittedData = callbackData.replace('number', '').split('-');\n let rowEntries = 0;\n let menu: { text: string; callback_data: string }[] = [];\n const keyboard = {\n inline_keyboard: [] as any[],\n };\n let unit = '';\n if (splittedData[3] != '') {\n unit = splittedData[3];\n }\n let start: number, end: number;\n const firstValueInText = parseFloat(\n splittedData[0].includes('negativ') ? splittedData[0].replace('negativ', '-') : splittedData[0],\n );\n const secondValueInText = parseFloat(\n splittedData[1].includes('negativ') ? splittedData[1].replace('negativ', '-') : splittedData[1],\n );\n\n if (firstValueInText < secondValueInText) {\n start = secondValueInText;\n end = firstValueInText;\n } else {\n start = firstValueInText;\n end = secondValueInText;\n }\n let index = -1;\n\n let maxEntriesPerRow = 8;\n const step = parseFloat(\n splittedData[2].includes('negativ') ? splittedData[2].replace('negativ', '-') : splittedData[2],\n );\n if (step < 1) {\n maxEntriesPerRow = 6;\n }\n\n for (let i = start; i >= end; i -= step) {\n // Zahlen umdrehen\n if (parseFloat(splittedData[0]) < parseFloat(splittedData[1])) {\n if (i === start) {\n index = end - step;\n }\n index = index + step;\n } else {\n index = i;\n }\n menu.push({\n text: `${index}${unit}`,\n callback_data: `submenu:${callbackData}:${device2Switch}:${index}`,\n });\n rowEntries++;\n if (rowEntries == maxEntriesPerRow) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n debug([{ text: 'keyboard:', val: keyboard }]);\n return { text: obj.text, keyboard, device: device2Switch };\n};\n\nconst createSwitchMenu = ({\n device2Switch,\n callbackData,\n text,\n}: CreateSwitchMenu): { text?: string; keyboard: Keyboard; device: string } => {\n splittedData = callbackData.split('-');\n const keyboard = {\n inline_keyboard: [\n [\n {\n text: splittedData[1].split('.')[0],\n callback_data: `menu:first:${device2Switch}`,\n },\n {\n text: splittedData[2].split('.')[0],\n callback_data: `menu:second:${device2Switch}`,\n },\n ],\n ],\n };\n return { text: text, keyboard, device: device2Switch };\n};\n\nconst setValueForSubmenuPercent = async (obj: SetValueForSubmenuPercent): Promise<{ returnIds: SetStateIds[] }> => {\n const value = parseInt(obj.calledValue.split(':')[1].split(',')[1]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setValueForSubmenuNumber = async (\n obj: SetValueForSubmenuNumber,\n): Promise<{ returnIds: SetStateIds[]; device2Switch: string }> => {\n debug([{ text: 'CallbackData:', val: obj.callbackData }]);\n\n const value = parseFloat(obj.calledValue.split(':')[3]);\n const device2Switch = obj.calledValue.split(':')[2];\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo, device2Switch };\n};\n\nconst back = async (obj: BackMenuType): Promise<void> => {\n const result = await switchBack(obj.userToSend, obj.allMenusWithData, obj.menus);\n if (result) {\n await sendToTelegram({\n user: obj.userToSend,\n textToSend: result.texttosend as string,\n keyboard: result.menuToSend,\n instance: obj.instanceTelegram,\n resize_keyboard: obj.resize_keyboard,\n one_time_keyboard: obj.one_time_keyboard,\n userListWithChatID: obj.userListWithChatID,\n parse_mode: result.parseMode,\n });\n }\n};\nasync function callSubMenu(\n jsonStringNav: string,\n newObjectNavStructure: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n setStateIdsToListenTo: SetStateIds[] | null,\n navObj: NavPart,\n): Promise<{ setStateIdsToListenTo: SetStateIds[] | null; newNav: string | undefined } | undefined> {\n try {\n const obj = await subMenu({\n jsonStringNav: jsonStringNav,\n userToSend: userToSend,\n instanceTelegram: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n part,\n allMenusWithData: allMenusWithData,\n menus,\n navObj,\n });\n debug([{ text: 'Submenu data:', val: obj?.text }]);\n debug([{ text: 'Submenu data:', val: obj?.keyboard }]);\n debug([{ text: 'Submenu data:', val: obj?.device }]);\n debug([{ text: 'Submenu data:', val: obj?.navToGoBack }]);\n\n if (obj?.returnIds) {\n setStateIdsToListenTo = obj.returnIds;\n\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: obj.returnIds });\n }\n\n if (obj?.text && obj?.keyboard) {\n sendToTelegramSubmenu(\n userToSend,\n obj.text,\n obj.keyboard,\n instanceTelegram,\n userListWithChatID,\n part.parse_mode || 'false',\n );\n }\n return { setStateIdsToListenTo: setStateIdsToListenTo, newNav: obj?.navToGoBack };\n } catch (e: any) {\n error({\n array: [\n { text: 'Error callSubMenu:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ],\n });\n }\n}\n\nasync function subMenu({\n jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n navObj,\n}: {\n jsonStringNav: string;\n userToSend: string;\n instanceTelegram: string;\n resize_keyboard: boolean;\n one_time_keyboard: boolean;\n userListWithChatID: UserListWithChatId[];\n part: Part;\n allMenusWithData: { [p: string]: NewObjectNavStructure };\n menus: string[];\n navObj: NavPart;\n}): Promise<\n { text?: string; keyboard?: Keyboard; device?: string; returnIds?: SetStateIds[]; navToGoBack?: string } | undefined\n> {\n try {\n _this.log.debug(`Menu : ${navObj[0][0]}`);\n\n let text: string | undefined = '';\n if (part?.text && part.text != '') {\n text = await checkStatusInfo(part.text);\n }\n\n const called = parseJSON<NavPart>(jsonStringNav);\n if (!called?.length) {\n return;\n }\n const { callbackData, device: device2Switch, val } = getMenuValues(called[0]);\n\n if (callbackData.includes('delete')) {\n return await deleteMessages({\n userToSend,\n userListWithChatID,\n instanceTelegram,\n device2Switch,\n callbackData,\n });\n } else if (callbackData.includes('switch')) {\n return createSwitchMenu({ callbackData, text, device2Switch });\n } else if (callbackData.includes('first')) {\n return await setFirstMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('second')) {\n return await setSecondMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('dynSwitch')) {\n return dynamicSwitch(jsonStringNav, device2Switch, text as string);\n } else if (callbackData.includes('dynS')) {\n return await setDynamicValue({\n val,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n } else if (!jsonStringNav.includes('submenu') && callbackData.includes('percent')) {\n return createSubmenuPercent({ callbackData, text, device2Switch });\n } else if (jsonStringNav.includes(`submenu:percent${step}`)) {\n return await setValueForSubmenuPercent({\n callbackData,\n calledValue: jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n });\n } else if (!jsonStringNav.includes('submenu') && callbackData.includes('number')) {\n return createSubmenuNumber({ callbackData, text, device2Switch });\n } else if (jsonStringNav.includes(`submenu:${callbackData}`)) {\n const result = await setValueForSubmenuNumber({\n callbackData,\n calledValue: jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n // device2Switch = result.device2Switch;\n return result.returnIds ? { returnIds: result.returnIds } : undefined;\n } else if (callbackData === 'back') {\n await back({\n userToSend,\n allMenusWithData,\n menus,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n }\n return;\n } catch (error: any) {\n error([\n { text: 'Error subMenu:', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n}\n\nexport { subMenu, callSubMenu };\n"],
5
+ "mappings": "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",
6
6
  "names": ["splittedData", "step", "error"]
7
7
  }
@@ -37,7 +37,16 @@ var import_logging = require("./logging");
37
37
  var import_utilities = require("./utilities");
38
38
  var import_main = __toESM(require("../main"));
39
39
  var import_global = require("./global");
40
- async function sendToTelegram(user = "", textToSend, keyboard = [], instance = "telegram.0", resize_keyboard = true, one_time_keyboard = true, userListWithChatID, parse_mode) {
40
+ async function sendToTelegram({
41
+ user = "",
42
+ textToSend,
43
+ keyboard,
44
+ instance = "telegram.0",
45
+ resize_keyboard = true,
46
+ one_time_keyboard = true,
47
+ userListWithChatID,
48
+ parse_mode
49
+ }) {
41
50
  try {
42
51
  const _this = import_main.default.getInstance();
43
52
  const chatId = (0, import_utilities.getChatID)(userListWithChatID, user);
@@ -51,7 +60,7 @@ async function sendToTelegram(user = "", textToSend, keyboard = [], instance = "
51
60
  { text: "ParseModeType:", val: parse_modeType }
52
61
  ]);
53
62
  textToSend = (0, import_utilities.newLine)(textToSend);
54
- if (keyboard.length == 0) {
63
+ if (!keyboard) {
55
64
  _this.log.debug("No Keyboard");
56
65
  _this.sendTo(
57
66
  instance,