iobroker.telegram-menu 2.2.4 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/README.md +12 -0
  2. package/admin/build/index.js +49 -49
  3. package/admin/build/index.js.map +3 -3
  4. package/admin/css/button.css +3 -0
  5. package/admin/css/row-editor.css +1 -1
  6. package/admin/css/style.css +46 -25
  7. package/admin/css/textarea.css +7 -11
  8. package/admin/i18n/de/translations.json +124 -123
  9. package/admin/i18n/en/translations.json +3 -2
  10. package/admin/i18n/es/translations.json +3 -2
  11. package/admin/i18n/fr/translations.json +3 -2
  12. package/admin/i18n/it/translations.json +3 -2
  13. package/admin/i18n/nl/translations.json +3 -2
  14. package/admin/i18n/pl/translations.json +3 -2
  15. package/admin/i18n/pt/translations.json +3 -2
  16. package/admin/i18n/ru/translations.json +3 -2
  17. package/admin/i18n/uk/translations.json +3 -2
  18. package/admin/i18n/zh-cn/translations.json +3 -2
  19. package/admin/words.js +3 -1
  20. package/build/admin/src/config/helper.js +178 -0
  21. package/build/admin/src/config/helper.js.map +1 -0
  22. package/build/admin/src/lib/Utils.js +64 -0
  23. package/build/admin/src/lib/Utils.js.map +1 -0
  24. package/build/admin/src/types/event.js +3 -0
  25. package/build/admin/src/types/event.js.map +1 -0
  26. package/build/app/action.js +270 -0
  27. package/build/app/action.js.map +7 -0
  28. package/build/app/adapterManager.js +36 -0
  29. package/build/app/adapterManager.js.map +7 -0
  30. package/build/app/adapterStartMenuSend.js +59 -0
  31. package/build/app/adapterStartMenuSend.js.map +7 -0
  32. package/build/app/backMenu.js +110 -0
  33. package/build/app/backMenu.js.map +7 -0
  34. package/build/app/botAction.js +47 -0
  35. package/build/app/botAction.js.map +7 -0
  36. package/build/app/configVariables.js +56 -0
  37. package/build/app/configVariables.js.map +7 -0
  38. package/build/app/connection.js +42 -0
  39. package/build/app/connection.js.map +7 -0
  40. package/build/app/createState.js +42 -0
  41. package/build/app/createState.js.map +7 -0
  42. package/build/app/dynamicSwitch.js +69 -0
  43. package/build/app/dynamicSwitch.js.map +7 -0
  44. package/build/app/dynamicSwitchMenu.js +69 -0
  45. package/build/app/dynamicSwitchMenu.js.map +7 -0
  46. package/build/app/dynamicValue.js +80 -0
  47. package/build/app/dynamicValue.js.map +7 -0
  48. package/build/app/echarts.js +60 -0
  49. package/build/app/echarts.js.map +7 -0
  50. package/build/app/getstate.js +148 -0
  51. package/build/app/getstate.js.map +7 -0
  52. package/build/app/global.js +2 -0
  53. package/build/app/global.js.map +7 -0
  54. package/build/app/httpRequest.js +84 -0
  55. package/build/app/httpRequest.js.map +7 -0
  56. package/build/app/jsonTable.js +158 -0
  57. package/build/app/jsonTable.js.map +7 -0
  58. package/build/app/logging.js +46 -0
  59. package/build/app/logging.js.map +7 -0
  60. package/build/app/messageIds.js +116 -0
  61. package/build/app/messageIds.js.map +7 -0
  62. package/build/app/processData.js +198 -0
  63. package/build/app/processData.js.map +7 -0
  64. package/build/app/sendNav.js +49 -0
  65. package/build/app/sendNav.js.map +7 -0
  66. package/build/app/sendpic.js +95 -0
  67. package/build/app/sendpic.js.map +7 -0
  68. package/build/app/sentry.js +43 -0
  69. package/build/app/sentry.js.map +7 -0
  70. package/build/app/setStateIdsToListenTo.js +42 -0
  71. package/build/app/setStateIdsToListenTo.js.map +7 -0
  72. package/build/app/setstate.js +145 -0
  73. package/build/app/setstate.js.map +7 -0
  74. package/build/app/shoppingList.js +97 -0
  75. package/build/app/shoppingList.js.map +7 -0
  76. package/build/app/subMenu.js +281 -0
  77. package/build/app/subMenu.js.map +7 -0
  78. package/build/app/subscribeStates.js +41 -0
  79. package/build/app/subscribeStates.js.map +7 -0
  80. package/build/app/telegram.js +131 -0
  81. package/build/app/telegram.js.map +7 -0
  82. package/build/app/validateMenus.js +64 -0
  83. package/build/app/validateMenus.js.map +7 -0
  84. package/build/build/src/app/action.js +447 -0
  85. package/build/build/src/app/adapterStartMenuSend.js +37 -0
  86. package/build/build/src/app/backMenu.js +70 -0
  87. package/build/build/src/app/botAction.js +25 -0
  88. package/build/build/src/app/connection.js +19 -0
  89. package/build/build/src/app/createState.js +19 -0
  90. package/build/build/src/app/dynamicSwitch.js +51 -0
  91. package/build/build/src/app/dynamicValue.js +64 -0
  92. package/build/build/src/app/echarts.js +45 -0
  93. package/build/build/src/app/getstate.js +157 -0
  94. package/build/build/src/app/global.js +59 -0
  95. package/build/build/src/app/httpRequest.js +64 -0
  96. package/build/build/src/app/jsonTable.js +147 -0
  97. package/build/build/src/app/logging.js +13 -0
  98. package/build/build/src/app/messageIds.js +88 -0
  99. package/build/build/src/app/processData.js +208 -0
  100. package/build/build/src/app/sendNav.js +30 -0
  101. package/build/build/src/app/sendpic.js +69 -0
  102. package/build/build/src/app/setstate.js +126 -0
  103. package/build/build/src/app/shoppingList.js +72 -0
  104. package/build/build/src/app/subMenu.js +361 -0
  105. package/build/build/src/app/subscribeStates.js +25 -0
  106. package/build/build/src/app/telegram.js +101 -0
  107. package/build/build/src/lib/string.js +28 -0
  108. package/build/build/src/lib/time.js +23 -0
  109. package/build/build/src/lib/utilities.js +263 -0
  110. package/build/build/src/lib/utils.js +13 -0
  111. package/build/build/src/main.js +402 -0
  112. package/build/config/config.js +134 -0
  113. package/build/config/config.js.map +7 -0
  114. package/build/io-package.json +87 -87
  115. package/build/lib/action.js +1 -3
  116. package/build/lib/action.js.map +2 -2
  117. package/build/lib/adapterStartMenuSend.js.map +1 -1
  118. package/build/lib/appUtils.js +158 -0
  119. package/build/lib/appUtils.js.map +7 -0
  120. package/build/lib/appUtilsString.js +37 -0
  121. package/build/lib/appUtilsString.js.map +7 -0
  122. package/build/lib/backMenu.js.map +2 -2
  123. package/build/lib/botAction.js.map +1 -1
  124. package/build/lib/dynamicSwitch.js.map +1 -1
  125. package/build/lib/dynamicValue.js.map +1 -1
  126. package/build/lib/echarts.js.map +1 -1
  127. package/build/lib/getstate.js.map +1 -1
  128. package/build/lib/global.js.map +1 -1
  129. package/build/lib/httpRequest.js.map +1 -1
  130. package/build/lib/json.js +54 -0
  131. package/build/lib/json.js.map +7 -0
  132. package/build/lib/jsonTable.js.map +1 -1
  133. package/build/lib/math.js +41 -0
  134. package/build/lib/math.js.map +7 -0
  135. package/build/lib/messageIds.js.map +1 -1
  136. package/build/lib/object.js +35 -0
  137. package/build/lib/object.js.map +7 -0
  138. package/build/lib/processData.js +4 -18
  139. package/build/lib/processData.js.map +3 -3
  140. package/build/lib/sendNav.js.map +1 -1
  141. package/build/lib/sendpic.js +23 -22
  142. package/build/lib/sendpic.js.map +2 -2
  143. package/build/lib/setstate.js.map +1 -1
  144. package/build/lib/shoppingList.js.map +1 -1
  145. package/build/lib/splitValues.js +63 -0
  146. package/build/lib/splitValues.js.map +7 -0
  147. package/build/lib/string.js +125 -3
  148. package/build/lib/string.js.map +2 -2
  149. package/build/lib/subMenu.js +1 -2
  150. package/build/lib/subMenu.js.map +2 -2
  151. package/build/lib/subscribeStates.js.map +1 -1
  152. package/build/lib/telegram.js.map +1 -1
  153. package/build/lib/time.js +93 -0
  154. package/build/lib/time.js.map +7 -0
  155. package/build/lib/utilities.js +84 -281
  156. package/build/lib/utilities.js.map +3 -3
  157. package/build/lib/utils.js +66 -0
  158. package/build/lib/utils.js.map +7 -0
  159. package/build/main.js +151 -233
  160. package/build/main.js.map +3 -3
  161. package/build/src/app/action.js +239 -0
  162. package/build/src/app/action.js.map +1 -0
  163. package/build/src/app/adapterManager.js +12 -0
  164. package/build/src/app/adapterManager.js.map +1 -0
  165. package/build/src/app/adapterStartMenuSend.js +36 -0
  166. package/build/src/app/adapterStartMenuSend.js.map +1 -0
  167. package/build/src/app/backMenu.js +81 -0
  168. package/build/src/app/backMenu.js.map +1 -0
  169. package/build/src/app/botAction.js +25 -0
  170. package/build/src/app/botAction.js.map +1 -0
  171. package/build/src/app/configVariables.js +32 -0
  172. package/build/src/app/configVariables.js.map +1 -0
  173. package/build/src/app/connection.js +20 -0
  174. package/build/src/app/connection.js.map +1 -0
  175. package/build/src/app/createState.js +19 -0
  176. package/build/src/app/createState.js.map +1 -0
  177. package/build/src/app/dynamicSwitch.js +52 -0
  178. package/build/src/app/dynamicSwitch.js.map +1 -0
  179. package/build/src/app/dynamicSwitchMenu.js +52 -0
  180. package/build/src/app/dynamicSwitchMenu.js.map +1 -0
  181. package/build/src/app/dynamicValue.js +52 -0
  182. package/build/src/app/dynamicValue.js.map +1 -0
  183. package/build/src/app/echarts.js +33 -0
  184. package/build/src/app/echarts.js.map +1 -0
  185. package/build/src/app/getstate.js +122 -0
  186. package/build/src/app/getstate.js.map +1 -0
  187. package/build/src/app/global.js +8 -0
  188. package/build/src/app/global.js.map +1 -0
  189. package/build/src/app/httpRequest.js +55 -0
  190. package/build/src/app/httpRequest.js.map +1 -0
  191. package/build/src/app/jsonTable.js +147 -0
  192. package/build/src/app/jsonTable.js.map +1 -0
  193. package/build/src/app/logging.js +22 -0
  194. package/build/src/app/logging.js.map +1 -0
  195. package/build/src/app/messageIds.js +89 -0
  196. package/build/src/app/messageIds.js.map +1 -0
  197. package/build/src/app/processData.js +153 -0
  198. package/build/src/app/processData.js.map +1 -0
  199. package/build/src/app/sendNav.js +26 -0
  200. package/build/src/app/sendNav.js.map +1 -0
  201. package/build/src/app/sendpic.js +66 -0
  202. package/build/src/app/sendpic.js.map +1 -0
  203. package/build/src/app/sentry.js +18 -0
  204. package/build/src/app/sentry.js.map +1 -0
  205. package/build/src/app/setStateIdsToListenTo.js +17 -0
  206. package/build/src/app/setStateIdsToListenTo.js.map +1 -0
  207. package/build/src/app/setstate.js +114 -0
  208. package/build/src/app/setstate.js.map +1 -0
  209. package/build/src/app/shoppingList.js +74 -0
  210. package/build/src/app/shoppingList.js.map +1 -0
  211. package/build/src/app/subMenu.js +237 -0
  212. package/build/src/app/subMenu.js.map +1 -0
  213. package/build/src/app/subscribeStates.js +17 -0
  214. package/build/src/app/subscribeStates.js.map +1 -0
  215. package/build/src/app/telegram.js +83 -0
  216. package/build/src/app/telegram.js.map +1 -0
  217. package/build/src/app/validateMenus.js +30 -0
  218. package/build/src/app/validateMenus.js.map +1 -0
  219. package/build/src/config/config.js +100 -0
  220. package/build/src/config/config.js.map +1 -0
  221. package/build/src/lib/appUtils.js +126 -0
  222. package/build/src/lib/appUtils.js.map +1 -0
  223. package/build/src/lib/appUtilsString.js +13 -0
  224. package/build/src/lib/appUtilsString.js.map +1 -0
  225. package/build/src/lib/json.js +37 -0
  226. package/build/src/lib/json.js.map +1 -0
  227. package/build/src/lib/math.js +17 -0
  228. package/build/src/lib/math.js.map +1 -0
  229. package/build/src/lib/object.js +10 -0
  230. package/build/src/lib/object.js.map +1 -0
  231. package/build/src/lib/splitValues.js +35 -0
  232. package/build/src/lib/splitValues.js.map +1 -0
  233. package/build/src/lib/string.js +121 -0
  234. package/build/src/lib/string.js.map +1 -0
  235. package/build/src/lib/time.js +57 -0
  236. package/build/src/lib/time.js.map +1 -0
  237. package/build/src/lib/utilities.js +111 -0
  238. package/build/src/lib/utilities.js.map +1 -0
  239. package/build/src/lib/utils.js +37 -0
  240. package/build/src/lib/utils.js.map +1 -0
  241. package/build/src/main.js +332 -0
  242. package/build/src/main.js.map +1 -0
  243. package/build/src/test/setup.js +12 -0
  244. package/build/src/test/setup.js.map +1 -0
  245. package/build/src/types/types.js +3 -0
  246. package/build/src/types/types.js.map +1 -0
  247. package/build/test/integration.js +0 -1
  248. package/build/test/integration.js.map +1 -1
  249. package/build/test/mocha.setup.js +0 -1
  250. package/build/test/mocha.setup.js.map +1 -1
  251. package/build/test/package.js +0 -1
  252. package/build/test/package.js.map +1 -1
  253. package/build/test/setup.js +12 -0
  254. package/build/test/setup.js.map +1 -0
  255. package/build/test/test/appUtils.test.js +507 -0
  256. package/build/test/test/appUtils.test.js.map +1 -0
  257. package/build/test/test/appUtilsString.test.js +16 -0
  258. package/build/test/test/appUtilsString.test.js.map +1 -0
  259. package/build/test/test/math.test.js +33 -0
  260. package/build/test/test/math.test.js.map +1 -0
  261. package/build/test/test/object.test.js +54 -0
  262. package/build/test/test/object.test.js.map +1 -0
  263. package/build/test/test/string.test.js +361 -0
  264. package/build/test/test/string.test.js.map +1 -0
  265. package/build/test/test/time.test.js +201 -0
  266. package/build/test/test/time.test.js.map +1 -0
  267. package/build/test/test/utils.test.js +115 -0
  268. package/build/test/test/utils.test.js.map +1 -0
  269. package/build/types/types.js +15 -0
  270. package/build/types/types.js.map +3 -3
  271. package/io-package.json +19 -14
  272. package/package.json +14 -10
  273. package/build/main.test.js +0 -24
  274. package/build/main.test.js.map +0 -1
package/build/main.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/main.ts"],
4
- "sourcesContent": ["'use strict';\n/*\n * Created with @iobroker/create-adapter v2.3.0\n */\n\n// The adapter-core module gives you access to the core ioBroker functions\n// you need to create an adapter\nimport * as utils from '@iobroker/adapter-core';\n\nimport {\n checkEvent,\n editArrayButtons,\n exchangePlaceholderWithValue,\n generateActions,\n generateNewObjectStructure,\n getMenusWithUserToSend,\n getUserToSendFromUserListWithChatID,\n} from './lib/action.js';\nimport { _subscribeForeignStatesAsync } from './lib/subscribeStates.js';\nimport { sendToTelegram } from './lib/telegram.js';\nimport { changeValue, decomposeText } from './lib/utilities.js';\nimport { createState } from './lib/createState.js';\nimport { saveMessageIds } from './lib/messageIds.js';\nimport { adapterStartMenuSend } from './lib/adapterStartMenuSend.js';\nimport { checkEveryMenuForData, getStateIdsToListenTo, getTimeouts } from './lib/processData.js';\nimport { deleteMessageAndSendNewShoppingList, shoppingListSubscribeStateAndDeleteItem } from './lib/shoppingList.js';\nimport { debug, error } from './lib/logging.js';\n\nimport type {\n Checkboxes,\n DataObject,\n GeneratedActions,\n IsUserActiveCheckbox,\n ListOfMenus,\n MenuData,\n MenusWithUsers,\n NewObjectNavStructureKey,\n SetStateIds,\n StartSides,\n UserListWithChatId,\n} from './lib/telegram-menu.js';\nimport type { BooleanString } from '@/types/app.js';\nimport { checkIsTelegramActive } from './lib/connection.js';\nimport { isDefined, isFalsy, isString } from './lib/global';\n\nconst timeoutKey = '0';\nlet subscribeForeignStateIds: string[];\nexport let _this: TelegramMenu;\n\nexport default class TelegramMenu extends utils.Adapter {\n private static instance: TelegramMenu;\n\n /**\n * @param [options] - Adapter options\n */\n public constructor(options: Partial<utils.AdapterOptions> = {}) {\n super({\n ...options,\n name: 'telegram-menu',\n });\n this.on('ready', this.onReady.bind(this));\n this.on('unload', this.onUnload.bind(this));\n TelegramMenu.instance = this;\n }\n\n public static getInstance(): TelegramMenu {\n return TelegramMenu.instance;\n }\n\n private async onReady(): Promise<void> {\n _this = this;\n await this.setState('info.connection', false, true);\n await createState(this);\n\n let instanceTelegram: string = this.config.instance;\n if (!instanceTelegram || instanceTelegram.length == 0) {\n instanceTelegram = 'telegram.0';\n }\n const telegramID = `${instanceTelegram}.communicate.request`;\n const botSendMessageID = `${instanceTelegram}.communicate.botSendMessageId`;\n const requestMessageID = `${instanceTelegram}.communicate.requestMessageId`;\n const infoConnectionOfTelegram = `${instanceTelegram}.info.connection`;\n\n const checkboxes: Checkboxes = this.config.checkbox as Checkboxes;\n const one_time_keyboard: boolean = checkboxes.oneTiKey;\n const resize_keyboard: boolean = checkboxes.resKey;\n const checkboxNoEntryFound: boolean = checkboxes.checkboxNoValueFound;\n const sendMenuAfterRestart: boolean = checkboxes.sendMenuAfterRestart;\n let listOfMenus: ListOfMenus = [];\n if (this.config.usersInGroup) {\n listOfMenus = Object.keys(this.config.usersInGroup);\n }\n const token = this.config.tokenGrafana;\n const directoryPicture: string = this.config.directory;\n const isUserActiveCheckbox: IsUserActiveCheckbox = this.config.userActiveCheckbox;\n const menusWithUsers: MenusWithUsers = this.config.usersInGroup;\n const textNoEntryFound: string = this.config.textNoEntry;\n const userListWithChatID: UserListWithChatId[] = this.config.userListWithChatID;\n const dataObject: DataObject = this.config.data as DataObject;\n const startSides: StartSides = {};\n\n const menuData: MenuData = {\n data: {},\n } as MenuData;\n\n Object.keys(menusWithUsers).forEach(element => {\n startSides[element] = dataObject.nav[element][0].call;\n });\n\n await this.getForeignObject(infoConnectionOfTelegram, async (err, obj) => {\n try {\n if (err || obj == null) {\n this.log.error(`The State ${infoConnectionOfTelegram} was not found! ${err}`);\n return;\n }\n\n const isTelegramActive = await checkIsTelegramActive(infoConnectionOfTelegram);\n if (!isTelegramActive) {\n return;\n }\n\n const { nav, action } = dataObject;\n\n this.log.info('Telegram was found');\n\n for (const name in nav) {\n const value = editArrayButtons(nav[name], this);\n\n const newObjectStructure = generateNewObjectStructure(value);\n if (newObjectStructure) {\n menuData.data[name] = newObjectStructure;\n }\n\n const generatedActions: GeneratedActions | undefined = generateActions(\n action[name],\n menuData.data[name],\n );\n if (generatedActions) {\n menuData.data[name] = generatedActions?.obj;\n subscribeForeignStateIds = generatedActions?.ids;\n } else {\n debug([{ text: 'No Actions generated!' }]);\n }\n\n if (subscribeForeignStateIds && subscribeForeignStateIds?.length > 0) {\n await _subscribeForeignStatesAsync(subscribeForeignStateIds);\n } else {\n debug([{ text: 'Nothing to Subscribe!' }]);\n }\n\n // Subscribe Events\n if (dataObject.action[name] && dataObject.action[name].events) {\n for (const event of dataObject.action[name].events) {\n await _subscribeForeignStatesAsync([event.ID]);\n }\n }\n debug([\n { text: 'Menu: ', val: name },\n { text: 'Array Buttons: ', val: value },\n { text: 'Gen. Actions: ', val: menuData.data[name] },\n ]);\n }\n debug([\n { text: 'Checkbox', val: checkboxes },\n { text: 'MenuList', val: listOfMenus },\n ]);\n\n if (sendMenuAfterRestart) {\n await adapterStartMenuSend(\n listOfMenus,\n startSides,\n isUserActiveCheckbox,\n menusWithUsers,\n menuData,\n userListWithChatID,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n\n this.on('stateChange', async (id, state) => {\n const setStateIdsToListenTo: SetStateIds[] = getStateIdsToListenTo();\n\n const isActive = await this.checkInfoConnection(id, infoConnectionOfTelegram);\n if (!isActive) {\n return;\n }\n\n const obj = await this.getChatIDAndUserToSend(instanceTelegram, userListWithChatID);\n if (!obj) {\n return;\n }\n\n const { userToSend } = obj;\n\n if (isString(state?.val) && state.val.includes('sList:')) {\n await shoppingListSubscribeStateAndDeleteItem(\n state.val,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n\n return;\n }\n\n if (this.isAddToShoppingList(id, userToSend)) {\n await deleteMessageAndSendNewShoppingList(instanceTelegram, userListWithChatID, userToSend);\n return;\n }\n\n if (\n state &&\n (await checkEvent(\n dataObject,\n id,\n state,\n menuData,\n userListWithChatID,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n menusWithUsers,\n ))\n ) {\n return;\n }\n\n if (this.isMessageID(id, botSendMessageID, requestMessageID) && state) {\n await saveMessageIds(state, instanceTelegram);\n } else if (this.isMenuToSend(state, id, telegramID, userToSend)) {\n let value = state?.val;\n if (!value || !userToSend) {\n return;\n }\n\n value = value.toString();\n const calledValue = value.slice(value.indexOf(']') + 1, value.length);\n const menus: NewObjectNavStructureKey[] = getMenusWithUserToSend(menusWithUsers, userToSend);\n\n const dataFound = await checkEveryMenuForData({\n menuData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n });\n\n debug([\n { text: 'Groups with searched User:', val: menus },\n { text: 'Data found:', val: dataFound },\n ]);\n\n if (!dataFound && checkboxNoEntryFound && userToSend) {\n debug([{ text: 'No Entry found' }]);\n await sendToTelegram({\n user: userToSend,\n textToSend: textNoEntryFound,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n }\n return;\n }\n if (\n state &&\n setStateIdsToListenTo &&\n setStateIdsToListenTo.find((element: { id: string }) => element.id == id)\n ) {\n debug([\n { text: 'State, which is listen to was changed:', val: id },\n { text: 'State:', val: state },\n ]);\n\n setStateIdsToListenTo.forEach((element, key: number) => {\n if (element.id == id) {\n debug([\n { text: 'Send Value:', val: element },\n { text: 'Ack:', val: state.ack },\n ]);\n\n if (\n !isFalsy(element.confirm) &&\n !state?.ack &&\n element.returnText.includes('{confirmSet:')\n ) {\n const substring = decomposeText(\n element.returnText,\n '{confirmSet:',\n '}',\n ).substring.split(':');\n debug([{ text: 'Substring:', val: substring }]);\n let text = '';\n if (isDefined(state.val)) {\n text =\n substring[2] && substring[2].includes('noValue')\n ? substring[1]\n : exchangePlaceholderWithValue(substring[1], state.val.toString());\n }\n debug([{ text: 'Return-text:', val: text }]);\n\n if (text === '') {\n error([{ text: 'The return text cannot be empty, please check.' }]);\n }\n\n sendToTelegram({\n user: element.userToSend,\n textToSend: text,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: element.parse_mode as BooleanString,\n }).catch((e: { message: any; stack: any }) => {\n error([\n { text: 'Error SendToTelegram' },\n { val: e.message },\n { text: 'Error', val: e.stack },\n ]);\n });\n return;\n }\n debug([\n {\n text: 'Data: ',\n val: { confirm: element.confirm, ack: state?.ack, val: state?.val },\n },\n ]);\n if (!isFalsy(element.confirm) && state?.ack) {\n let textToSend = element.returnText;\n\n if (textToSend.includes('{confirmSet:')) {\n const substring = decomposeText(textToSend, '{confirmSet:', '}').substring;\n textToSend = textToSend.replace(substring, '');\n }\n\n let value: string | number = '';\n let valueChange: string | number | null = null;\n const resultChange = changeValue(textToSend, state.val?.toString() || '');\n if (resultChange) {\n valueChange = resultChange.val;\n textToSend = resultChange.textToSend;\n }\n\n if (textToSend?.toString().includes('{novalue}')) {\n value = '';\n textToSend = textToSend.replace('{novalue}', '');\n } else if (isDefined(state?.val)) {\n value = state.val?.toString() || '';\n }\n if (valueChange) {\n value = valueChange;\n }\n\n debug([{ text: 'Value to send:', val: value }]);\n textToSend = exchangePlaceholderWithValue(textToSend, value);\n\n sendToTelegram({\n user: element.userToSend,\n textToSend: textToSend,\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: element.parse_mode as BooleanString,\n }).catch((e: { message: any; stack: any }) => {\n error([\n { text: 'Error sendToTelegram' },\n { val: e.message },\n { text: 'Error', val: e.stack },\n ]);\n });\n\n setStateIdsToListenTo.splice(key, 1);\n }\n }\n });\n }\n });\n } catch (e: any) {\n error([{ text: 'Error onReady' }, { val: e.message }, { text: 'Error', val: e.stack }]);\n }\n });\n\n await this.subscribeForeignStatesAsync(botSendMessageID);\n await this.subscribeForeignStatesAsync(requestMessageID);\n await this.subscribeForeignStatesAsync(`${instanceTelegram}.communicate.requestChatId`);\n await this.subscribeForeignStatesAsync(telegramID);\n await this.subscribeForeignStatesAsync(`${instanceTelegram}.info.connection`);\n }\n\n private isMessageID(id: string, botSendMessageID: string, requestMessageID: string): boolean {\n return id == botSendMessageID || id == requestMessageID;\n }\n\n private isAddToShoppingList(id: string, userToSend: string): boolean {\n return !!(id.includes('alexa-shoppinglist') && !id.includes('add_position') && userToSend);\n }\n\n private isMenuToSend(\n state: ioBroker.State | null | undefined,\n id: string,\n telegramID: string,\n userToSend: string | null,\n ): boolean {\n return !!(\n state &&\n typeof state.val === 'string' &&\n state.val != '' &&\n id == telegramID &&\n state?.ack &&\n userToSend\n );\n }\n\n private async checkInfoConnection(id: string, infoConnectionOfTelegram: string): Promise<boolean> {\n if (id === infoConnectionOfTelegram) {\n const isActive = await checkIsTelegramActive(infoConnectionOfTelegram);\n if (!isActive) {\n this.log.debug('Telegram is not active');\n return false;\n }\n return true;\n }\n return true;\n }\n\n private async getChatIDAndUserToSend(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n ): Promise<{ chatID: string; userToSend: string } | undefined> {\n const chatID = await this.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);\n\n if (!chatID?.val) {\n debug([{ text: 'ChatID not found' }]);\n return;\n }\n\n const userToSend = getUserToSendFromUserListWithChatID(userListWithChatID, chatID.val.toString());\n if (!userToSend) {\n this.log.debug('User to send not found');\n return;\n }\n return { chatID: chatID.val.toString(), userToSend };\n }\n\n /**\n * Is called when adapter shuts down - callback has to be called under any circumstances!\n *\n * @param callback - Is called when adapter has closed all connections and released all resources\n */\n private onUnload(callback: () => void): void {\n const timeouts = getTimeouts();\n try {\n // Here you must clear all timeouts or intervals that may still be active\n timeouts.forEach((element: { timeout: string | number | NodeJS.Timeout | undefined }) => {\n clearTimeout(element.timeout);\n });\n\n callback();\n } catch (e: any) {\n this.log.error(`Error onUnload ${e}`);\n callback();\n }\n }\n\n onMessage(obj: ioBroker.Message): void {\n if (typeof obj === 'object' && obj.message) {\n if (obj.command === 'send') {\n // e.g. send email or pushover or whatever\n this.log.info('send command');\n\n // Send response in callback if required\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, 'Message received', obj.callback);\n }\n }\n }\n }\n}\nlet adapter;\nif (require.main !== module) {\n // Export the constructor in compact mode\n /**\n * @param [options] - Adapter options\n */\n adapter = (options: Partial<utils.AdapterOptions<undefined, undefined>> | undefined): TelegramMenu =>\n new TelegramMenu(options);\n} else {\n // otherwise start the instance directly\n new TelegramMenu();\n}\nexport { adapter };\n"],
5
- "mappings": "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",
6
- "names": ["obj"]
4
+ "sourcesContent": ["'use strict';\n/*\n * Created with @iobroker/create-adapter v2.3.0\n */\n\n// The adapter-core module gives you access to the core ioBroker functions\n// you need to create an adapter\nimport * as utils from '@iobroker/adapter-core';\n\nimport { checkEvent, generateActions, getUserToSendFromUserListWithChatID } from './app/action.js';\nimport { _subscribeForeignStates } from './app/subscribeStates.js';\nimport { sendToTelegram } from './app/telegram.js';\nimport { createState } from './app/createState.js';\nimport { saveMessageIds } from './app/messageIds.js';\nimport { adapterStartMenuSend } from './app/adapterStartMenuSend.js';\nimport { checkEveryMenuForData, getTimeouts } from './app/processData.js';\nimport { deleteMessageAndSendNewShoppingList, shoppingListSubscribeStateAndDeleteItem } from './app/shoppingList.js';\nimport { errorLogger } from './app/logging.js';\nimport type { MenuData, PrimitiveType, SetStateIds, TelegramParams } from './types/types';\nimport { checkIsTelegramActive } from './app/connection.js';\nimport { decomposeText, getValueToExchange, isString, jsonString } from './lib/string';\nimport { isDefined, isFalsy, isTruthy } from './lib/utils';\nimport {\n exchangePlaceholderWithValue,\n getListOfMenusIncludingUser,\n getNewStructure,\n getStartSides,\n splitNavigation,\n} from './lib/appUtils';\nimport { getConfigVariables } from './app/configVariables';\nimport { getStateIdsToListenTo } from './app/setStateIdsToListenTo';\n\nconst timeoutKey = '0';\nexport let adapter: TelegramMenu;\n\nexport default class TelegramMenu extends utils.Adapter {\n private static instance: TelegramMenu;\n\n /**\n * @param [options] - Adapter options\n */\n public constructor(options: Partial<utils.AdapterOptions> = {}) {\n super({\n ...options,\n name: 'telegram-menu',\n });\n this.on('ready', this.onReady.bind(this));\n this.on('unload', this.onUnload.bind(this));\n TelegramMenu.instance = this;\n }\n\n private async onReady(): Promise<void> {\n adapter = this;\n await this.setState('info.connection', false, true);\n await createState(this);\n\n const {\n requestMessageID,\n directoryPicture,\n telegramParams,\n telegramID,\n menusWithUsers,\n infoConnectionOfTelegram,\n listOfMenus,\n isUserActiveCheckbox,\n checkboxNoEntryFound,\n textNoEntryFound,\n botSendMessageID,\n sendMenuAfterRestart,\n token,\n dataObject,\n checkboxes,\n } = getConfigVariables(this.config);\n const { telegramInstance } = telegramParams;\n\n const menuData: MenuData = {};\n const startSides = getStartSides(menusWithUsers, dataObject);\n try {\n await this.getForeignObject(infoConnectionOfTelegram, async (err, obj) => {\n if (err || !obj) {\n this.log.error(`The State ${infoConnectionOfTelegram} was not found! ${err}`);\n return;\n }\n\n if (!(await checkIsTelegramActive(infoConnectionOfTelegram))) {\n return;\n }\n\n const { nav, action } = dataObject;\n\n this.log.info('Telegram was found');\n\n for (const name in nav) {\n const splittedNavigation = splitNavigation(nav[name]);\n const newStructure = getNewStructure(splittedNavigation);\n const generatedActions = generateActions({ action: action[name], userObject: newStructure });\n\n menuData[name] = newStructure;\n if (generatedActions) {\n menuData[name] = generatedActions?.obj;\n const subscribeForeignStateIds = generatedActions?.ids;\n if (subscribeForeignStateIds?.length) {\n await _subscribeForeignStates(subscribeForeignStateIds);\n }\n } else {\n adapter.log.debug('No Actions generated!');\n }\n\n // Subscribe Events\n if (dataObject.action[name]?.events) {\n for (const event of dataObject.action[name].events) {\n await _subscribeForeignStates(event.ID);\n }\n }\n adapter.log.debug(`Menu: ${name}`);\n adapter.log.debug(`Array Buttons: ${jsonString(splittedNavigation)}`);\n adapter.log.debug(`Gen. Actions: ${jsonString(menuData[name])}`);\n }\n\n adapter.log.debug(`Checkbox: ${jsonString(checkboxes)}`);\n adapter.log.debug(`MenuList: ${jsonString(listOfMenus)}`);\n\n if (sendMenuAfterRestart) {\n await adapterStartMenuSend(\n listOfMenus,\n startSides,\n isUserActiveCheckbox,\n menusWithUsers,\n menuData,\n telegramParams,\n );\n }\n\n this.on('stateChange', async (id, state) => {\n const setStateIdsToListenTo: SetStateIds[] = getStateIdsToListenTo();\n\n const isTelegramInstanceActive = await this.checkInfoConnection(id, infoConnectionOfTelegram);\n if (!isTelegramInstanceActive) {\n return;\n }\n\n const { userToSend, error } = await this.getChatIDAndUserToSend(telegramParams);\n if (error) {\n return;\n }\n\n if (this.isAddToShoppingList(id, userToSend)) {\n await deleteMessageAndSendNewShoppingList(telegramParams, userToSend);\n return;\n }\n\n if (!state || !isDefined(state.val)) {\n return;\n }\n\n if (isString(state.val) && state.val.includes('sList:')) {\n await shoppingListSubscribeStateAndDeleteItem(state.val, telegramParams);\n return;\n }\n\n if (await checkEvent(dataObject, id, state, menuData, telegramParams, menusWithUsers)) {\n return;\n }\n\n if (this.isMessageID(id, botSendMessageID, requestMessageID)) {\n await saveMessageIds(state, telegramInstance);\n } else if (this.isMenuToSend(state, id, telegramID, userToSend)) {\n const value = state.val.toString();\n\n const calledValue = value.slice(value.indexOf(']') + 1, value.length);\n const menus = getListOfMenusIncludingUser(menusWithUsers, userToSend);\n\n const dataFound = await checkEveryMenuForData({\n menuData,\n calledValue,\n userToSend,\n telegramParams,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n });\n\n this.log.debug(`Groups with searched User: ${jsonString(menus)}`);\n\n if (!dataFound && checkboxNoEntryFound) {\n adapter.log.debug('No Entry found');\n await sendToTelegram({\n userToSend,\n textToSend: textNoEntryFound,\n telegramParams,\n });\n }\n return;\n }\n if (state && setStateIdsToListenTo?.find(element => element.id == id)) {\n adapter.log.debug(`State, which is listen to was changed: ${id}`);\n adapter.log.debug(`State: ${jsonString(state)}`);\n\n for (const el of setStateIdsToListenTo) {\n const { id: elId, userToSend, confirm, returnText, parse_mode } = el;\n const key: number = setStateIdsToListenTo.indexOf(el);\n\n if (elId == id) {\n adapter.log.debug(`Send Value: ${jsonString(el)}`);\n adapter.log.debug(`State: ${jsonString(state)}`);\n\n if (isTruthy(confirm) && !state?.ack && returnText.includes('{confirmSet:')) {\n const { substring } = decomposeText(returnText, '{confirmSet:', '}');\n const splitSubstring = substring.split(':');\n\n adapter.log.debug(`Substring: ${jsonString(splitSubstring)}`);\n let text = '';\n if (isDefined(state.val)) {\n text = splitSubstring[2]?.includes('noValue')\n ? splitSubstring[1]\n : exchangePlaceholderWithValue(splitSubstring[1], state.val.toString());\n }\n adapter.log.debug(`Return-text: ${text}`);\n\n if (text === '') {\n adapter.log.error('The return text cannot be empty, please check.');\n }\n\n await sendToTelegram({\n textToSend: text,\n parse_mode: parse_mode,\n userToSend,\n telegramParams,\n });\n continue;\n }\n adapter.log.debug(`Data: ${jsonString({ confirm, ack: state?.ack, val: state?.val })}`);\n\n if (!isFalsy(confirm) && state?.ack) {\n let textToSend = returnText;\n\n if (textToSend.includes('{confirmSet:')) {\n const { textExcludeSubstring } = decomposeText(textToSend, '{confirmSet:', '}');\n textToSend = textExcludeSubstring;\n }\n\n let value: PrimitiveType = '';\n let valueChange: PrimitiveType | null = null;\n const {\n newValue,\n textToSend: changedText,\n error,\n } = getValueToExchange(adapter, textToSend, state.val?.toString());\n if (!error) {\n valueChange = newValue;\n textToSend = changedText;\n }\n\n if (textToSend?.toString().includes('{novalue}')) {\n value = '';\n textToSend = textToSend.replace('{novalue}', '');\n } else if (isDefined(state?.val)) {\n value = state.val?.toString();\n }\n if (isDefined(valueChange)) {\n value = valueChange;\n }\n\n adapter.log.debug(`Value to send: ${value}`);\n textToSend = exchangePlaceholderWithValue(textToSend, value);\n\n await sendToTelegram({\n userToSend,\n textToSend,\n parse_mode: parse_mode,\n telegramParams,\n });\n\n setStateIdsToListenTo.splice(key, 1);\n }\n }\n }\n }\n });\n });\n } catch (e: any) {\n errorLogger('Error onReady', e, adapter);\n }\n\n await this.subscribeForeignStatesAsync(botSendMessageID);\n await this.subscribeForeignStatesAsync(requestMessageID);\n await this.subscribeForeignStatesAsync(`${telegramInstance}.communicate.requestChatId`);\n await this.subscribeForeignStatesAsync(telegramID);\n await this.subscribeForeignStatesAsync(`${telegramInstance}.info.connection`);\n }\n\n private isMessageID(id: string, botSendMessageID: string, requestMessageID: string): boolean {\n return id == botSendMessageID || id == requestMessageID;\n }\n\n private isAddToShoppingList(id: string, userToSend: string): boolean {\n return !!(id.includes('alexa-shoppinglist') && !id.includes('add_position') && userToSend);\n }\n\n private isMenuToSend(\n state: ioBroker.State | null | undefined,\n id: string,\n telegramID: string,\n userToSend: string | null,\n ): boolean {\n return !!(typeof state?.val === 'string' && state.val != '' && id == telegramID && state?.ack && userToSend);\n }\n\n private async checkInfoConnection(id: string, infoConnectionOfTelegram: string): Promise<boolean> {\n if (id === infoConnectionOfTelegram) {\n if (!(await checkIsTelegramActive(infoConnectionOfTelegram))) {\n this.log.debug('Telegram is not active');\n return false;\n }\n return true;\n }\n return true;\n }\n\n private async getChatIDAndUserToSend(\n telegramParams: TelegramParams,\n ): Promise<{ chatID: string; userToSend: string; error: boolean; errorMessage?: string }> {\n const { telegramInstance, userListWithChatID } = telegramParams;\n const chatIDState = await this.getForeignStateAsync(`${telegramInstance}.communicate.requestChatId`);\n\n if (!chatIDState?.val) {\n adapter.log.debug('ChatID not found');\n return { chatID: '', userToSend: '', error: true, errorMessage: 'ChatId not found' };\n }\n\n const userToSend = getUserToSendFromUserListWithChatID(userListWithChatID, chatIDState.val.toString());\n if (!userToSend) {\n this.log.debug('User to send not found');\n return { chatID: chatIDState.val.toString(), userToSend: '', error: true, errorMessage: 'User not found' };\n }\n return { chatID: chatIDState.val.toString(), userToSend, error: false };\n }\n\n /**\n * Is called when adapter shuts down - callback has to be called under any circumstances!\n *\n * @param callback - Is called when adapter has closed all connections and released all resources\n */\n private onUnload(callback: () => void): void {\n const timeouts = getTimeouts();\n try {\n // Here you must clear all timeouts or intervals that may still be active\n timeouts.forEach(({ timeout }) => {\n adapter.clearTimeout(timeout);\n });\n\n callback();\n } catch (e: any) {\n errorLogger(e, 'Error onUnload', adapter);\n callback();\n }\n }\n\n onMessage(obj: ioBroker.Message): void {\n if (typeof obj === 'object' && obj.message) {\n if (obj.command === 'send') {\n // e.g. send email or pushover or whatever\n this.log.info('send command');\n // Send response in callback if required\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, 'Message received', obj.callback);\n }\n }\n }\n }\n}\n\nif (require.main !== module) {\n // Export the constructor in compact mode\n /**\n * @param [options] - Adapter options\n */\n module.exports = (options: Partial<utils.AdapterOptions<undefined, undefined>> | undefined): TelegramMenu =>\n new TelegramMenu(options);\n} else {\n // otherwise start the instance directly\n (() => new TelegramMenu())();\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,YAAuB;AAEvB,oBAAiF;AACjF,6BAAwC;AACxC,sBAA+B;AAC/B,yBAA4B;AAC5B,wBAA+B;AAC/B,kCAAqC;AACrC,yBAAmD;AACnD,0BAA6F;AAC7F,qBAA4B;AAE5B,wBAAsC;AACtC,oBAAwE;AACxE,mBAA6C;AAC7C,sBAMO;AACP,6BAAmC;AACnC,mCAAsC;AAEtC,MAAM,aAAa;AACZ,IAAI;AAEX,MAAO,qBAAmC,MAAM,QAAQ;AAAA,EACpD,OAAe;AAAA;AAAA;AAAA;AAAA,EAKR,YAAY,UAAyC,CAAC,GAAG;AAC5D,UAAM;AAAA,MACF,GAAG;AAAA,MACH,MAAM;AAAA,IACV,CAAC;AACD,SAAK,GAAG,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AACxC,SAAK,GAAG,UAAU,KAAK,SAAS,KAAK,IAAI,CAAC;AAC1C,iBAAa,WAAW;AAAA,EAC5B;AAAA,EAEA,MAAc,UAAyB;AACnC,cAAU;AACV,UAAM,KAAK,SAAS,mBAAmB,OAAO,IAAI;AAClD,cAAM,gCAAY,IAAI;AAEtB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,QAAI,2CAAmB,KAAK,MAAM;AAClC,UAAM,EAAE,iBAAiB,IAAI;AAE7B,UAAM,WAAqB,CAAC;AAC5B,UAAM,iBAAa,+BAAc,gBAAgB,UAAU;AAC3D,QAAI;AACA,YAAM,KAAK,iBAAiB,0BAA0B,OAAO,KAAK,QAAQ;AA9EtF;AA+EgB,YAAI,OAAO,CAAC,KAAK;AACb,eAAK,IAAI,MAAM,aAAa,wBAAwB,mBAAmB,GAAG,EAAE;AAC5E;AAAA,QACJ;AAEA,YAAI,CAAE,UAAM,yCAAsB,wBAAwB,GAAI;AAC1D;AAAA,QACJ;AAEA,cAAM,EAAE,KAAK,OAAO,IAAI;AAExB,aAAK,IAAI,KAAK,oBAAoB;AAElC,mBAAW,QAAQ,KAAK;AACpB,gBAAM,yBAAqB,iCAAgB,IAAI,IAAI,CAAC;AACpD,gBAAM,mBAAe,iCAAgB,kBAAkB;AACvD,gBAAM,uBAAmB,+BAAgB,EAAE,QAAQ,OAAO,IAAI,GAAG,YAAY,aAAa,CAAC;AAE3F,mBAAS,IAAI,IAAI;AACjB,cAAI,kBAAkB;AAClB,qBAAS,IAAI,IAAI,qDAAkB;AACnC,kBAAM,2BAA2B,qDAAkB;AACnD,gBAAI,qEAA0B,QAAQ;AAClC,wBAAM,gDAAwB,wBAAwB;AAAA,YAC1D;AAAA,UACJ,OAAO;AACH,oBAAQ,IAAI,MAAM,uBAAuB;AAAA,UAC7C;AAGA,eAAI,gBAAW,OAAO,IAAI,MAAtB,mBAAyB,QAAQ;AACjC,uBAAW,SAAS,WAAW,OAAO,IAAI,EAAE,QAAQ;AAChD,wBAAM,gDAAwB,MAAM,EAAE;AAAA,YAC1C;AAAA,UACJ;AACA,kBAAQ,IAAI,MAAM,SAAS,IAAI,EAAE;AACjC,kBAAQ,IAAI,MAAM,sBAAkB,0BAAW,kBAAkB,CAAC,EAAE;AACpE,kBAAQ,IAAI,MAAM,qBAAiB,0BAAW,SAAS,IAAI,CAAC,CAAC,EAAE;AAAA,QACnE;AAEA,gBAAQ,IAAI,MAAM,iBAAa,0BAAW,UAAU,CAAC,EAAE;AACvD,gBAAQ,IAAI,MAAM,iBAAa,0BAAW,WAAW,CAAC,EAAE;AAExD,YAAI,sBAAsB;AACtB,oBAAM;AAAA,YACF;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACJ;AAAA,QACJ;AAEA,aAAK,GAAG,eAAe,OAAO,IAAI,UAAU;AArI5D,cAAAA,KAAA;AAsIoB,gBAAM,4BAAuC,oDAAsB;AAEnE,gBAAM,2BAA2B,MAAM,KAAK,oBAAoB,IAAI,wBAAwB;AAC5F,cAAI,CAAC,0BAA0B;AAC3B;AAAA,UACJ;AAEA,gBAAM,EAAE,YAAY,MAAM,IAAI,MAAM,KAAK,uBAAuB,cAAc;AAC9E,cAAI,OAAO;AACP;AAAA,UACJ;AAEA,cAAI,KAAK,oBAAoB,IAAI,UAAU,GAAG;AAC1C,sBAAM,yDAAoC,gBAAgB,UAAU;AACpE;AAAA,UACJ;AAEA,cAAI,CAAC,SAAS,KAAC,wBAAU,MAAM,GAAG,GAAG;AACjC;AAAA,UACJ;AAEA,kBAAI,wBAAS,MAAM,GAAG,KAAK,MAAM,IAAI,SAAS,QAAQ,GAAG;AACrD,sBAAM,6DAAwC,MAAM,KAAK,cAAc;AACvE;AAAA,UACJ;AAEA,cAAI,UAAM,0BAAW,YAAY,IAAI,OAAO,UAAU,gBAAgB,cAAc,GAAG;AACnF;AAAA,UACJ;AAEA,cAAI,KAAK,YAAY,IAAI,kBAAkB,gBAAgB,GAAG;AAC1D,sBAAM,kCAAe,OAAO,gBAAgB;AAAA,UAChD,WAAW,KAAK,aAAa,OAAO,IAAI,YAAY,UAAU,GAAG;AAC7D,kBAAM,QAAQ,MAAM,IAAI,SAAS;AAEjC,kBAAM,cAAc,MAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,MAAM;AACpE,kBAAM,YAAQ,6CAA4B,gBAAgB,UAAU;AAEpE,kBAAM,YAAY,UAAM,0CAAsB;AAAA,cAC1C;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACJ,CAAC;AAED,iBAAK,IAAI,MAAM,kCAA8B,0BAAW,KAAK,CAAC,EAAE;AAEhE,gBAAI,CAAC,aAAa,sBAAsB;AACpC,sBAAQ,IAAI,MAAM,gBAAgB;AAClC,wBAAM,gCAAe;AAAA,gBACjB;AAAA,gBACA,YAAY;AAAA,gBACZ;AAAA,cACJ,CAAC;AAAA,YACL;AACA;AAAA,UACJ;AACA,cAAI,UAAS,+DAAuB,KAAK,aAAW,QAAQ,MAAM,MAAK;AACnE,oBAAQ,IAAI,MAAM,0CAA0C,EAAE,EAAE;AAChE,oBAAQ,IAAI,MAAM,cAAU,0BAAW,KAAK,CAAC,EAAE;AAE/C,uBAAW,MAAM,uBAAuB;AACpC,oBAAM,EAAE,IAAI,MAAM,YAAAC,aAAY,SAAS,YAAY,WAAW,IAAI;AAClE,oBAAM,MAAc,sBAAsB,QAAQ,EAAE;AAEpD,kBAAI,QAAQ,IAAI;AACZ,wBAAQ,IAAI,MAAM,mBAAe,0BAAW,EAAE,CAAC,EAAE;AACjD,wBAAQ,IAAI,MAAM,cAAU,0BAAW,KAAK,CAAC,EAAE;AAE/C,wBAAI,uBAAS,OAAO,KAAK,EAAC,+BAAO,QAAO,WAAW,SAAS,cAAc,GAAG;AACzE,wBAAM,EAAE,UAAU,QAAI,6BAAc,YAAY,gBAAgB,GAAG;AACnE,wBAAM,iBAAiB,UAAU,MAAM,GAAG;AAE1C,0BAAQ,IAAI,MAAM,kBAAc,0BAAW,cAAc,CAAC,EAAE;AAC5D,sBAAI,OAAO;AACX,0BAAI,wBAAU,MAAM,GAAG,GAAG;AACtB,6BAAOD,MAAA,eAAe,CAAC,MAAhB,gBAAAA,IAAmB,SAAS,cAC7B,eAAe,CAAC,QAChB,8CAA6B,eAAe,CAAC,GAAG,MAAM,IAAI,SAAS,CAAC;AAAA,kBAC9E;AACA,0BAAQ,IAAI,MAAM,gBAAgB,IAAI,EAAE;AAExC,sBAAI,SAAS,IAAI;AACb,4BAAQ,IAAI,MAAM,gDAAgD;AAAA,kBACtE;AAEA,4BAAM,gCAAe;AAAA,oBACjB,YAAY;AAAA,oBACZ;AAAA,oBACA,YAAAC;AAAA,oBACA;AAAA,kBACJ,CAAC;AACD;AAAA,gBACJ;AACA,wBAAQ,IAAI,MAAM,aAAS,0BAAW,EAAE,SAAS,KAAK,+BAAO,KAAK,KAAK,+BAAO,IAAI,CAAC,CAAC,EAAE;AAEtF,oBAAI,KAAC,sBAAQ,OAAO,MAAK,+BAAO,MAAK;AACjC,sBAAI,aAAa;AAEjB,sBAAI,WAAW,SAAS,cAAc,GAAG;AACrC,0BAAM,EAAE,qBAAqB,QAAI,6BAAc,YAAY,gBAAgB,GAAG;AAC9E,iCAAa;AAAA,kBACjB;AAEA,sBAAI,QAAuB;AAC3B,sBAAI,cAAoC;AACxC,wBAAM;AAAA,oBACF;AAAA,oBACA,YAAY;AAAA,oBACZ,OAAAC;AAAA,kBACJ,QAAI,kCAAmB,SAAS,aAAY,WAAM,QAAN,mBAAW,UAAU;AACjE,sBAAI,CAACA,QAAO;AACR,kCAAc;AACd,iCAAa;AAAA,kBACjB;AAEA,sBAAI,yCAAY,WAAW,SAAS,cAAc;AAC9C,4BAAQ;AACR,iCAAa,WAAW,QAAQ,aAAa,EAAE;AAAA,kBACnD,eAAW,wBAAU,+BAAO,GAAG,GAAG;AAC9B,6BAAQ,WAAM,QAAN,mBAAW;AAAA,kBACvB;AACA,0BAAI,wBAAU,WAAW,GAAG;AACxB,4BAAQ;AAAA,kBACZ;AAEA,0BAAQ,IAAI,MAAM,kBAAkB,KAAK,EAAE;AAC3C,mCAAa,8CAA6B,YAAY,KAAK;AAE3D,4BAAM,gCAAe;AAAA,oBACjB,YAAAD;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACJ,CAAC;AAED,wCAAsB,OAAO,KAAK,CAAC;AAAA,gBACvC;AAAA,cACJ;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ,CAAC;AAAA,MACL,CAAC;AAAA,IACL,SAAS,GAAQ;AACb,sCAAY,iBAAiB,GAAG,OAAO;AAAA,IAC3C;AAEA,UAAM,KAAK,4BAA4B,gBAAgB;AACvD,UAAM,KAAK,4BAA4B,gBAAgB;AACvD,UAAM,KAAK,4BAA4B,GAAG,gBAAgB,4BAA4B;AACtF,UAAM,KAAK,4BAA4B,UAAU;AACjD,UAAM,KAAK,4BAA4B,GAAG,gBAAgB,kBAAkB;AAAA,EAChF;AAAA,EAEQ,YAAY,IAAY,kBAA0B,kBAAmC;AACzF,WAAO,MAAM,oBAAoB,MAAM;AAAA,EAC3C;AAAA,EAEQ,oBAAoB,IAAY,YAA6B;AACjE,WAAO,CAAC,EAAE,GAAG,SAAS,oBAAoB,KAAK,CAAC,GAAG,SAAS,cAAc,KAAK;AAAA,EACnF;AAAA,EAEQ,aACJ,OACA,IACA,YACA,YACO;AACP,WAAO,CAAC,EAAE,QAAO,+BAAO,SAAQ,YAAY,MAAM,OAAO,MAAM,MAAM,eAAc,+BAAO,QAAO;AAAA,EACrG;AAAA,EAEA,MAAc,oBAAoB,IAAY,0BAAoD;AAC9F,QAAI,OAAO,0BAA0B;AACjC,UAAI,CAAE,UAAM,yCAAsB,wBAAwB,GAAI;AAC1D,aAAK,IAAI,MAAM,wBAAwB;AACvC,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAc,uBACV,gBACsF;AACtF,UAAM,EAAE,kBAAkB,mBAAmB,IAAI;AACjD,UAAM,cAAc,MAAM,KAAK,qBAAqB,GAAG,gBAAgB,4BAA4B;AAEnG,QAAI,EAAC,2CAAa,MAAK;AACnB,cAAQ,IAAI,MAAM,kBAAkB;AACpC,aAAO,EAAE,QAAQ,IAAI,YAAY,IAAI,OAAO,MAAM,cAAc,mBAAmB;AAAA,IACvF;AAEA,UAAM,iBAAa,mDAAoC,oBAAoB,YAAY,IAAI,SAAS,CAAC;AACrG,QAAI,CAAC,YAAY;AACb,WAAK,IAAI,MAAM,wBAAwB;AACvC,aAAO,EAAE,QAAQ,YAAY,IAAI,SAAS,GAAG,YAAY,IAAI,OAAO,MAAM,cAAc,iBAAiB;AAAA,IAC7G;AACA,WAAO,EAAE,QAAQ,YAAY,IAAI,SAAS,GAAG,YAAY,OAAO,MAAM;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,SAAS,UAA4B;AACzC,UAAM,eAAW,gCAAY;AAC7B,QAAI;AAEA,eAAS,QAAQ,CAAC,EAAE,QAAQ,MAAM;AAC9B,gBAAQ,aAAa,OAAO;AAAA,MAChC,CAAC;AAED,eAAS;AAAA,IACb,SAAS,GAAQ;AACb,sCAAY,GAAG,kBAAkB,OAAO;AACxC,eAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,UAAU,KAA6B;AACnC,QAAI,OAAO,QAAQ,YAAY,IAAI,SAAS;AACxC,UAAI,IAAI,YAAY,QAAQ;AAExB,aAAK,IAAI,KAAK,cAAc;AAE5B,YAAI,IAAI,UAAU;AACd,eAAK,OAAO,IAAI,MAAM,IAAI,SAAS,oBAAoB,IAAI,QAAQ;AAAA,QACvE;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,IAAI,QAAQ,SAAS,QAAQ;AAKzB,SAAO,UAAU,CAAC,YACd,IAAI,aAAa,OAAO;AAChC,OAAO;AAEH,GAAC,MAAM,IAAI,aAAa,GAAG;AAC/B;",
6
+ "names": ["_a", "userToSend", "error"]
7
7
  }
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adjustValueType = exports.bindingFunc = exports.idBySelector = exports.getUserToSendFromUserListWithChatID = exports.checkEvent = void 0;
4
+ exports.generateActions = generateActions;
5
+ const telegram_1 = require("./telegram");
6
+ const subMenu_1 = require("./subMenu");
7
+ const sendNav_1 = require("./sendNav");
8
+ const backMenu_1 = require("./backMenu");
9
+ const logging_1 = require("./logging");
10
+ const main_1 = require("../main");
11
+ const string_1 = require("../lib/string");
12
+ const utils_1 = require("../lib/utils");
13
+ const math_1 = require("../lib/math");
14
+ const config_1 = require("../config/config");
15
+ const splitValues_1 = require("../lib/splitValues");
16
+ const bindingFunc = async (text, userToSend, telegramParams, parse_mode) => {
17
+ let textToSend;
18
+ try {
19
+ const { substringExcludeSearch } = (0, string_1.decomposeText)(text, config_1.config.binding.start, config_1.config.binding.end);
20
+ const arrayOfItems = substringExcludeSearch.split(config_1.config.binding.splitChar);
21
+ const bindingObject = {
22
+ values: {},
23
+ };
24
+ for (let item of arrayOfItems) {
25
+ if (!item.includes('?')) {
26
+ const { key, id } = (0, splitValues_1.getBindingValues)(item);
27
+ if (id) {
28
+ const result = await main_1.adapter.getForeignStateAsync(id);
29
+ if (result) {
30
+ bindingObject.values[key] = result.val?.toString() ?? '';
31
+ }
32
+ }
33
+ }
34
+ else {
35
+ Object.keys(bindingObject.values).forEach(function (key) {
36
+ item = item.replace(key, bindingObject.values[key]);
37
+ });
38
+ const { val } = (0, math_1.evaluate)(item, main_1.adapter);
39
+ textToSend = String(val);
40
+ }
41
+ }
42
+ await (0, telegram_1.sendToTelegram)({
43
+ userToSend,
44
+ textToSend,
45
+ telegramParams,
46
+ parse_mode,
47
+ });
48
+ }
49
+ catch (e) {
50
+ (0, logging_1.errorLogger)('Error Binding function: ', e, main_1.adapter);
51
+ }
52
+ };
53
+ exports.bindingFunc = bindingFunc;
54
+ const idBySelector = async ({ selector, text, userToSend, newline, telegramParams, }) => {
55
+ let text2Send = '';
56
+ try {
57
+ const functions = selector.replace(config_1.config.functionSelektor, '');
58
+ let enums = [];
59
+ const result = await main_1.adapter.getEnumsAsync();
60
+ if (!result?.['enum.functions'][`enum.functions.${functions}`]) {
61
+ return;
62
+ }
63
+ enums = result['enum.functions'][`enum.functions.${functions}`].common.members;
64
+ if (!enums) {
65
+ return;
66
+ }
67
+ const promises = enums.map(async (id) => {
68
+ const value = await main_1.adapter.getForeignStateAsync(id);
69
+ if ((0, utils_1.isDefined)(value?.val)) {
70
+ let newText = text;
71
+ let res;
72
+ if (text.includes('{common.name}')) {
73
+ res = await main_1.adapter.getForeignObjectAsync(id);
74
+ main_1.adapter.log.debug(`Name ${(0, string_1.jsonString)(res?.common.name)}`);
75
+ if (res && typeof res.common.name === 'string') {
76
+ newText = newText.replace('{common.name}', res.common.name);
77
+ }
78
+ }
79
+ if (text.includes('&amp;&amp;')) {
80
+ text2Send += newText.replace('&amp;&amp;', String(value.val));
81
+ }
82
+ else if (text.includes('&&')) {
83
+ text2Send += newText.replace('&&', String(value.val));
84
+ }
85
+ else {
86
+ text2Send += newText;
87
+ text2Send += ` ${value.val}`;
88
+ }
89
+ }
90
+ text2Send += (0, string_1.getNewline)(newline);
91
+ main_1.adapter.log.debug(`text2send ${JSON.stringify(text2Send)}`);
92
+ });
93
+ Promise.all(promises)
94
+ .then(async () => {
95
+ await (0, telegram_1.sendToTelegram)({
96
+ userToSend,
97
+ textToSend: text2Send,
98
+ telegramParams,
99
+ });
100
+ })
101
+ .catch(e => {
102
+ (0, logging_1.errorLogger)('Error Promise:', e, main_1.adapter);
103
+ });
104
+ }
105
+ catch (error) {
106
+ (0, logging_1.errorLogger)('Error idBySelector: ', error, main_1.adapter);
107
+ }
108
+ };
109
+ exports.idBySelector = idBySelector;
110
+ function generateActions({ action, userObject, }) {
111
+ try {
112
+ const listOfSetStateIds = [];
113
+ action?.set.forEach(function ({ trigger, switch_checkbox, returnText, parse_mode, values, confirm, ack, IDs }, index) {
114
+ const triggerName = trigger[0];
115
+ if (index == 0) {
116
+ userObject[triggerName] = { switch: [] };
117
+ }
118
+ userObject[triggerName] = { switch: [] };
119
+ IDs.forEach(function (id, index) {
120
+ listOfSetStateIds.push(id);
121
+ const toggle = (0, utils_1.isTruthy)(switch_checkbox[index]);
122
+ const newObj = {
123
+ id: IDs[index],
124
+ value: values[index],
125
+ toggle: toggle,
126
+ confirm: confirm[index],
127
+ returnText: returnText[index],
128
+ ack: (0, utils_1.isTruthy)(ack[index]),
129
+ parse_mode: (0, utils_1.isTruthy)(parse_mode[0]),
130
+ };
131
+ if (Array.isArray(userObject[triggerName]?.switch)) {
132
+ userObject[triggerName].switch.push(newObj);
133
+ }
134
+ });
135
+ });
136
+ config_1.arrayOfEntries.forEach(item => {
137
+ const actions = action?.[item.objName];
138
+ actions?.forEach(function (element, index) {
139
+ const trigger = element.trigger[0];
140
+ userObject[trigger] = { [item.name]: [] };
141
+ if (index == 0) {
142
+ userObject[trigger] = { [item.name]: [] };
143
+ }
144
+ element[item.loop].forEach(function (id, index) {
145
+ const newObj = {};
146
+ item.elements.forEach(({ name, value, index: elIndex }) => {
147
+ const elName = (value ? value : name);
148
+ const newIndex = elIndex ? elIndex : index;
149
+ const val = !element[elName] ? false : element[elName][newIndex] || 'false';
150
+ if (name === 'parse_mode') {
151
+ newObj.parse_mode = (0, utils_1.isTruthy)(val);
152
+ }
153
+ if (typeof val === 'string') {
154
+ newObj[name] = val.replace(/&amp;/g, '&');
155
+ }
156
+ });
157
+ (userObject?.[trigger]?.[item.name]).push(newObj);
158
+ });
159
+ });
160
+ });
161
+ return { obj: userObject, ids: listOfSetStateIds };
162
+ }
163
+ catch (err) {
164
+ (0, logging_1.errorLogger)('Error generateActions:', err, main_1.adapter);
165
+ }
166
+ }
167
+ const adjustValueType = (value, valueType) => {
168
+ if (valueType == 'number') {
169
+ if (!parseFloat(value)) {
170
+ main_1.adapter.log.error(`Error: Value is not a number: ${value}`);
171
+ return false;
172
+ }
173
+ return parseFloat(value);
174
+ }
175
+ if (valueType == 'boolean') {
176
+ return (0, utils_1.isTruthy)(value);
177
+ }
178
+ return value;
179
+ };
180
+ exports.adjustValueType = adjustValueType;
181
+ const checkEvent = async (dataObject, id, state, menuData, telegramParams, usersInGroup) => {
182
+ const menuArray = [];
183
+ let ok = false;
184
+ let calledNav = '';
185
+ Object.keys(dataObject.action).forEach(menu => {
186
+ if (dataObject.action[menu]?.events) {
187
+ dataObject.action[menu].events.forEach(event => {
188
+ if (event.ID[0] == id && event.ack[0] == state.ack.toString()) {
189
+ const condition = event.condition[0];
190
+ if (((state.val == true || state.val == 'true') && (0, utils_1.isTruthy)(condition)) ||
191
+ ((state.val == false || state.val == 'false') && (0, utils_1.isFalsy)(condition)) ||
192
+ (typeof state.val == 'number' && state.val == parseInt(condition)) ||
193
+ state.val == condition) {
194
+ ok = true;
195
+ menuArray.push(menu);
196
+ calledNav = event.menu[0];
197
+ }
198
+ }
199
+ });
200
+ }
201
+ });
202
+ if (!ok || !menuArray.length) {
203
+ return false;
204
+ }
205
+ for (const menu of menuArray) {
206
+ const part = menuData[menu][calledNav];
207
+ if (usersInGroup[menu] && part) {
208
+ for (const user of usersInGroup[menu]) {
209
+ const menus = Object.keys(menuData);
210
+ if (part.nav) {
211
+ (0, backMenu_1.backMenuFunc)({ activePage: calledNav, navigation: part.nav, userToSend: user });
212
+ }
213
+ if (part?.nav?.[0][0].includes('menu:')) {
214
+ await (0, subMenu_1.callSubMenu)({
215
+ jsonStringNav: part.nav[0][0],
216
+ userToSend: user,
217
+ telegramParams: telegramParams,
218
+ part: part,
219
+ allMenusWithData: menuData,
220
+ menus: menus,
221
+ });
222
+ return true;
223
+ }
224
+ await (0, sendNav_1.sendNav)(part, user, telegramParams);
225
+ }
226
+ }
227
+ }
228
+ return true;
229
+ };
230
+ exports.checkEvent = checkEvent;
231
+ const getUserToSendFromUserListWithChatID = (userListWithChatID, chatID) => {
232
+ for (const element of userListWithChatID) {
233
+ if (element.chatID == chatID) {
234
+ return element.name;
235
+ }
236
+ }
237
+ };
238
+ exports.getUserToSendFromUserListWithChatID = getUserToSendFromUserListWithChatID;
239
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/app/action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adapter = void 0;
4
+ const main_1 = require("../main"); // Importiere den Adapter aus der Hauptdatei
5
+ const setup_1 = require("../../test/setup");
6
+ if (main_1.adapter) {
7
+ exports.adapter = main_1.adapter; // Verwende den Haupt-Adapter, wenn er definiert ist
8
+ }
9
+ else {
10
+ exports.adapter = setup_1.adapter; // Verwende den Mock-Adapter, wenn der Haupt-Adapter nicht verfügbar ist
11
+ }
12
+ //# sourceMappingURL=adapterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterManager.js","sourceRoot":"","sources":["../../../src/app/adapterManager.ts"],"names":[],"mappings":";;;AAAA,kCAAiD,CAAC,4CAA4C;AAC9F,4CAA0D;AAK1D,IAAI,cAAW,EAAE,CAAC;IACd,eAAO,GAAG,cAAW,CAAC,CAAC,oDAAoD;AAC/E,CAAC;KAAM,CAAC;IACJ,eAAO,GAAG,eAAW,CAAC,CAAC,wEAAwE;AACnG,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adapterStartMenuSend = adapterStartMenuSend;
4
+ const telegram_1 = require("./telegram");
5
+ const backMenu_1 = require("./backMenu");
6
+ const main_1 = require("../main");
7
+ const string_1 = require("../lib/string");
8
+ const appUtils_1 = require("../lib/appUtils");
9
+ async function adapterStartMenuSend(listOfMenus, startSides, userActiveCheckbox, menusWithUsers, menuData, telegramParams) {
10
+ for (const menu of listOfMenus) {
11
+ const startSide = startSides[menu];
12
+ if (userActiveCheckbox[menu] && (0, appUtils_1.isStartside)(startSide)) {
13
+ main_1.adapter.log.debug(`Startside: ${startSide}`);
14
+ for (const userToSend of menusWithUsers[menu]) {
15
+ const { nav, text, parse_mode } = menuData[menu][startSide];
16
+ (0, backMenu_1.backMenuFunc)({ activePage: startSide, navigation: nav, userToSend: userToSend });
17
+ main_1.adapter.log.debug(`User list: ${(0, string_1.jsonString)(telegramParams.userListWithChatID)}`);
18
+ await (0, telegram_1.sendToTelegram)({
19
+ userToSend,
20
+ textToSend: text,
21
+ keyboard: nav,
22
+ telegramParams,
23
+ parse_mode,
24
+ });
25
+ }
26
+ }
27
+ else {
28
+ if (!(0, appUtils_1.isStartside)(startSide)) {
29
+ main_1.adapter.log.debug(`Menu "${menu}" is a Submenu.`);
30
+ continue;
31
+ }
32
+ main_1.adapter.log.debug(`Menu "${menu}" is inactive.`);
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=adapterStartMenuSend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterStartMenuSend.js","sourceRoot":"","sources":["../../../src/app/adapterStartMenuSend.ts"],"names":[],"mappings":";;AAcA,oDAmCC;AAjDD,yCAA4C;AAC5C,yCAA0C;AAS1C,kCAAkC;AAClC,0CAA2C;AAC3C,8CAA8C;AAEvC,KAAK,UAAU,oBAAoB,CACtC,WAAwB,EACxB,UAAsB,EACtB,kBAAwC,EACxC,cAA8B,EAC9B,QAAkB,EAClB,cAA8B;IAE9B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAA,sBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;YACrD,cAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;YAC7C,KAAK,MAAM,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAA,uBAAY,EAAC,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEjF,cAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAA,mBAAU,EAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAEjF,MAAM,IAAA,yBAAc,EAAC;oBACjB,UAAU;oBACV,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,GAAG;oBACb,cAAc;oBACd,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,cAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;gBAClD,SAAS;YACb,CAAC;YACD,cAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.backMenuFunc = backMenuFunc;
4
+ exports.switchBack = switchBack;
5
+ const logging_1 = require("./logging");
6
+ const utilities_1 = require("../lib/utilities");
7
+ const main_1 = require("../main");
8
+ const string_1 = require("../lib/string");
9
+ const config_1 = require("../config/config");
10
+ const backMenu = {};
11
+ function backMenuFunc({ activePage, navigation, userToSend, }) {
12
+ if (!navigation || !(0, string_1.jsonString)(navigation).split(`"`)[1].includes('menu:')) {
13
+ const list = backMenu[userToSend]?.list;
14
+ const lastMenu = backMenu[userToSend]?.last;
15
+ if (list?.length === config_1.backMenuLength) {
16
+ list.shift();
17
+ }
18
+ if (!backMenu[userToSend]) {
19
+ backMenu[userToSend] = { list: [], last: '' };
20
+ }
21
+ if (lastMenu && lastMenu !== '' && list) {
22
+ list.push(lastMenu);
23
+ }
24
+ backMenu[userToSend].last = activePage;
25
+ }
26
+ }
27
+ async function switchBack(userToSend, allMenusWithData, menus, lastMenu = false) {
28
+ try {
29
+ const list = backMenu[userToSend]?.list ? backMenu[userToSend].list : [];
30
+ const lastListElement = list[list.length - 1];
31
+ const lastElement = backMenu[userToSend]?.last;
32
+ let keyboard;
33
+ let foundedMenu = '';
34
+ if (list.length) {
35
+ for (const menu of menus) {
36
+ const nav = lastElement ? allMenusWithData[menu]?.[lastElement]?.nav : undefined;
37
+ const navBefore = allMenusWithData[menu]?.[lastListElement]?.nav;
38
+ if (lastMenu && nav) {
39
+ keyboard = nav;
40
+ foundedMenu = menu;
41
+ break;
42
+ }
43
+ else if (navBefore && !lastMenu) {
44
+ keyboard = navBefore;
45
+ foundedMenu = menu;
46
+ break;
47
+ }
48
+ main_1.adapter.log.debug(`Menu call not found in this Menu: ${menu}`);
49
+ }
50
+ if (keyboard && foundedMenu != '') {
51
+ if (!lastMenu) {
52
+ const list = backMenu[userToSend]?.list;
53
+ const listLength = list ? list.length - 1 : 0;
54
+ const lastListElement = list?.[listLength];
55
+ if (!lastListElement) {
56
+ return;
57
+ }
58
+ const { text, parse_mode } = allMenusWithData[foundedMenu][lastListElement];
59
+ let textToSend = text;
60
+ if (textToSend) {
61
+ textToSend = await (0, utilities_1.checkStatusInfo)(textToSend);
62
+ }
63
+ if (backMenu[userToSend]?.last) {
64
+ backMenu[userToSend].last = list.pop() ?? '';
65
+ }
66
+ return { textToSend, keyboard, parse_mode };
67
+ }
68
+ const lastElement = backMenu[userToSend]?.last;
69
+ if (!lastElement) {
70
+ return;
71
+ }
72
+ const { parse_mode, text: textToSend } = allMenusWithData[foundedMenu][lastElement];
73
+ return { textToSend, keyboard, parse_mode };
74
+ }
75
+ }
76
+ }
77
+ catch (e) {
78
+ (0, logging_1.errorLogger)('Error in switchBack:', e, main_1.adapter);
79
+ }
80
+ }
81
+ //# sourceMappingURL=backMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backMenu.js","sourceRoot":"","sources":["../../../src/app/backMenu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteMessageByBot = void 0;
4
+ const main_1 = require("../main");
5
+ const logging_1 = require("./logging");
6
+ const deleteMessageByBot = (instance, user, messageId, chat_id) => {
7
+ try {
8
+ if (chat_id) {
9
+ main_1.adapter.log.debug(`Delete Message for ${user} ${chat_id} , MessageId: ${messageId}`);
10
+ }
11
+ main_1.adapter.sendTo(instance, {
12
+ deleteMessage: {
13
+ options: {
14
+ chat_id: chat_id,
15
+ message_id: messageId,
16
+ },
17
+ },
18
+ });
19
+ }
20
+ catch (e) {
21
+ (0, logging_1.errorLogger)('Error deleteMessage:', e, main_1.adapter);
22
+ }
23
+ };
24
+ exports.deleteMessageByBot = deleteMessageByBot;
25
+ //# sourceMappingURL=botAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"botAction.js","sourceRoot":"","sources":["../../../src/app/botAction.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,uCAAwC;AAExC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAE,SAAiB,EAAE,OAAwB,EAAQ,EAAE;IAC7G,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACV,cAAO,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,IAAI,OAAO,iBAAiB,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,cAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrB,aAAa,EAAE;gBACX,OAAO,EAAE;oBACL,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,SAAS;iBACxB;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,IAAA,qBAAW,EAAC,sBAAsB,EAAE,CAAC,EAAE,cAAO,CAAC,CAAC;IACpD,CAAC;AACL,CAAC,CAAC;AACO,gDAAkB"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfigVariables = void 0;
4
+ const getConfigVariables = (config) => {
5
+ const telegramInstance = config.instance ?? 'telegram.0';
6
+ const checkboxes = config.checkbox;
7
+ const telegramParams = {
8
+ telegramInstance,
9
+ resize_keyboard: checkboxes.resKey,
10
+ one_time_keyboard: checkboxes.oneTiKey,
11
+ userListWithChatID: config.userListWithChatID,
12
+ };
13
+ return {
14
+ checkboxes,
15
+ telegramID: `${telegramInstance}.communicate.request`,
16
+ botSendMessageID: `${telegramInstance}.communicate.botSendMessageId`,
17
+ requestMessageID: `${telegramInstance}.communicate.requestMessageId`,
18
+ infoConnectionOfTelegram: `${telegramInstance}.info.connection`,
19
+ checkboxNoEntryFound: checkboxes.checkboxNoValueFound,
20
+ sendMenuAfterRestart: checkboxes.sendMenuAfterRestart,
21
+ listOfMenus: config.usersInGroup ? Object.keys(config.usersInGroup) : [],
22
+ token: config.tokenGrafana,
23
+ directoryPicture: config.directory,
24
+ isUserActiveCheckbox: config.userActiveCheckbox,
25
+ menusWithUsers: config.usersInGroup,
26
+ textNoEntryFound: config.textNoEntry,
27
+ dataObject: config.data,
28
+ telegramParams,
29
+ };
30
+ };
31
+ exports.getConfigVariables = getConfigVariables;
32
+ //# sourceMappingURL=configVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configVariables.js","sourceRoot":"","sources":["../../../src/app/configVariables.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAC9B,MAA8B,EAiBhC,EAAE;IACA,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;IACnC,MAAM,cAAc,GAAmB;QACnC,gBAAgB;QAChB,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,iBAAiB,EAAE,UAAU,CAAC,QAAQ;QACtC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAChD,CAAC;IACF,OAAO;QACH,UAAU;QACV,UAAU,EAAE,GAAG,gBAAgB,sBAAsB;QACrD,gBAAgB,EAAE,GAAG,gBAAgB,+BAA+B;QACpE,gBAAgB,EAAE,GAAG,gBAAgB,+BAA+B;QACpE,wBAAwB,EAAE,GAAG,gBAAgB,kBAAkB;QAC/D,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;QACrD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;QACrD,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;QACxE,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,gBAAgB,EAAE,MAAM,CAAC,SAAS;QAClC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;QAC/C,cAAc,EAAE,MAAM,CAAC,YAAY;QACnC,gBAAgB,EAAE,MAAM,CAAC,WAAW;QACpC,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,cAAc;KACjB,CAAC;AACN,CAAC,CAAC;AA5CW,QAAA,kBAAkB,sBA4C7B"}