trompot 1.0.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 (357) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +560 -0
  3. package/lib/bot/BotBase.d.ts +82 -0
  4. package/lib/bot/BotBase.js +144 -0
  5. package/lib/bot/BotBase.js.map +1 -0
  6. package/lib/bot/BotEvents.d.ts +87 -0
  7. package/lib/bot/BotEvents.js +51 -0
  8. package/lib/bot/BotEvents.js.map +1 -0
  9. package/lib/bot/BotServer.d.ts +34 -0
  10. package/lib/bot/BotServer.js +118 -0
  11. package/lib/bot/BotServer.js.map +1 -0
  12. package/lib/bot/BotStatus.d.ts +4 -0
  13. package/lib/bot/BotStatus.js +9 -0
  14. package/lib/bot/BotStatus.js.map +1 -0
  15. package/lib/bot/IBot.d.ts +292 -0
  16. package/lib/bot/IBot.js +3 -0
  17. package/lib/bot/IBot.js.map +1 -0
  18. package/lib/bot/index.d.ts +5 -0
  19. package/lib/bot/index.js +13 -0
  20. package/lib/bot/index.js.map +1 -0
  21. package/lib/client/Client.d.ts +120 -0
  22. package/lib/client/Client.js +687 -0
  23. package/lib/client/Client.js.map +1 -0
  24. package/lib/client/ClientEvents.d.ts +147 -0
  25. package/lib/client/ClientEvents.js +93 -0
  26. package/lib/client/ClientEvents.js.map +1 -0
  27. package/lib/client/ClientFunctionHandler.d.ts +15 -0
  28. package/lib/client/ClientFunctionHandler.js +70 -0
  29. package/lib/client/ClientFunctionHandler.js.map +1 -0
  30. package/lib/client/ConnectionType.d.ts +4 -0
  31. package/lib/client/ConnectionType.js +3 -0
  32. package/lib/client/ConnectionType.js.map +1 -0
  33. package/lib/client/IAuth.d.ts +9 -0
  34. package/lib/client/IAuth.js +3 -0
  35. package/lib/client/IAuth.js.map +1 -0
  36. package/lib/client/IClient.d.ts +358 -0
  37. package/lib/client/IClient.js +3 -0
  38. package/lib/client/IClient.js.map +1 -0
  39. package/lib/client/index.d.ts +7 -0
  40. package/lib/client/index.js +13 -0
  41. package/lib/client/index.js.map +1 -0
  42. package/lib/cluster/ClientCluster.d.ts +428 -0
  43. package/lib/cluster/ClientCluster.js +1746 -0
  44. package/lib/cluster/ClientCluster.js.map +1 -0
  45. package/lib/cluster/WorkerMessage.d.ts +99 -0
  46. package/lib/cluster/WorkerMessage.js +84 -0
  47. package/lib/cluster/WorkerMessage.js.map +1 -0
  48. package/lib/cluster/index.d.ts +5 -0
  49. package/lib/cluster/index.js +27 -0
  50. package/lib/cluster/index.js.map +1 -0
  51. package/lib/configs/ConnectionConfig.d.ts +22 -0
  52. package/lib/configs/ConnectionConfig.js +3 -0
  53. package/lib/configs/ConnectionConfig.js.map +1 -0
  54. package/lib/configs/Defaults.d.ts +2 -0
  55. package/lib/configs/Defaults.js +16 -0
  56. package/lib/configs/Defaults.js.map +1 -0
  57. package/lib/configs/WAConfigs.d.ts +1 -0
  58. package/lib/configs/WAConfigs.js +5 -0
  59. package/lib/configs/WAConfigs.js.map +1 -0
  60. package/lib/configs/index.d.ts +3 -0
  61. package/lib/configs/index.js +18 -0
  62. package/lib/configs/index.js.map +1 -0
  63. package/lib/errors/ChatNotDefinedError.d.ts +4 -0
  64. package/lib/errors/ChatNotDefinedError.js +9 -0
  65. package/lib/errors/ChatNotDefinedError.js.map +1 -0
  66. package/lib/errors/ClientNotDefinedError.d.ts +4 -0
  67. package/lib/errors/ClientNotDefinedError.js +9 -0
  68. package/lib/errors/ClientNotDefinedError.js.map +1 -0
  69. package/lib/errors/UserNotDefinedError.d.ts +4 -0
  70. package/lib/errors/UserNotDefinedError.js +9 -0
  71. package/lib/errors/UserNotDefinedError.js.map +1 -0
  72. package/lib/index.d.ts +17 -0
  73. package/lib/index.js +60 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/messages/AudioMessage.d.ts +42 -0
  76. package/lib/messages/AudioMessage.js +66 -0
  77. package/lib/messages/AudioMessage.js.map +1 -0
  78. package/lib/messages/ButtonMessage.d.ts +88 -0
  79. package/lib/messages/ButtonMessage.js +137 -0
  80. package/lib/messages/ButtonMessage.js.map +1 -0
  81. package/lib/messages/ContactMessage.d.ts +37 -0
  82. package/lib/messages/ContactMessage.js +93 -0
  83. package/lib/messages/ContactMessage.js.map +1 -0
  84. package/lib/messages/CustomMessage.d.ts +35 -0
  85. package/lib/messages/CustomMessage.js +88 -0
  86. package/lib/messages/CustomMessage.js.map +1 -0
  87. package/lib/messages/EmptyMessage.d.ts +25 -0
  88. package/lib/messages/EmptyMessage.js +78 -0
  89. package/lib/messages/EmptyMessage.js.map +1 -0
  90. package/lib/messages/ErrorMessage.d.ts +35 -0
  91. package/lib/messages/ErrorMessage.js +86 -0
  92. package/lib/messages/ErrorMessage.js.map +1 -0
  93. package/lib/messages/FileMessage.d.ts +36 -0
  94. package/lib/messages/FileMessage.js +60 -0
  95. package/lib/messages/FileMessage.js.map +1 -0
  96. package/lib/messages/ImageMessage.d.ts +41 -0
  97. package/lib/messages/ImageMessage.js +65 -0
  98. package/lib/messages/ImageMessage.js.map +1 -0
  99. package/lib/messages/ListMessage.d.ts +91 -0
  100. package/lib/messages/ListMessage.js +126 -0
  101. package/lib/messages/ListMessage.js.map +1 -0
  102. package/lib/messages/LocationMessage.d.ts +48 -0
  103. package/lib/messages/LocationMessage.js +107 -0
  104. package/lib/messages/LocationMessage.js.map +1 -0
  105. package/lib/messages/MediaMessage.d.ts +54 -0
  106. package/lib/messages/MediaMessage.js +113 -0
  107. package/lib/messages/MediaMessage.js.map +1 -0
  108. package/lib/messages/Message.d.ts +144 -0
  109. package/lib/messages/Message.js +223 -0
  110. package/lib/messages/Message.js.map +1 -0
  111. package/lib/messages/PollMessage.d.ts +87 -0
  112. package/lib/messages/PollMessage.js +145 -0
  113. package/lib/messages/PollMessage.js.map +1 -0
  114. package/lib/messages/PollUpdateMessage.d.ts +40 -0
  115. package/lib/messages/PollUpdateMessage.js +98 -0
  116. package/lib/messages/PollUpdateMessage.js.map +1 -0
  117. package/lib/messages/ReactionMessage.d.ts +36 -0
  118. package/lib/messages/ReactionMessage.js +91 -0
  119. package/lib/messages/ReactionMessage.js.map +1 -0
  120. package/lib/messages/StickerMessage.d.ts +49 -0
  121. package/lib/messages/StickerMessage.js +73 -0
  122. package/lib/messages/StickerMessage.js.map +1 -0
  123. package/lib/messages/TextMessage.d.ts +33 -0
  124. package/lib/messages/TextMessage.js +84 -0
  125. package/lib/messages/TextMessage.js.map +1 -0
  126. package/lib/messages/VideoMessage.d.ts +42 -0
  127. package/lib/messages/VideoMessage.js +66 -0
  128. package/lib/messages/VideoMessage.js.map +1 -0
  129. package/lib/messages/index.d.ts +19 -0
  130. package/lib/messages/index.js +81 -0
  131. package/lib/messages/index.js.map +1 -0
  132. package/lib/models/Address.d.ts +11 -0
  133. package/lib/models/Address.js +18 -0
  134. package/lib/models/Address.js.map +1 -0
  135. package/lib/models/Call.d.ts +68 -0
  136. package/lib/models/Call.js +127 -0
  137. package/lib/models/Call.js.map +1 -0
  138. package/lib/modules/chat/Chat.d.ts +142 -0
  139. package/lib/modules/chat/Chat.js +246 -0
  140. package/lib/modules/chat/Chat.js.map +1 -0
  141. package/lib/modules/chat/ChatAction.d.ts +3 -0
  142. package/lib/modules/chat/ChatAction.js +3 -0
  143. package/lib/modules/chat/ChatAction.js.map +1 -0
  144. package/lib/modules/chat/ChatStatus.d.ts +9 -0
  145. package/lib/modules/chat/ChatStatus.js +13 -0
  146. package/lib/modules/chat/ChatStatus.js.map +1 -0
  147. package/lib/modules/chat/ChatType.d.ts +7 -0
  148. package/lib/modules/chat/ChatType.js +11 -0
  149. package/lib/modules/chat/ChatType.js.map +1 -0
  150. package/lib/modules/chat/index.d.ts +5 -0
  151. package/lib/modules/chat/index.js +13 -0
  152. package/lib/modules/chat/index.js.map +1 -0
  153. package/lib/modules/command/Command.d.ts +67 -0
  154. package/lib/modules/command/Command.js +139 -0
  155. package/lib/modules/command/Command.js.map +1 -0
  156. package/lib/modules/command/CommandController.d.ts +50 -0
  157. package/lib/modules/command/CommandController.js +119 -0
  158. package/lib/modules/command/CommandController.js.map +1 -0
  159. package/lib/modules/command/CommandControllerEvent.d.ts +9 -0
  160. package/lib/modules/command/CommandControllerEvent.js +25 -0
  161. package/lib/modules/command/CommandControllerEvent.js.map +1 -0
  162. package/lib/modules/command/CommandEnums.d.ts +14 -0
  163. package/lib/modules/command/CommandEnums.js +20 -0
  164. package/lib/modules/command/CommandEnums.js.map +1 -0
  165. package/lib/modules/command/CommandKey.d.ts +17 -0
  166. package/lib/modules/command/CommandKey.js +67 -0
  167. package/lib/modules/command/CommandKey.js.map +1 -0
  168. package/lib/modules/command/CommandPermission.d.ts +9 -0
  169. package/lib/modules/command/CommandPermission.js +35 -0
  170. package/lib/modules/command/CommandPermission.js.map +1 -0
  171. package/lib/modules/command/ICommandControllerConfig.d.ts +7 -0
  172. package/lib/modules/command/ICommandControllerConfig.js +3 -0
  173. package/lib/modules/command/ICommandControllerConfig.js.map +1 -0
  174. package/lib/modules/command/advanced/AdvancedCommand.d.ts +23 -0
  175. package/lib/modules/command/advanced/AdvancedCommand.js +131 -0
  176. package/lib/modules/command/advanced/AdvancedCommand.js.map +1 -0
  177. package/lib/modules/command/advanced/AdvancedCommandContext.d.ts +10 -0
  178. package/lib/modules/command/advanced/AdvancedCommandContext.js +3 -0
  179. package/lib/modules/command/advanced/AdvancedCommandContext.js.map +1 -0
  180. package/lib/modules/command/advanced/AdvancedCommandController.d.ts +29 -0
  181. package/lib/modules/command/advanced/AdvancedCommandController.js +118 -0
  182. package/lib/modules/command/advanced/AdvancedCommandController.js.map +1 -0
  183. package/lib/modules/command/advanced/AdvancedCommandData.d.ts +6 -0
  184. package/lib/modules/command/advanced/AdvancedCommandData.js +3 -0
  185. package/lib/modules/command/advanced/AdvancedCommandData.js.map +1 -0
  186. package/lib/modules/command/advanced/AdvancedCommandJob.d.ts +12 -0
  187. package/lib/modules/command/advanced/AdvancedCommandJob.js +3 -0
  188. package/lib/modules/command/advanced/AdvancedCommandJob.js.map +1 -0
  189. package/lib/modules/command/advanced/AdvancedCommandNext.d.ts +4 -0
  190. package/lib/modules/command/advanced/AdvancedCommandNext.js +3 -0
  191. package/lib/modules/command/advanced/AdvancedCommandNext.js.map +1 -0
  192. package/lib/modules/command/advanced/AdvancedCommandOptions.d.ts +8 -0
  193. package/lib/modules/command/advanced/AdvancedCommandOptions.js +3 -0
  194. package/lib/modules/command/advanced/AdvancedCommandOptions.js.map +1 -0
  195. package/lib/modules/command/advanced/AdvancedCommandStart.d.ts +11 -0
  196. package/lib/modules/command/advanced/AdvancedCommandStart.js +3 -0
  197. package/lib/modules/command/advanced/AdvancedCommandStart.js.map +1 -0
  198. package/lib/modules/command/advanced/AdvancedCommandStop.d.ts +3 -0
  199. package/lib/modules/command/advanced/AdvancedCommandStop.js +3 -0
  200. package/lib/modules/command/advanced/AdvancedCommandStop.js.map +1 -0
  201. package/lib/modules/command/advanced/AdvancedCommandTask.d.ts +2 -0
  202. package/lib/modules/command/advanced/AdvancedCommandTask.js +3 -0
  203. package/lib/modules/command/advanced/AdvancedCommandTask.js.map +1 -0
  204. package/lib/modules/command/defaults.d.ts +2 -0
  205. package/lib/modules/command/defaults.js +8 -0
  206. package/lib/modules/command/defaults.js.map +1 -0
  207. package/lib/modules/command/index.d.ts +12 -0
  208. package/lib/modules/command/index.js +36 -0
  209. package/lib/modules/command/index.js.map +1 -0
  210. package/lib/modules/command/keys.d.ts +9 -0
  211. package/lib/modules/command/keys.js +27 -0
  212. package/lib/modules/command/keys.js.map +1 -0
  213. package/lib/modules/command/perms.d.ts +2 -0
  214. package/lib/modules/command/perms.js +11 -0
  215. package/lib/modules/command/perms.js.map +1 -0
  216. package/lib/modules/quickResponse/QuickResponse.d.ts +49 -0
  217. package/lib/modules/quickResponse/QuickResponse.js +64 -0
  218. package/lib/modules/quickResponse/QuickResponse.js.map +1 -0
  219. package/lib/modules/quickResponse/QuickResponseController.d.ts +55 -0
  220. package/lib/modules/quickResponse/QuickResponseController.js +125 -0
  221. package/lib/modules/quickResponse/QuickResponseController.js.map +1 -0
  222. package/lib/modules/quickResponse/QuickResponseOptions.d.ts +56 -0
  223. package/lib/modules/quickResponse/QuickResponseOptions.js +76 -0
  224. package/lib/modules/quickResponse/QuickResponseOptions.js.map +1 -0
  225. package/lib/modules/quickResponse/QuickResponsePattern.d.ts +28 -0
  226. package/lib/modules/quickResponse/QuickResponsePattern.js +3 -0
  227. package/lib/modules/quickResponse/QuickResponsePattern.js.map +1 -0
  228. package/lib/modules/quickResponse/QuickResponseReply.d.ts +6 -0
  229. package/lib/modules/quickResponse/QuickResponseReply.js +3 -0
  230. package/lib/modules/quickResponse/QuickResponseReply.js.map +1 -0
  231. package/lib/modules/quickResponse/index.d.ts +6 -0
  232. package/lib/modules/quickResponse/index.js +13 -0
  233. package/lib/modules/quickResponse/index.js.map +1 -0
  234. package/lib/modules/user/User.d.ts +91 -0
  235. package/lib/modules/user/User.js +173 -0
  236. package/lib/modules/user/User.js.map +1 -0
  237. package/lib/modules/user/UserAction.d.ts +4 -0
  238. package/lib/modules/user/UserAction.js +3 -0
  239. package/lib/modules/user/UserAction.js.map +1 -0
  240. package/lib/modules/user/UserEvent.d.ts +3 -0
  241. package/lib/modules/user/UserEvent.js +3 -0
  242. package/lib/modules/user/UserEvent.js.map +1 -0
  243. package/lib/modules/user/index.d.ts +4 -0
  244. package/lib/modules/user/index.js +9 -0
  245. package/lib/modules/user/index.js.map +1 -0
  246. package/lib/routes/botServer/api/v1/emitEvent.d.ts +3 -0
  247. package/lib/routes/botServer/api/v1/emitEvent.js +17 -0
  248. package/lib/routes/botServer/api/v1/emitEvent.js.map +1 -0
  249. package/lib/routes/botServer/api/v1/function.d.ts +3 -0
  250. package/lib/routes/botServer/api/v1/function.js +22 -0
  251. package/lib/routes/botServer/api/v1/function.js.map +1 -0
  252. package/lib/routes/botServer/api/v1/ping.d.ts +3 -0
  253. package/lib/routes/botServer/api/v1/ping.js +12 -0
  254. package/lib/routes/botServer/api/v1/ping.js.map +1 -0
  255. package/lib/routes/botServer/api/v1/register.d.ts +3 -0
  256. package/lib/routes/botServer/api/v1/register.js +23 -0
  257. package/lib/routes/botServer/api/v1/register.js.map +1 -0
  258. package/lib/routes/botServer/api/v1/setValue.d.ts +3 -0
  259. package/lib/routes/botServer/api/v1/setValue.js +18 -0
  260. package/lib/routes/botServer/api/v1/setValue.js.map +1 -0
  261. package/lib/routes/botServer/api/v1/unregister.d.ts +3 -0
  262. package/lib/routes/botServer/api/v1/unregister.js +22 -0
  263. package/lib/routes/botServer/api/v1/unregister.js.map +1 -0
  264. package/lib/routes/botServer/middlewares/setBotServer.d.ts +4 -0
  265. package/lib/routes/botServer/middlewares/setBotServer.js +16 -0
  266. package/lib/routes/botServer/middlewares/setBotServer.js.map +1 -0
  267. package/lib/routes/botServer/routes.d.ts +8 -0
  268. package/lib/routes/botServer/routes.js +33 -0
  269. package/lib/routes/botServer/routes.js.map +1 -0
  270. package/lib/services/AddressService.d.ts +12 -0
  271. package/lib/services/AddressService.js +51 -0
  272. package/lib/services/AddressService.js.map +1 -0
  273. package/lib/services/BaseService.d.ts +5 -0
  274. package/lib/services/BaseService.js +19 -0
  275. package/lib/services/BaseService.js.map +1 -0
  276. package/lib/services/index.d.ts +3 -0
  277. package/lib/services/index.js +11 -0
  278. package/lib/services/index.js.map +1 -0
  279. package/lib/telegram/TelegramAuth.d.ts +17 -0
  280. package/lib/telegram/TelegramAuth.js +96 -0
  281. package/lib/telegram/TelegramAuth.js.map +1 -0
  282. package/lib/telegram/TelegramBot.d.ts +88 -0
  283. package/lib/telegram/TelegramBot.js +345 -0
  284. package/lib/telegram/TelegramBot.js.map +1 -0
  285. package/lib/telegram/TelegramEvents.d.ts +13 -0
  286. package/lib/telegram/TelegramEvents.js +131 -0
  287. package/lib/telegram/TelegramEvents.js.map +1 -0
  288. package/lib/telegram/TelegramSendingController.d.ts +36 -0
  289. package/lib/telegram/TelegramSendingController.js +213 -0
  290. package/lib/telegram/TelegramSendingController.js.map +1 -0
  291. package/lib/telegram/TelegramToRompotConverter.d.ts +22 -0
  292. package/lib/telegram/TelegramToRompotConverter.js +226 -0
  293. package/lib/telegram/TelegramToRompotConverter.js.map +1 -0
  294. package/lib/telegram/TelegramUtils.d.ts +14 -0
  295. package/lib/telegram/TelegramUtils.js +98 -0
  296. package/lib/telegram/TelegramUtils.js.map +1 -0
  297. package/lib/telegram/index.d.ts +7 -0
  298. package/lib/telegram/index.js +19 -0
  299. package/lib/telegram/index.js.map +1 -0
  300. package/lib/utils/ClientUtils.d.ts +27 -0
  301. package/lib/utils/ClientUtils.js +62 -0
  302. package/lib/utils/ClientUtils.js.map +1 -0
  303. package/lib/utils/Generic.d.ts +47 -0
  304. package/lib/utils/Generic.js +173 -0
  305. package/lib/utils/Generic.js.map +1 -0
  306. package/lib/utils/Libs.d.ts +10 -0
  307. package/lib/utils/Libs.js +55 -0
  308. package/lib/utils/Libs.js.map +1 -0
  309. package/lib/utils/MessageHandler.d.ts +54 -0
  310. package/lib/utils/MessageHandler.js +81 -0
  311. package/lib/utils/MessageHandler.js.map +1 -0
  312. package/lib/utils/MessageUtils.d.ts +3 -0
  313. package/lib/utils/MessageUtils.js +114 -0
  314. package/lib/utils/MessageUtils.js.map +1 -0
  315. package/lib/utils/index.d.ts +6 -0
  316. package/lib/utils/index.js +27 -0
  317. package/lib/utils/index.js.map +1 -0
  318. package/lib/utils/nonce.d.ts +1 -0
  319. package/lib/utils/nonce.js +16 -0
  320. package/lib/utils/nonce.js.map +1 -0
  321. package/lib/utils/server.d.ts +33 -0
  322. package/lib/utils/server.js +75 -0
  323. package/lib/utils/server.js.map +1 -0
  324. package/lib/wa/Auth.d.ts +19 -0
  325. package/lib/wa/Auth.js +123 -0
  326. package/lib/wa/Auth.js.map +1 -0
  327. package/lib/wa/ConfigWAEvents.d.ts +22 -0
  328. package/lib/wa/ConfigWAEvents.js +526 -0
  329. package/lib/wa/ConfigWAEvents.js.map +1 -0
  330. package/lib/wa/ConvertToWAMessage.d.ts +67 -0
  331. package/lib/wa/ConvertToWAMessage.js +403 -0
  332. package/lib/wa/ConvertToWAMessage.js.map +1 -0
  333. package/lib/wa/ConvertWAMessage.d.ts +108 -0
  334. package/lib/wa/ConvertWAMessage.js +527 -0
  335. package/lib/wa/ConvertWAMessage.js.map +1 -0
  336. package/lib/wa/ID.d.ts +4 -0
  337. package/lib/wa/ID.js +19 -0
  338. package/lib/wa/ID.js.map +1 -0
  339. package/lib/wa/WAMessage.d.ts +3 -0
  340. package/lib/wa/WAMessage.js +8 -0
  341. package/lib/wa/WAMessage.js.map +1 -0
  342. package/lib/wa/WAModule.d.ts +3 -0
  343. package/lib/wa/WAModule.js +3 -0
  344. package/lib/wa/WAModule.js.map +1 -0
  345. package/lib/wa/WAStatus.d.ts +3 -0
  346. package/lib/wa/WAStatus.js +15 -0
  347. package/lib/wa/WAStatus.js.map +1 -0
  348. package/lib/wa/WhatsAppBot.d.ts +188 -0
  349. package/lib/wa/WhatsAppBot.js +980 -0
  350. package/lib/wa/WhatsAppBot.js.map +1 -0
  351. package/lib/wa/index.d.ts +12 -0
  352. package/lib/wa/index.js +37 -0
  353. package/lib/wa/index.js.map +1 -0
  354. package/lib/wa/makeInMemoryStore.d.ts +43 -0
  355. package/lib/wa/makeInMemoryStore.js +430 -0
  356. package/lib/wa/makeInMemoryStore.js.map +1 -0
  357. package/package.json +79 -0
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Chat_1 = __importDefault(require("../modules/chat/Chat"));
7
+ const User_1 = __importDefault(require("../modules/user/User"));
8
+ const TelegramToRompotConverter_1 = __importDefault(require("./TelegramToRompotConverter"));
9
+ const TelegramUtils_1 = require("./TelegramUtils");
10
+ class TelegramEvents {
11
+ constructor(telegram) {
12
+ this.telegram = telegram;
13
+ }
14
+ configAll() {
15
+ this.configMessage();
16
+ this.configNewChatMembers();
17
+ this.configLeftChatMember();
18
+ }
19
+ configMessage() {
20
+ const receievMessage = async (msg) => {
21
+ if (msg === null || msg === void 0 ? void 0 : msg.new_chat_members)
22
+ return;
23
+ if (msg === null || msg === void 0 ? void 0 : msg.left_chat_member)
24
+ return;
25
+ const converter = new TelegramToRompotConverter_1.default(msg);
26
+ const rompotMessage = await converter.convert(true);
27
+ await this.update(rompotMessage.user);
28
+ await this.update(rompotMessage.chat);
29
+ this.telegram.emit("message", rompotMessage);
30
+ };
31
+ this.telegram.bot.on("message", receievMessage);
32
+ this.telegram.bot.on("edited_message", receievMessage);
33
+ }
34
+ configNewChatMembers() {
35
+ this.telegram.bot.on("new_chat_members", async (msg) => {
36
+ const converter = new TelegramToRompotConverter_1.default(msg);
37
+ const rompotMessage = await converter.convert(true);
38
+ for (const member of msg.new_chat_members || []) {
39
+ const userId = TelegramUtils_1.TelegramUtils.getId(member);
40
+ const user = User_1.default.fromJSON({
41
+ ...((await this.telegram.getUser(new User_1.default(userId))) || {}),
42
+ id: userId,
43
+ name: TelegramUtils_1.TelegramUtils.getName(member),
44
+ nickname: TelegramUtils_1.TelegramUtils.getNickname(member),
45
+ phoneNumber: TelegramUtils_1.TelegramUtils.getPhoneNumber(userId),
46
+ });
47
+ await this.updateChatUsers("add", rompotMessage.chat, user);
48
+ await this.update(user);
49
+ await this.update(rompotMessage.user);
50
+ await this.update(rompotMessage.chat);
51
+ if (rompotMessage.user.id == user.id) {
52
+ this.telegram.emit("user", { action: "join", event: "add", user, chat: rompotMessage.chat, fromUser: rompotMessage.user });
53
+ }
54
+ else {
55
+ this.telegram.emit("user", { action: "add", event: "add", user, chat: rompotMessage.chat, fromUser: rompotMessage.user });
56
+ }
57
+ }
58
+ });
59
+ }
60
+ configLeftChatMember() {
61
+ this.telegram.bot.on("left_chat_member", async (msg) => {
62
+ const converter = new TelegramToRompotConverter_1.default(msg);
63
+ const rompotMessage = await converter.convert(true);
64
+ const userId = TelegramUtils_1.TelegramUtils.getId(msg.left_chat_member);
65
+ const user = User_1.default.fromJSON({
66
+ ...((await this.telegram.getUser(new User_1.default(userId))) || {}),
67
+ id: userId,
68
+ name: TelegramUtils_1.TelegramUtils.getName(msg.left_chat_member),
69
+ nickname: TelegramUtils_1.TelegramUtils.getNickname(msg.left_chat_member),
70
+ phoneNumber: TelegramUtils_1.TelegramUtils.getPhoneNumber(userId),
71
+ });
72
+ await this.update(user);
73
+ await this.update(rompotMessage.user);
74
+ await this.update(rompotMessage.chat);
75
+ await this.updateChatUsers("remove", rompotMessage.chat, user);
76
+ if (rompotMessage.user.id == user.id) {
77
+ this.telegram.emit("user", { action: "leave", event: "remove", user, chat: rompotMessage.chat, fromUser: rompotMessage.user });
78
+ }
79
+ else {
80
+ this.telegram.emit("user", { action: "remove", event: "remove", user, chat: rompotMessage.chat, fromUser: rompotMessage.user });
81
+ }
82
+ });
83
+ }
84
+ async update(data) {
85
+ try {
86
+ if (!data)
87
+ return;
88
+ if (data instanceof User_1.default) {
89
+ return await this.telegram.updateUser(data);
90
+ }
91
+ if (data instanceof Chat_1.default) {
92
+ return await this.telegram.updateChat(data);
93
+ }
94
+ }
95
+ catch (error) {
96
+ this.telegram.emit("error", error);
97
+ }
98
+ }
99
+ async updateChatUsers(action, chat, ...users) {
100
+ try {
101
+ chat = Chat_1.default.fromJSON({
102
+ ...((await this.telegram.getChat(chat)) || {}),
103
+ ...chat,
104
+ });
105
+ if (action == "add") {
106
+ let users = chat.users || [];
107
+ users = users.filter((user) => !users.includes(user));
108
+ if (users.length == 0)
109
+ return;
110
+ chat.users = users;
111
+ await this.update(chat);
112
+ }
113
+ else if (action == "remove") {
114
+ const userIds = users.map((user) => user.id);
115
+ if (userIds.includes(this.telegram.id)) {
116
+ await this.telegram.removeChat(chat);
117
+ }
118
+ else {
119
+ const users = chat.users || [];
120
+ chat.users = users.filter((userId) => !userIds.includes(userId));
121
+ await this.update(chat);
122
+ }
123
+ }
124
+ }
125
+ catch (error) {
126
+ this.telegram.emit("error", error);
127
+ }
128
+ }
129
+ }
130
+ exports.default = TelegramEvents;
131
+ //# sourceMappingURL=TelegramEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelegramEvents.js","sourceRoot":"","sources":["../../src/telegram/TelegramEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import TelegramBotAPI from 'node-telegram-bot-api';
2
+ import LocationMessage from '../messages/LocationMessage';
3
+ import ReactionMessage from '../messages/ReactionMessage';
4
+ import ContactMessage from '../messages/ContactMessage';
5
+ import StickerMessage from '../messages/StickerMessage';
6
+ import MediaMessage from '../messages/MediaMessage';
7
+ import ImageMessage from '../messages/ImageMessage';
8
+ import AudioMessage from '../messages/AudioMessage';
9
+ import VideoMessage from '../messages/VideoMessage';
10
+ import TextMessage from '../messages/TextMessage';
11
+ import FileMessage from '../messages/FileMessage';
12
+ import PollMessage from '../messages/PollMessage';
13
+ import Message from '../messages/Message';
14
+ import ButtonMessage from '../messages/ButtonMessage';
15
+ import TelegramBot from './TelegramBot';
16
+ export default class TelegramSendingController {
17
+ telegram: TelegramBot;
18
+ constructor(telegram: TelegramBot);
19
+ send(message: Message): Promise<Message>;
20
+ sendMessage(message: Message): Promise<Message>;
21
+ sendText(message: TextMessage): Promise<Message>;
22
+ sendReaction(message: ReactionMessage): Promise<Message>;
23
+ sendContact(message: ContactMessage): Promise<Message>;
24
+ sendLocation(message: LocationMessage): Promise<Message>;
25
+ sendPoll(message: PollMessage): Promise<Message>;
26
+ sendAudio(message: AudioMessage): Promise<Message>;
27
+ sendImage(message: ImageMessage): Promise<Message>;
28
+ sendVideo(message: VideoMessage): Promise<Message>;
29
+ sendSticker(message: StickerMessage): Promise<Message>;
30
+ sendFile(message: FileMessage): Promise<Message>;
31
+ sendMedia(message: MediaMessage): Promise<Message>;
32
+ sendButtonMessage(message: ButtonMessage): Promise<Message>;
33
+ sendEditedMessage(message: Message): Promise<void>;
34
+ static getOptions(message: Message, options?: TelegramBotAPI.SendBasicOptions & TelegramBotAPI.SendAudioOptions & TelegramBotAPI.SendVoiceOptions & TelegramBotAPI.SendAnimationOptions & TelegramBotAPI.SendVideoOptions & TelegramBotAPI.SendDocumentOptions & TelegramBotAPI.SendContactOptions & TelegramBotAPI.SendLocationOptions & TelegramBotAPI.SendPollOptions & TelegramBotAPI.SendDiceOptions & TelegramBotAPI.EditMessageTextOptions): TelegramBotAPI.SendBasicOptions & TelegramBotAPI.SendAudioOptions & TelegramBotAPI.SendVoiceOptions & TelegramBotAPI.SendAnimationOptions & TelegramBotAPI.SendVideoOptions & TelegramBotAPI.SendDocumentOptions & TelegramBotAPI.SendContactOptions & TelegramBotAPI.SendLocationOptions & TelegramBotAPI.SendPollOptions & TelegramBotAPI.SendDiceOptions & TelegramBotAPI.EditMessageTextOptions;
35
+ static getFileOptions(message: MediaMessage, options?: TelegramBotAPI.FileOptions): TelegramBotAPI.FileOptions;
36
+ }
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const LocationMessage_1 = __importDefault(require("../messages/LocationMessage"));
7
+ const ReactionMessage_1 = __importDefault(require("../messages/ReactionMessage"));
8
+ const ContactMessage_1 = __importDefault(require("../messages/ContactMessage"));
9
+ const StickerMessage_1 = __importDefault(require("../messages/StickerMessage"));
10
+ const MediaMessage_1 = __importDefault(require("../messages/MediaMessage"));
11
+ const ImageMessage_1 = __importDefault(require("../messages/ImageMessage"));
12
+ const AudioMessage_1 = __importDefault(require("../messages/AudioMessage"));
13
+ const VideoMessage_1 = __importDefault(require("../messages/VideoMessage"));
14
+ const TextMessage_1 = __importDefault(require("../messages/TextMessage"));
15
+ const FileMessage_1 = __importDefault(require("../messages/FileMessage"));
16
+ const PollMessage_1 = __importDefault(require("../messages/PollMessage"));
17
+ const ButtonMessage_1 = __importDefault(require("../messages/ButtonMessage"));
18
+ const ButtonMessage_2 = require("../messages/ButtonMessage");
19
+ const TelegramToRompotConverter_1 = __importDefault(require("./TelegramToRompotConverter"));
20
+ const TelegramUtils_1 = require("./TelegramUtils");
21
+ class TelegramSendingController {
22
+ constructor(telegram) {
23
+ this.telegram = telegram;
24
+ }
25
+ async send(message) {
26
+ if (ButtonMessage_1.default.isValid(message)) {
27
+ return await this.sendButtonMessage(message);
28
+ }
29
+ if (TextMessage_1.default.isValid(message)) {
30
+ return await this.sendText(message);
31
+ }
32
+ if (ReactionMessage_1.default.isValid(message)) {
33
+ return await this.sendReaction(message);
34
+ }
35
+ if (ContactMessage_1.default.isValid(message)) {
36
+ return await this.sendContact(message);
37
+ }
38
+ if (LocationMessage_1.default.isValid(message)) {
39
+ return await this.sendLocation(message);
40
+ }
41
+ if (PollMessage_1.default.isValid(message)) {
42
+ return await this.sendPoll(message);
43
+ }
44
+ if (AudioMessage_1.default.isValid(message)) {
45
+ return await this.sendAudio(message);
46
+ }
47
+ if (ImageMessage_1.default.isValid(message)) {
48
+ return await this.sendImage(message);
49
+ }
50
+ if (VideoMessage_1.default.isValid(message)) {
51
+ return await this.sendVideo(message);
52
+ }
53
+ if (StickerMessage_1.default.isValid(message)) {
54
+ return await this.sendSticker(message);
55
+ }
56
+ if (FileMessage_1.default.isValid(message)) {
57
+ return await this.sendFile(message);
58
+ }
59
+ if (MediaMessage_1.default.isValid(message)) {
60
+ return await this.sendMedia(message);
61
+ }
62
+ return await this.sendMessage(message);
63
+ }
64
+ async sendMessage(message) {
65
+ const options = TelegramSendingController.getOptions(message);
66
+ const telegramMessage = await this.telegram.bot.sendMessage(Number(message.chat.id), `${message.text}`, options);
67
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
68
+ }
69
+ async sendText(message) {
70
+ const options = TelegramSendingController.getOptions(message);
71
+ const telegramMessage = await this.telegram.bot.sendMessage(Number(message.chat.id), `${message.text}`, options);
72
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
73
+ }
74
+ async sendReaction(message) {
75
+ const options = TelegramSendingController.getOptions(message);
76
+ const telegramMessage = await this.telegram.bot.sendDice(Number(message.chat.id), options);
77
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
78
+ }
79
+ async sendContact(message) {
80
+ var _a;
81
+ const options = TelegramSendingController.getOptions(message);
82
+ const telegramMessage = await this.telegram.bot.sendContact(Number(message.chat.id), TelegramUtils_1.TelegramUtils.getPhoneNumber(((_a = message.contacts.shift()) === null || _a === void 0 ? void 0 : _a.id) || ''), `${message.text}`, options);
83
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
84
+ }
85
+ async sendLocation(message) {
86
+ const options = TelegramSendingController.getOptions(message);
87
+ const telegramMessage = await this.telegram.bot.sendLocation(Number(message.chat.id), Number(message.latitude || 0), Number(message.longitude || 0), options);
88
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
89
+ }
90
+ async sendPoll(message) {
91
+ const options = TelegramSendingController.getOptions(message);
92
+ const telegramMessage = await this.telegram.bot.sendPoll(Number(message.chat.id), `${message.text}`, message.options.map((option) => `${option.name || ''}`), options);
93
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
94
+ }
95
+ async sendAudio(message) {
96
+ const options = TelegramSendingController.getOptions(message);
97
+ const fileOptions = TelegramSendingController.getFileOptions(message);
98
+ if (message.isPTT) {
99
+ var telegramMessage = await this.telegram.bot.sendVoice(Number(message.chat.id), await message.getStream(), options, fileOptions);
100
+ }
101
+ else {
102
+ var telegramMessage = await this.telegram.bot.sendAudio(Number(message.chat.id), await message.getStream(), options, fileOptions);
103
+ }
104
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
105
+ }
106
+ async sendImage(message) {
107
+ const options = TelegramSendingController.getOptions(message);
108
+ const fileOptions = TelegramSendingController.getFileOptions(message);
109
+ if (message.isGIF) {
110
+ var telegramMessage = await this.telegram.bot.sendAnimation(Number(message.chat.id), await message.getStream(), options);
111
+ }
112
+ else {
113
+ var telegramMessage = await this.telegram.bot.sendPhoto(Number(message.chat.id), await message.getStream(), options, fileOptions);
114
+ }
115
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
116
+ }
117
+ async sendVideo(message) {
118
+ const options = TelegramSendingController.getOptions(message);
119
+ const fileOptions = TelegramSendingController.getFileOptions(message);
120
+ const telegramMessage = await this.telegram.bot.sendVideo(Number(message.chat.id), await message.getStream(), options, fileOptions);
121
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
122
+ }
123
+ async sendSticker(message) {
124
+ const options = TelegramSendingController.getOptions(message);
125
+ const fileOptions = TelegramSendingController.getFileOptions(message);
126
+ const telegramMessage = await this.telegram.bot.sendSticker(Number(message.chat.id), await message.getStream(), options, fileOptions);
127
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
128
+ }
129
+ async sendFile(message) {
130
+ const options = TelegramSendingController.getOptions(message);
131
+ const fileOptions = TelegramSendingController.getFileOptions(message);
132
+ const telegramMessage = await this.telegram.bot.sendDocument(Number(message.chat.id), await message.getStream(), options, fileOptions);
133
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
134
+ }
135
+ async sendMedia(message) {
136
+ const options = TelegramSendingController.getOptions(message);
137
+ const fileOptions = TelegramSendingController.getFileOptions(message);
138
+ const telegramMessage = await this.telegram.bot.sendDocument(Number(message.chat.id), await message.getStream(), options, fileOptions);
139
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
140
+ }
141
+ async sendButtonMessage(message) {
142
+ const options = TelegramSendingController.getOptions(message);
143
+ // Mapeia os botões do Rompot para InlineKeyboardMarkup do Telegram
144
+ options.reply_markup = {
145
+ inline_keyboard: [
146
+ message.buttons.map((btn) => {
147
+ if (btn.type === ButtonMessage_2.ButtonType.Url) {
148
+ return { text: btn.text, url: btn.content };
149
+ }
150
+ else if (btn.type === ButtonMessage_2.ButtonType.Call) {
151
+ // Telegram não suporta call direto, pode usar url tel:
152
+ return { text: btn.text, url: `tel:${btn.content}` };
153
+ }
154
+ else {
155
+ // Reply vira callback_data
156
+ return { text: btn.text, callback_data: btn.content };
157
+ }
158
+ }),
159
+ ],
160
+ };
161
+ const telegramMessage = await this.telegram.bot.sendMessage(Number(message.chat.id), `${message.text}`, options);
162
+ return await new TelegramToRompotConverter_1.default(telegramMessage).convert();
163
+ }
164
+ async sendEditedMessage(message) {
165
+ const options = TelegramSendingController.getOptions(message);
166
+ if (MediaMessage_1.default.isValid(message)) {
167
+ await this.telegram.bot.editMessageCaption(message.text, options);
168
+ }
169
+ else {
170
+ await this.telegram.bot.editMessageText(message.text, options);
171
+ }
172
+ }
173
+ static getOptions(message, options = {}) {
174
+ options.chat_id = Number(message.chat.id || 0);
175
+ options.message_id = Number(message.id || 0);
176
+ options.caption_entities = message.mentions.reduce((entities, mention) => {
177
+ const result = new RegExp(`@(${mention || ''})`).exec(`${message.text || ''}`);
178
+ const searchedMention = result === null || result === void 0 ? void 0 : result.shift();
179
+ if (searchedMention) {
180
+ entities.push({
181
+ type: 'mention',
182
+ offset: (result === null || result === void 0 ? void 0 : result.index) || 0,
183
+ length: searchedMention.length,
184
+ });
185
+ }
186
+ return entities;
187
+ }, []);
188
+ if (message.mention) {
189
+ options.reply_to_message_id = Number(message.mention.id || 0);
190
+ }
191
+ if (MediaMessage_1.default.isValid(message)) {
192
+ options.caption = `${message.text || ''}`;
193
+ options.title = `${message.name || ''}`;
194
+ if (AudioMessage_1.default.isValid(message)) {
195
+ options.duration = Number(message.duration || 0);
196
+ }
197
+ }
198
+ else if (ReactionMessage_1.default.isValid(message)) {
199
+ options.emoji = `${message.text || ''}`;
200
+ }
201
+ if (message.extra) {
202
+ Object.assign(options, message.extra);
203
+ }
204
+ return options;
205
+ }
206
+ static getFileOptions(message, options = {}) {
207
+ options.filename = `${message.name || ''}`;
208
+ options.contentType = `${message.mimetype || ''}`;
209
+ return options;
210
+ }
211
+ }
212
+ exports.default = TelegramSendingController;
213
+ //# sourceMappingURL=TelegramSendingController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelegramSendingController.js","sourceRoot":"","sources":["../../src/telegram/TelegramSendingController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import TelegramBotAPI from 'node-telegram-bot-api';
2
+ import Message from '../messages/Message';
3
+ export default class TelegramToRompotConverter {
4
+ telegramMessage: TelegramBotAPI.Message;
5
+ rompotMessage: Message;
6
+ constructor(telegramMessage: TelegramBotAPI.Message);
7
+ convert(received?: boolean): Promise<Message>;
8
+ convertText(): void;
9
+ convertMedia(): void;
10
+ convertAnimantion(): void;
11
+ convertPhoto(): void;
12
+ convertVideo(): void;
13
+ convertAudio(): void;
14
+ convertVoice(): void;
15
+ convertDocument(): void;
16
+ convertSticker(): void;
17
+ convertContact(): void;
18
+ convertDice(): void;
19
+ convertLocation(): void;
20
+ convertVenue(): void;
21
+ convertPoll(): void;
22
+ }
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Message_1 = require("../messages/Message");
7
+ const LocationMessage_1 = __importDefault(require("../messages/LocationMessage"));
8
+ const ReactionMessage_1 = __importDefault(require("../messages/ReactionMessage"));
9
+ const ContactMessage_1 = __importDefault(require("../messages/ContactMessage"));
10
+ const StickerMessage_1 = __importDefault(require("../messages/StickerMessage"));
11
+ const MediaMessage_1 = __importDefault(require("../messages/MediaMessage"));
12
+ const ImageMessage_1 = __importDefault(require("../messages/ImageMessage"));
13
+ const AudioMessage_1 = __importDefault(require("../messages/AudioMessage"));
14
+ const VideoMessage_1 = __importDefault(require("../messages/VideoMessage"));
15
+ const EmptyMessage_1 = __importDefault(require("../messages/EmptyMessage"));
16
+ const TextMessage_1 = __importDefault(require("../messages/TextMessage"));
17
+ const FileMessage_1 = __importDefault(require("../messages/FileMessage"));
18
+ const PollMessage_1 = __importDefault(require("../messages/PollMessage"));
19
+ const User_1 = __importDefault(require("../modules/user/User"));
20
+ const TelegramUtils_1 = require("./TelegramUtils");
21
+ class TelegramToRompotConverter {
22
+ constructor(telegramMessage) {
23
+ this.telegramMessage = telegramMessage;
24
+ this.rompotMessage = new EmptyMessage_1.default();
25
+ }
26
+ async convert(received) {
27
+ if (!this.telegramMessage || typeof this.telegramMessage != 'object') {
28
+ return this.rompotMessage;
29
+ }
30
+ this.rompotMessage.chat.id = TelegramUtils_1.TelegramUtils.getId(this.telegramMessage.chat);
31
+ this.rompotMessage.chat.name = TelegramUtils_1.TelegramUtils.getName(this.telegramMessage.chat);
32
+ this.rompotMessage.chat.type = TelegramUtils_1.TelegramUtils.getChatType(this.telegramMessage.chat);
33
+ this.rompotMessage.chat.nickname = TelegramUtils_1.TelegramUtils.getNickname(this.telegramMessage.chat);
34
+ this.rompotMessage.chat.phoneNumber = TelegramUtils_1.TelegramUtils.getPhoneNumber(this.telegramMessage.chat.id);
35
+ this.rompotMessage.user.id = TelegramUtils_1.TelegramUtils.getId(this.telegramMessage.from);
36
+ this.rompotMessage.user.name = TelegramUtils_1.TelegramUtils.getName(this.telegramMessage.from);
37
+ this.rompotMessage.user.nickname = TelegramUtils_1.TelegramUtils.getNickname(this.telegramMessage.from);
38
+ this.rompotMessage.user.phoneNumber = TelegramUtils_1.TelegramUtils.getPhoneNumber(this.telegramMessage.from.id);
39
+ this.rompotMessage.id = `${this.telegramMessage.message_id}`;
40
+ this.rompotMessage.text = `${this.telegramMessage.text || this.telegramMessage.caption || ''}`;
41
+ this.rompotMessage.mentions = TelegramUtils_1.TelegramUtils.getMessageMentions(this.telegramMessage);
42
+ this.rompotMessage.isEdited = !!this.telegramMessage.edit_date;
43
+ if (received) {
44
+ this.rompotMessage.status = Message_1.MessageStatus.Sended;
45
+ this.rompotMessage.timestamp =
46
+ Number(this.telegramMessage.date || 0) * 1000;
47
+ this.rompotMessage.chat.timestamp = this.rompotMessage.timestamp;
48
+ }
49
+ if (this.telegramMessage.reply_to_message) {
50
+ const convertor = new TelegramToRompotConverter(this.telegramMessage.reply_to_message);
51
+ this.rompotMessage.mention = await convertor.convert(received);
52
+ }
53
+ this.convertText();
54
+ this.convertMedia();
55
+ this.convertAnimantion();
56
+ this.convertPhoto();
57
+ this.convertVideo();
58
+ this.convertAudio();
59
+ this.convertVoice();
60
+ this.convertDocument();
61
+ this.convertSticker();
62
+ this.convertContact();
63
+ this.convertDice();
64
+ this.convertLocation();
65
+ this.convertVenue();
66
+ this.convertPoll();
67
+ return this.rompotMessage;
68
+ }
69
+ convertText() {
70
+ if (!('text' in this.telegramMessage))
71
+ return;
72
+ this.rompotMessage = TextMessage_1.default.fromJSON({
73
+ ...this.rompotMessage,
74
+ type: Message_1.MessageType.Text,
75
+ text: TelegramUtils_1.TelegramUtils.getText(this.telegramMessage),
76
+ });
77
+ }
78
+ convertMedia() {
79
+ if (!('caption' in this.telegramMessage))
80
+ return;
81
+ this.rompotMessage = MediaMessage_1.default.fromJSON({
82
+ ...this.rompotMessage,
83
+ type: Message_1.MessageType.Media,
84
+ text: TelegramUtils_1.TelegramUtils.getText(this.telegramMessage),
85
+ });
86
+ }
87
+ convertAnimantion() {
88
+ if (!this.telegramMessage.animation)
89
+ return;
90
+ this.rompotMessage = ImageMessage_1.default.fromJSON({
91
+ ...this.rompotMessage,
92
+ isGIF: true,
93
+ type: Message_1.MessageType.Image,
94
+ mimeType: this.telegramMessage.animation.mime_type,
95
+ name: this.telegramMessage.animation.file_name,
96
+ file: { stream: this.telegramMessage.animation },
97
+ });
98
+ }
99
+ convertPhoto() {
100
+ if (!this.telegramMessage.photo)
101
+ return;
102
+ this.rompotMessage = ImageMessage_1.default.fromJSON({
103
+ ...this.rompotMessage,
104
+ type: Message_1.MessageType.Image,
105
+ file: {
106
+ stream: this.telegramMessage.photo[this.telegramMessage.photo.length - 1 || 0] || {},
107
+ },
108
+ });
109
+ }
110
+ convertVideo() {
111
+ if (!this.telegramMessage.video)
112
+ return;
113
+ this.rompotMessage = VideoMessage_1.default.fromJSON({
114
+ ...this.rompotMessage,
115
+ type: Message_1.MessageType.Video,
116
+ mimeType: this.telegramMessage.video.mime_type,
117
+ duration: this.telegramMessage.video.duration,
118
+ file: { stream: this.telegramMessage.video },
119
+ });
120
+ }
121
+ convertAudio() {
122
+ if (!this.telegramMessage.audio)
123
+ return;
124
+ this.rompotMessage = AudioMessage_1.default.fromJSON({
125
+ ...this.rompotMessage,
126
+ type: Message_1.MessageType.Audio,
127
+ mimeType: this.telegramMessage.audio.mime_type,
128
+ duration: this.telegramMessage.audio.duration,
129
+ name: this.telegramMessage.audio.title,
130
+ file: { stream: this.telegramMessage.audio },
131
+ });
132
+ }
133
+ convertVoice() {
134
+ if (!this.telegramMessage.voice)
135
+ return;
136
+ this.rompotMessage = AudioMessage_1.default.fromJSON({
137
+ ...this.rompotMessage,
138
+ isPTT: true,
139
+ type: Message_1.MessageType.Audio,
140
+ mimeType: this.telegramMessage.voice.mime_type,
141
+ duration: this.telegramMessage.voice.duration,
142
+ file: { stream: this.telegramMessage.voice },
143
+ });
144
+ }
145
+ convertDocument() {
146
+ if (!this.telegramMessage.document)
147
+ return;
148
+ this.rompotMessage = FileMessage_1.default.fromJSON({
149
+ ...this.rompotMessage,
150
+ type: Message_1.MessageType.File,
151
+ mimeType: this.telegramMessage.document.mime_type,
152
+ name: this.telegramMessage.document.file_name,
153
+ file: { stream: this.telegramMessage.document },
154
+ });
155
+ }
156
+ convertSticker() {
157
+ if (!this.telegramMessage.sticker)
158
+ return;
159
+ this.rompotMessage = StickerMessage_1.default.fromJSON({
160
+ ...this.rompotMessage,
161
+ type: Message_1.MessageType.Sticker,
162
+ isGIF: !!(this.telegramMessage.sticker.is_animated ||
163
+ this.telegramMessage.sticker.is_video),
164
+ categories: this.telegramMessage.sticker.emoji
165
+ ? [this.telegramMessage.sticker.emoji]
166
+ : [],
167
+ author: `${this.telegramMessage.sticker.set_name || ''}`,
168
+ stickerId: `${this.telegramMessage.sticker.custom_emoji_id || ''}`,
169
+ file: { stream: this.telegramMessage.sticker },
170
+ });
171
+ }
172
+ convertContact() {
173
+ if (!this.telegramMessage.contact)
174
+ return;
175
+ this.rompotMessage = ContactMessage_1.default.fromJSON({
176
+ ...this.rompotMessage,
177
+ type: Message_1.MessageType.Contact,
178
+ users: [
179
+ new User_1.default(TelegramUtils_1.TelegramUtils.getId(this.telegramMessage.contact), TelegramUtils_1.TelegramUtils.getName(this.telegramMessage.contact)),
180
+ ],
181
+ });
182
+ }
183
+ convertDice() {
184
+ if (!this.telegramMessage.dice)
185
+ return;
186
+ this.rompotMessage = ReactionMessage_1.default.fromJSON({
187
+ ...this.rompotMessage,
188
+ type: Message_1.MessageType.Reaction,
189
+ text: this.telegramMessage.dice.emoji,
190
+ });
191
+ }
192
+ convertLocation() {
193
+ if (!this.telegramMessage.location)
194
+ return;
195
+ this.rompotMessage = LocationMessage_1.default.fromJSON({
196
+ ...this.rompotMessage,
197
+ type: Message_1.MessageType.Location,
198
+ latitude: this.telegramMessage.location.latitude,
199
+ longitude: this.telegramMessage.location.longitude,
200
+ });
201
+ }
202
+ convertVenue() {
203
+ if (!this.telegramMessage.venue)
204
+ return;
205
+ this.rompotMessage = LocationMessage_1.default.fromJSON({
206
+ ...this.rompotMessage,
207
+ type: Message_1.MessageType.Location,
208
+ latitude: this.telegramMessage.venue.location.latitude,
209
+ longitude: this.telegramMessage.venue.location.longitude,
210
+ });
211
+ }
212
+ convertPoll() {
213
+ if (!this.telegramMessage.poll)
214
+ return;
215
+ this.rompotMessage = PollMessage_1.default.fromJSON({
216
+ ...this.rompotMessage,
217
+ type: Message_1.MessageType.Poll,
218
+ text: this.telegramMessage.poll.question,
219
+ options: this.telegramMessage.poll.options.map((option) => {
220
+ return { id: option.text, name: option.text };
221
+ }),
222
+ });
223
+ }
224
+ }
225
+ exports.default = TelegramToRompotConverter;
226
+ //# sourceMappingURL=TelegramToRompotConverter.js.map