@vraksha/bottender 1.6.1-beta.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 (454) hide show
  1. package/README.md +161 -0
  2. package/bin/cli.js +4 -0
  3. package/dist/bot/Bot.d.ts +44 -0
  4. package/dist/bot/Bot.d.ts.map +1 -0
  5. package/dist/bot/Bot.js +226 -0
  6. package/dist/bot/Bot.js.map +1 -0
  7. package/dist/bot/Connector.d.ts +23 -0
  8. package/dist/bot/Connector.d.ts.map +1 -0
  9. package/dist/bot/Connector.js +3 -0
  10. package/dist/bot/Connector.js.map +1 -0
  11. package/dist/bottender.d.ts +7 -0
  12. package/dist/bottender.d.ts.map +1 -0
  13. package/dist/bottender.js +15 -0
  14. package/dist/bottender.js.map +1 -0
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -0
  17. package/dist/browser.js +23 -0
  18. package/dist/browser.js.map +1 -0
  19. package/dist/cache/CacheStore.d.ts +12 -0
  20. package/dist/cache/CacheStore.d.ts.map +1 -0
  21. package/dist/cache/CacheStore.js +3 -0
  22. package/dist/cache/CacheStore.js.map +1 -0
  23. package/dist/cache/MemoryCacheStore.d.ts +13 -0
  24. package/dist/cache/MemoryCacheStore.d.ts.map +1 -0
  25. package/dist/cache/MemoryCacheStore.js +59 -0
  26. package/dist/cache/MemoryCacheStore.js.map +1 -0
  27. package/dist/cache/RedisCacheStore.d.ts +18 -0
  28. package/dist/cache/RedisCacheStore.d.ts.map +1 -0
  29. package/dist/cache/RedisCacheStore.js +79 -0
  30. package/dist/cache/RedisCacheStore.js.map +1 -0
  31. package/dist/chain.d.ts +5 -0
  32. package/dist/chain.d.ts.map +1 -0
  33. package/dist/chain.js +27 -0
  34. package/dist/chain.js.map +1 -0
  35. package/dist/cli/index.d.ts +11 -0
  36. package/dist/cli/index.d.ts.map +1 -0
  37. package/dist/cli/index.js +99 -0
  38. package/dist/cli/index.js.map +1 -0
  39. package/dist/cli/providers/index.d.ts +37 -0
  40. package/dist/cli/providers/index.d.ts.map +1 -0
  41. package/dist/cli/providers/index.js +18 -0
  42. package/dist/cli/providers/index.js.map +1 -0
  43. package/dist/cli/providers/line/help.d.ts +3 -0
  44. package/dist/cli/providers/line/help.d.ts.map +1 -0
  45. package/dist/cli/providers/line/help.js +9 -0
  46. package/dist/cli/providers/line/help.js.map +1 -0
  47. package/dist/cli/providers/line/index.d.ts +7 -0
  48. package/dist/cli/providers/line/index.d.ts.map +1 -0
  49. package/dist/cli/providers/line/index.js +10 -0
  50. package/dist/cli/providers/line/index.js.map +1 -0
  51. package/dist/cli/providers/messenger/help.d.ts +3 -0
  52. package/dist/cli/providers/messenger/help.d.ts.map +1 -0
  53. package/dist/cli/providers/messenger/help.js +31 -0
  54. package/dist/cli/providers/messenger/help.js.map +1 -0
  55. package/dist/cli/providers/messenger/index.d.ts +10 -0
  56. package/dist/cli/providers/messenger/index.d.ts.map +1 -0
  57. package/dist/cli/providers/messenger/index.js +19 -0
  58. package/dist/cli/providers/messenger/index.js.map +1 -0
  59. package/dist/cli/providers/messenger/persona.d.ts +7 -0
  60. package/dist/cli/providers/messenger/persona.d.ts.map +1 -0
  61. package/dist/cli/providers/messenger/persona.js +235 -0
  62. package/dist/cli/providers/messenger/persona.js.map +1 -0
  63. package/dist/cli/providers/messenger/profile.d.ts +9 -0
  64. package/dist/cli/providers/messenger/profile.d.ts.map +1 -0
  65. package/dist/cli/providers/messenger/profile.js +233 -0
  66. package/dist/cli/providers/messenger/profile.js.map +1 -0
  67. package/dist/cli/providers/messenger/webhook.d.ts +4 -0
  68. package/dist/cli/providers/messenger/webhook.d.ts.map +1 -0
  69. package/dist/cli/providers/messenger/webhook.js +165 -0
  70. package/dist/cli/providers/messenger/webhook.js.map +1 -0
  71. package/dist/cli/providers/sh/dev.d.ts +4 -0
  72. package/dist/cli/providers/sh/dev.d.ts.map +1 -0
  73. package/dist/cli/providers/sh/dev.js +79 -0
  74. package/dist/cli/providers/sh/dev.js.map +1 -0
  75. package/dist/cli/providers/sh/help.d.ts +3 -0
  76. package/dist/cli/providers/sh/help.d.ts.map +1 -0
  77. package/dist/cli/providers/sh/help.js +42 -0
  78. package/dist/cli/providers/sh/help.js.map +1 -0
  79. package/dist/cli/providers/sh/index.d.ts +10 -0
  80. package/dist/cli/providers/sh/index.d.ts.map +1 -0
  81. package/dist/cli/providers/sh/index.js +19 -0
  82. package/dist/cli/providers/sh/index.js.map +1 -0
  83. package/dist/cli/providers/sh/init.d.ts +3 -0
  84. package/dist/cli/providers/sh/init.d.ts.map +1 -0
  85. package/dist/cli/providers/sh/init.js +22 -0
  86. package/dist/cli/providers/sh/init.js.map +1 -0
  87. package/dist/cli/providers/sh/start.d.ts +4 -0
  88. package/dist/cli/providers/sh/start.d.ts.map +1 -0
  89. package/dist/cli/providers/sh/start.js +51 -0
  90. package/dist/cli/providers/sh/start.js.map +1 -0
  91. package/dist/cli/providers/sh/utils/argCommon.d.ts +8 -0
  92. package/dist/cli/providers/sh/utils/argCommon.d.ts.map +1 -0
  93. package/dist/cli/providers/sh/utils/argCommon.js +10 -0
  94. package/dist/cli/providers/sh/utils/argCommon.js.map +1 -0
  95. package/dist/cli/providers/sh/utils/getArgs.d.ts +9 -0
  96. package/dist/cli/providers/sh/utils/getArgs.d.ts.map +1 -0
  97. package/dist/cli/providers/sh/utils/getArgs.js +10 -0
  98. package/dist/cli/providers/sh/utils/getArgs.js.map +1 -0
  99. package/dist/cli/providers/sh/utils/getSubArgs.d.ts +6 -0
  100. package/dist/cli/providers/sh/utils/getSubArgs.d.ts.map +1 -0
  101. package/dist/cli/providers/sh/utils/getSubArgs.js +23 -0
  102. package/dist/cli/providers/sh/utils/getSubArgs.js.map +1 -0
  103. package/dist/cli/providers/telegram/help.d.ts +3 -0
  104. package/dist/cli/providers/telegram/help.d.ts.map +1 -0
  105. package/dist/cli/providers/telegram/help.js +34 -0
  106. package/dist/cli/providers/telegram/help.js.map +1 -0
  107. package/dist/cli/providers/telegram/index.d.ts +8 -0
  108. package/dist/cli/providers/telegram/index.d.ts.map +1 -0
  109. package/dist/cli/providers/telegram/index.js +13 -0
  110. package/dist/cli/providers/telegram/index.js.map +1 -0
  111. package/dist/cli/providers/telegram/webhook.d.ts +6 -0
  112. package/dist/cli/providers/telegram/webhook.d.ts.map +1 -0
  113. package/dist/cli/providers/telegram/webhook.js +149 -0
  114. package/dist/cli/providers/telegram/webhook.js.map +1 -0
  115. package/dist/cli/providers/viber/help.d.ts +3 -0
  116. package/dist/cli/providers/viber/help.d.ts.map +1 -0
  117. package/dist/cli/providers/viber/help.js +33 -0
  118. package/dist/cli/providers/viber/help.js.map +1 -0
  119. package/dist/cli/providers/viber/index.d.ts +8 -0
  120. package/dist/cli/providers/viber/index.d.ts.map +1 -0
  121. package/dist/cli/providers/viber/index.js +13 -0
  122. package/dist/cli/providers/viber/index.js.map +1 -0
  123. package/dist/cli/providers/viber/webhook.d.ts +5 -0
  124. package/dist/cli/providers/viber/webhook.d.ts.map +1 -0
  125. package/dist/cli/providers/viber/webhook.js +122 -0
  126. package/dist/cli/providers/viber/webhook.js.map +1 -0
  127. package/dist/console/ConsoleBot.d.ts +17 -0
  128. package/dist/console/ConsoleBot.d.ts.map +1 -0
  129. package/dist/console/ConsoleBot.js +80 -0
  130. package/dist/console/ConsoleBot.js.map +1 -0
  131. package/dist/console/ConsoleClient.d.ts +4 -0
  132. package/dist/console/ConsoleClient.d.ts.map +1 -0
  133. package/dist/console/ConsoleClient.js +3 -0
  134. package/dist/console/ConsoleClient.js.map +1 -0
  135. package/dist/console/ConsoleConnector.d.ts +35 -0
  136. package/dist/console/ConsoleConnector.d.ts.map +1 -0
  137. package/dist/console/ConsoleConnector.js +62 -0
  138. package/dist/console/ConsoleConnector.js.map +1 -0
  139. package/dist/console/ConsoleContext.d.ts +28 -0
  140. package/dist/console/ConsoleContext.d.ts.map +1 -0
  141. package/dist/console/ConsoleContext.js +66 -0
  142. package/dist/console/ConsoleContext.js.map +1 -0
  143. package/dist/console/ConsoleEvent.d.ts +24 -0
  144. package/dist/console/ConsoleEvent.d.ts.map +1 -0
  145. package/dist/console/ConsoleEvent.js +36 -0
  146. package/dist/console/ConsoleEvent.js.map +1 -0
  147. package/dist/context/Context.d.ts +52 -0
  148. package/dist/context/Context.d.ts.map +1 -0
  149. package/dist/context/Context.js +118 -0
  150. package/dist/context/Context.js.map +1 -0
  151. package/dist/context/Event.d.ts +8 -0
  152. package/dist/context/Event.d.ts.map +1 -0
  153. package/dist/context/Event.js +3 -0
  154. package/dist/context/Event.js.map +1 -0
  155. package/dist/index.d.ts +69 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +155 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/initializeServer.d.ts +10 -0
  160. package/dist/initializeServer.d.ts.map +1 -0
  161. package/dist/initializeServer.js +98 -0
  162. package/dist/initializeServer.js.map +1 -0
  163. package/dist/line/LineBot.d.ts +15 -0
  164. package/dist/line/LineBot.d.ts.map +1 -0
  165. package/dist/line/LineBot.js +27 -0
  166. package/dist/line/LineBot.js.map +1 -0
  167. package/dist/line/LineConnector.d.ts +92 -0
  168. package/dist/line/LineConnector.d.ts.map +1 -0
  169. package/dist/line/LineConnector.js +283 -0
  170. package/dist/line/LineConnector.js.map +1 -0
  171. package/dist/line/LineContext.d.ts +135 -0
  172. package/dist/line/LineContext.d.ts.map +1 -0
  173. package/dist/line/LineContext.js +419 -0
  174. package/dist/line/LineContext.js.map +1 -0
  175. package/dist/line/LineEvent.d.ts +61 -0
  176. package/dist/line/LineEvent.d.ts.map +1 -0
  177. package/dist/line/LineEvent.js +217 -0
  178. package/dist/line/LineEvent.js.map +1 -0
  179. package/dist/line/LineTypes.d.ts +199 -0
  180. package/dist/line/LineTypes.d.ts.map +1 -0
  181. package/dist/line/LineTypes.js +18 -0
  182. package/dist/line/LineTypes.js.map +1 -0
  183. package/dist/line/routes.d.ts +33 -0
  184. package/dist/line/routes.d.ts.map +1 -0
  185. package/dist/line/routes.js +89 -0
  186. package/dist/line/routes.js.map +1 -0
  187. package/dist/messenger/FacebookBaseConnector.d.ts +66 -0
  188. package/dist/messenger/FacebookBaseConnector.d.ts.map +1 -0
  189. package/dist/messenger/FacebookBaseConnector.js +118 -0
  190. package/dist/messenger/FacebookBaseConnector.js.map +1 -0
  191. package/dist/messenger/MessengerBot.d.ts +15 -0
  192. package/dist/messenger/MessengerBot.d.ts.map +1 -0
  193. package/dist/messenger/MessengerBot.js +27 -0
  194. package/dist/messenger/MessengerBot.js.map +1 -0
  195. package/dist/messenger/MessengerConnector.d.ts +37 -0
  196. package/dist/messenger/MessengerConnector.d.ts.map +1 -0
  197. package/dist/messenger/MessengerConnector.js +204 -0
  198. package/dist/messenger/MessengerConnector.js.map +1 -0
  199. package/dist/messenger/MessengerContext.d.ts +114 -0
  200. package/dist/messenger/MessengerContext.d.ts.map +1 -0
  201. package/dist/messenger/MessengerContext.js +547 -0
  202. package/dist/messenger/MessengerContext.js.map +1 -0
  203. package/dist/messenger/MessengerEvent.d.ts +76 -0
  204. package/dist/messenger/MessengerEvent.d.ts.map +1 -0
  205. package/dist/messenger/MessengerEvent.js +380 -0
  206. package/dist/messenger/MessengerEvent.js.map +1 -0
  207. package/dist/messenger/MessengerTypes.d.ts +292 -0
  208. package/dist/messenger/MessengerTypes.d.ts.map +1 -0
  209. package/dist/messenger/MessengerTypes.js +18 -0
  210. package/dist/messenger/MessengerTypes.js.map +1 -0
  211. package/dist/messenger/routes.d.ts +39 -0
  212. package/dist/messenger/routes.d.ts.map +1 -0
  213. package/dist/messenger/routes.js +109 -0
  214. package/dist/messenger/routes.js.map +1 -0
  215. package/dist/plugins/withTyping.d.ts +6 -0
  216. package/dist/plugins/withTyping.d.ts.map +1 -0
  217. package/dist/plugins/withTyping.js +135 -0
  218. package/dist/plugins/withTyping.js.map +1 -0
  219. package/dist/router/index.d.ts +39 -0
  220. package/dist/router/index.d.ts.map +1 -0
  221. package/dist/router/index.js +166 -0
  222. package/dist/router/index.js.map +1 -0
  223. package/dist/server/DevServer.d.ts +6 -0
  224. package/dist/server/DevServer.d.ts.map +1 -0
  225. package/dist/server/DevServer.js +27 -0
  226. package/dist/server/DevServer.js.map +1 -0
  227. package/dist/server/Server.d.ts +26 -0
  228. package/dist/server/Server.d.ts.map +1 -0
  229. package/dist/server/Server.js +86 -0
  230. package/dist/server/Server.js.map +1 -0
  231. package/dist/session/CacheBasedSessionStore.d.ts +14 -0
  232. package/dist/session/CacheBasedSessionStore.d.ts.map +1 -0
  233. package/dist/session/CacheBasedSessionStore.js +44 -0
  234. package/dist/session/CacheBasedSessionStore.js.map +1 -0
  235. package/dist/session/FileSessionStore.d.ts +20 -0
  236. package/dist/session/FileSessionStore.d.ts.map +1 -0
  237. package/dist/session/FileSessionStore.js +118 -0
  238. package/dist/session/FileSessionStore.js.map +1 -0
  239. package/dist/session/MemorySessionStore.d.ts +10 -0
  240. package/dist/session/MemorySessionStore.d.ts.map +1 -0
  241. package/dist/session/MemorySessionStore.js +25 -0
  242. package/dist/session/MemorySessionStore.js.map +1 -0
  243. package/dist/session/MongoSessionStore.d.ts +23 -0
  244. package/dist/session/MongoSessionStore.d.ts.map +1 -0
  245. package/dist/session/MongoSessionStore.js +97 -0
  246. package/dist/session/MongoSessionStore.js.map +1 -0
  247. package/dist/session/RedisSessionStore.d.ts +14 -0
  248. package/dist/session/RedisSessionStore.d.ts.map +1 -0
  249. package/dist/session/RedisSessionStore.js +15 -0
  250. package/dist/session/RedisSessionStore.js.map +1 -0
  251. package/dist/session/Session.d.ts +3 -0
  252. package/dist/session/Session.d.ts.map +1 -0
  253. package/dist/session/Session.js +3 -0
  254. package/dist/session/Session.js.map +1 -0
  255. package/dist/session/SessionStore.d.ts +10 -0
  256. package/dist/session/SessionStore.d.ts.map +1 -0
  257. package/dist/session/SessionStore.js +3 -0
  258. package/dist/session/SessionStore.js.map +1 -0
  259. package/dist/shared/getBottenderConfig.d.ts +5 -0
  260. package/dist/shared/getBottenderConfig.d.ts.map +1 -0
  261. package/dist/shared/getBottenderConfig.js +24 -0
  262. package/dist/shared/getBottenderConfig.js.map +1 -0
  263. package/dist/shared/getChannelBotAndRequestContext.d.ts +10 -0
  264. package/dist/shared/getChannelBotAndRequestContext.d.ts.map +1 -0
  265. package/dist/shared/getChannelBotAndRequestContext.js +41 -0
  266. package/dist/shared/getChannelBotAndRequestContext.js.map +1 -0
  267. package/dist/shared/getChannelBots.d.ts +6 -0
  268. package/dist/shared/getChannelBots.d.ts.map +1 -0
  269. package/dist/shared/getChannelBots.js +84 -0
  270. package/dist/shared/getChannelBots.js.map +1 -0
  271. package/dist/shared/getChannelConfig.d.ts +5 -0
  272. package/dist/shared/getChannelConfig.d.ts.map +1 -0
  273. package/dist/shared/getChannelConfig.js +28 -0
  274. package/dist/shared/getChannelConfig.js.map +1 -0
  275. package/dist/shared/getChannelSchema.d.ts +4 -0
  276. package/dist/shared/getChannelSchema.d.ts.map +1 -0
  277. package/dist/shared/getChannelSchema.js +110 -0
  278. package/dist/shared/getChannelSchema.js.map +1 -0
  279. package/dist/shared/getClient.d.ts +11 -0
  280. package/dist/shared/getClient.d.ts.map +1 -0
  281. package/dist/shared/getClient.js +36 -0
  282. package/dist/shared/getClient.js.map +1 -0
  283. package/dist/shared/getConsoleBot.d.ts +5 -0
  284. package/dist/shared/getConsoleBot.d.ts.map +1 -0
  285. package/dist/shared/getConsoleBot.js +43 -0
  286. package/dist/shared/getConsoleBot.js.map +1 -0
  287. package/dist/shared/getSessionStore.d.ts +5 -0
  288. package/dist/shared/getSessionStore.d.ts.map +1 -0
  289. package/dist/shared/getSessionStore.js +41 -0
  290. package/dist/shared/getSessionStore.js.map +1 -0
  291. package/dist/shared/getWebhookFromNgrok.d.ts +2 -0
  292. package/dist/shared/getWebhookFromNgrok.d.ts.map +1 -0
  293. package/dist/shared/getWebhookFromNgrok.js +33 -0
  294. package/dist/shared/getWebhookFromNgrok.js.map +1 -0
  295. package/dist/shared/log.d.ts +6 -0
  296. package/dist/shared/log.d.ts.map +1 -0
  297. package/dist/shared/log.js +29 -0
  298. package/dist/shared/log.js.map +1 -0
  299. package/dist/slack/SlackBot.d.ts +22 -0
  300. package/dist/slack/SlackBot.d.ts.map +1 -0
  301. package/dist/slack/SlackBot.js +30 -0
  302. package/dist/slack/SlackBot.js.map +1 -0
  303. package/dist/slack/SlackConnector.d.ts +72 -0
  304. package/dist/slack/SlackConnector.d.ts.map +1 -0
  305. package/dist/slack/SlackConnector.js +302 -0
  306. package/dist/slack/SlackConnector.js.map +1 -0
  307. package/dist/slack/SlackContext.d.ts +65 -0
  308. package/dist/slack/SlackContext.d.ts.map +1 -0
  309. package/dist/slack/SlackContext.js +131 -0
  310. package/dist/slack/SlackContext.js.map +1 -0
  311. package/dist/slack/SlackEvent.d.ts +28 -0
  312. package/dist/slack/SlackEvent.d.ts.map +1 -0
  313. package/dist/slack/SlackEvent.js +171 -0
  314. package/dist/slack/SlackEvent.js.map +1 -0
  315. package/dist/slack/SlackTypes.d.ts +79 -0
  316. package/dist/slack/SlackTypes.d.ts.map +1 -0
  317. package/dist/slack/SlackTypes.js +18 -0
  318. package/dist/slack/SlackTypes.js.map +1 -0
  319. package/dist/slack/routes.d.ts +24 -0
  320. package/dist/slack/routes.d.ts.map +1 -0
  321. package/dist/slack/routes.js +25 -0
  322. package/dist/slack/routes.js.map +1 -0
  323. package/dist/telegram/TelegramBot.d.ts +20 -0
  324. package/dist/telegram/TelegramBot.d.ts.map +1 -0
  325. package/dist/telegram/TelegramBot.js +68 -0
  326. package/dist/telegram/TelegramBot.js.map +1 -0
  327. package/dist/telegram/TelegramConnector.d.ts +42 -0
  328. package/dist/telegram/TelegramConnector.d.ts.map +1 -0
  329. package/dist/telegram/TelegramConnector.js +191 -0
  330. package/dist/telegram/TelegramConnector.js.map +1 -0
  331. package/dist/telegram/TelegramContext.d.ts +64 -0
  332. package/dist/telegram/TelegramContext.d.ts.map +1 -0
  333. package/dist/telegram/TelegramContext.js +742 -0
  334. package/dist/telegram/TelegramContext.js.map +1 -0
  335. package/dist/telegram/TelegramEvent.d.ts +61 -0
  336. package/dist/telegram/TelegramEvent.d.ts.map +1 -0
  337. package/dist/telegram/TelegramEvent.js +246 -0
  338. package/dist/telegram/TelegramEvent.js.map +1 -0
  339. package/dist/telegram/TelegramTypes.d.ts +27 -0
  340. package/dist/telegram/TelegramTypes.d.ts.map +1 -0
  341. package/dist/telegram/TelegramTypes.js +18 -0
  342. package/dist/telegram/TelegramTypes.js.map +1 -0
  343. package/dist/telegram/routes.d.ts +25 -0
  344. package/dist/telegram/routes.d.ts.map +1 -0
  345. package/dist/telegram/routes.js +53 -0
  346. package/dist/telegram/routes.js.map +1 -0
  347. package/dist/test-utils/ContextSimulator.d.ts +196 -0
  348. package/dist/test-utils/ContextSimulator.d.ts.map +1 -0
  349. package/dist/test-utils/ContextSimulator.js +237 -0
  350. package/dist/test-utils/ContextSimulator.js.map +1 -0
  351. package/dist/test-utils/SimulatedContext.d.ts +9 -0
  352. package/dist/test-utils/SimulatedContext.d.ts.map +1 -0
  353. package/dist/test-utils/SimulatedContext.js +18 -0
  354. package/dist/test-utils/SimulatedContext.js.map +1 -0
  355. package/dist/test-utils/index.d.ts +2 -0
  356. package/dist/test-utils/index.d.ts.map +1 -0
  357. package/dist/test-utils/index.js +9 -0
  358. package/dist/test-utils/index.js.map +1 -0
  359. package/dist/types.d.ts +107 -0
  360. package/dist/types.d.ts.map +1 -0
  361. package/dist/types.js +22 -0
  362. package/dist/types.js.map +1 -0
  363. package/dist/utils.d.ts +4 -0
  364. package/dist/utils.d.ts.map +1 -0
  365. package/dist/utils.js +13 -0
  366. package/dist/utils.js.map +1 -0
  367. package/dist/viber/ViberBot.d.ts +15 -0
  368. package/dist/viber/ViberBot.d.ts.map +1 -0
  369. package/dist/viber/ViberBot.js +27 -0
  370. package/dist/viber/ViberBot.js.map +1 -0
  371. package/dist/viber/ViberConnector.d.ts +62 -0
  372. package/dist/viber/ViberConnector.d.ts.map +1 -0
  373. package/dist/viber/ViberConnector.js +152 -0
  374. package/dist/viber/ViberConnector.js.map +1 -0
  375. package/dist/viber/ViberContext.d.ts +20 -0
  376. package/dist/viber/ViberContext.d.ts.map +1 -0
  377. package/dist/viber/ViberContext.js +132 -0
  378. package/dist/viber/ViberContext.js.map +1 -0
  379. package/dist/viber/ViberEvent.d.ts +39 -0
  380. package/dist/viber/ViberEvent.d.ts.map +1 -0
  381. package/dist/viber/ViberEvent.js +150 -0
  382. package/dist/viber/ViberEvent.js.map +1 -0
  383. package/dist/viber/ViberTypes.d.ts +82 -0
  384. package/dist/viber/ViberTypes.d.ts.map +1 -0
  385. package/dist/viber/ViberTypes.js +18 -0
  386. package/dist/viber/ViberTypes.js.map +1 -0
  387. package/dist/viber/routes.d.ts +21 -0
  388. package/dist/viber/routes.d.ts.map +1 -0
  389. package/dist/viber/routes.js +37 -0
  390. package/dist/viber/routes.js.map +1 -0
  391. package/dist/whatsapp/TwilioClient.d.ts +55 -0
  392. package/dist/whatsapp/TwilioClient.d.ts.map +1 -0
  393. package/dist/whatsapp/TwilioClient.js +66 -0
  394. package/dist/whatsapp/TwilioClient.js.map +1 -0
  395. package/dist/whatsapp/WhatsappBot.d.ts +15 -0
  396. package/dist/whatsapp/WhatsappBot.d.ts.map +1 -0
  397. package/dist/whatsapp/WhatsappBot.js +27 -0
  398. package/dist/whatsapp/WhatsappBot.js.map +1 -0
  399. package/dist/whatsapp/WhatsappConnector.d.ts +64 -0
  400. package/dist/whatsapp/WhatsappConnector.d.ts.map +1 -0
  401. package/dist/whatsapp/WhatsappConnector.js +111 -0
  402. package/dist/whatsapp/WhatsappConnector.js.map +1 -0
  403. package/dist/whatsapp/WhatsappContext.d.ts +17 -0
  404. package/dist/whatsapp/WhatsappContext.d.ts.map +1 -0
  405. package/dist/whatsapp/WhatsappContext.js +30 -0
  406. package/dist/whatsapp/WhatsappContext.js.map +1 -0
  407. package/dist/whatsapp/WhatsappEvent.d.ts +25 -0
  408. package/dist/whatsapp/WhatsappEvent.d.ts.map +1 -0
  409. package/dist/whatsapp/WhatsappEvent.js +60 -0
  410. package/dist/whatsapp/WhatsappEvent.js.map +1 -0
  411. package/dist/whatsapp/WhatsappTypes.d.ts +59 -0
  412. package/dist/whatsapp/WhatsappTypes.d.ts.map +1 -0
  413. package/dist/whatsapp/WhatsappTypes.js +3 -0
  414. package/dist/whatsapp/WhatsappTypes.js.map +1 -0
  415. package/dist/whatsapp/routes.d.ts +20 -0
  416. package/dist/whatsapp/routes.d.ts.map +1 -0
  417. package/dist/whatsapp/routes.js +33 -0
  418. package/dist/whatsapp/routes.js.map +1 -0
  419. package/dist/whatsapp-by-meta/MetaClient.d.ts +297 -0
  420. package/dist/whatsapp-by-meta/MetaClient.d.ts.map +1 -0
  421. package/dist/whatsapp-by-meta/MetaClient.js +74 -0
  422. package/dist/whatsapp-by-meta/MetaClient.js.map +1 -0
  423. package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts +15 -0
  424. package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts.map +1 -0
  425. package/dist/whatsapp-by-meta/WhatsappByMetaBot.js +27 -0
  426. package/dist/whatsapp-by-meta/WhatsappByMetaBot.js.map +1 -0
  427. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts +67 -0
  428. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts.map +1 -0
  429. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js +130 -0
  430. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js.map +1 -0
  431. package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts +45 -0
  432. package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts.map +1 -0
  433. package/dist/whatsapp-by-meta/WhatsappByMetaContext.js +49 -0
  434. package/dist/whatsapp-by-meta/WhatsappByMetaContext.js.map +1 -0
  435. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts +236 -0
  436. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts.map +1 -0
  437. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js +3 -0
  438. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js.map +1 -0
  439. package/dist/whatsapp-by-meta/events/BaseEvent.d.ts +26 -0
  440. package/dist/whatsapp-by-meta/events/BaseEvent.d.ts.map +1 -0
  441. package/dist/whatsapp-by-meta/events/BaseEvent.js +61 -0
  442. package/dist/whatsapp-by-meta/events/BaseEvent.js.map +1 -0
  443. package/dist/whatsapp-by-meta/routes.d.ts +20 -0
  444. package/dist/whatsapp-by-meta/routes.d.ts.map +1 -0
  445. package/dist/whatsapp-by-meta/routes.js +33 -0
  446. package/dist/whatsapp-by-meta/routes.js.map +1 -0
  447. package/dist/withProps.d.ts +5 -0
  448. package/dist/withProps.d.ts.map +1 -0
  449. package/dist/withProps.js +16 -0
  450. package/dist/withProps.js.map +1 -0
  451. package/package.json +110 -0
  452. package/router.d.ts +1 -0
  453. package/router.js +2 -0
  454. package/test-utils.js +2 -0
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const crypto_1 = __importDefault(require("crypto"));
16
+ const invariant_1 = __importDefault(require("invariant"));
17
+ const p_props_1 = __importDefault(require("p-props"));
18
+ const warning_1 = __importDefault(require("warning"));
19
+ const messaging_api_slack_1 = require("messaging-api-slack");
20
+ const utils_1 = require("../utils");
21
+ const SlackContext_1 = __importDefault(require("./SlackContext"));
22
+ const SlackEvent_1 = __importDefault(require("./SlackEvent"));
23
+ class SlackConnector {
24
+ constructor(options) {
25
+ const { verificationToken, skipLegacyProfile, includeBotMessages, signingSecret, } = options;
26
+ if ('client' in options) {
27
+ this._client = options.client;
28
+ }
29
+ else {
30
+ const { accessToken, origin } = options;
31
+ (0, invariant_1.default)(accessToken, 'Slack access token is required. Please make sure you have filled it correctly in `bottender.config.js` or `.env` file.');
32
+ this._client = new messaging_api_slack_1.SlackOAuthClient({
33
+ accessToken,
34
+ origin,
35
+ });
36
+ }
37
+ this._signingSecret = signingSecret || '';
38
+ this._verificationToken = verificationToken || '';
39
+ if (!this._signingSecret) {
40
+ if (!this._verificationToken) {
41
+ (0, warning_1.default)(false, 'Both `signingSecret` and `verificationToken` is not set. Will bypass Slack event verification.\nPass in `signingSecret` to perform Slack event verification.');
42
+ }
43
+ else {
44
+ (0, warning_1.default)(false, "It's deprecated to use `verificationToken` here, use `signingSecret` instead.");
45
+ }
46
+ }
47
+ this._skipLegacyProfile =
48
+ typeof skipLegacyProfile === 'boolean' ? skipLegacyProfile : true;
49
+ this._includeBotMessages = includeBotMessages || false;
50
+ }
51
+ _getRawEventFromRequest(body) {
52
+ if ('event' in body) {
53
+ return body.event;
54
+ }
55
+ if (body.payload && typeof body.payload === 'string') {
56
+ const payload = (0, utils_1.camelcaseKeysDeep)(JSON.parse(body.payload));
57
+ if (payload.type === 'interactive_message') {
58
+ return payload;
59
+ }
60
+ return payload;
61
+ }
62
+ return body;
63
+ }
64
+ _isBotEventRequest(body) {
65
+ const rawEvent = this._getRawEventFromRequest(body);
66
+ return !!(rawEvent.botId ||
67
+ ('subtype' in rawEvent && rawEvent.subtype === 'bot_message'));
68
+ }
69
+ get platform() {
70
+ return 'slack';
71
+ }
72
+ get client() {
73
+ return this._client;
74
+ }
75
+ _getChannelId(rawEvent) {
76
+ if (rawEvent.channel &&
77
+ typeof rawEvent.channel === 'object' &&
78
+ rawEvent.channel.id) {
79
+ return rawEvent.channel.id;
80
+ }
81
+ if (rawEvent.channelId) {
82
+ return rawEvent.channelId;
83
+ }
84
+ if (rawEvent.view && rawEvent.view.privateMetadata) {
85
+ const channelId = JSON.parse(rawEvent.view.privateMetadata).channelId;
86
+ if (channelId) {
87
+ return channelId;
88
+ }
89
+ }
90
+ if (rawEvent.item &&
91
+ typeof rawEvent.item === 'object' &&
92
+ typeof rawEvent.item.channel === 'string') {
93
+ return rawEvent.item.channel;
94
+ }
95
+ return (rawEvent.channel || rawEvent.channelId);
96
+ }
97
+ _getUserId(rawEvent) {
98
+ var _a;
99
+ if (rawEvent.type === 'interactive_message' ||
100
+ rawEvent.type === 'block_actions' ||
101
+ rawEvent.type === 'view_submission' ||
102
+ rawEvent.type === 'view_closed') {
103
+ return rawEvent.user.id;
104
+ }
105
+ return (rawEvent.user ||
106
+ rawEvent.userId ||
107
+ ((_a = rawEvent.user) === null || _a === void 0 ? void 0 : _a.id));
108
+ }
109
+ getUniqueSessionKey(body) {
110
+ const rawEvent = this._getRawEventFromRequest(body);
111
+ return this._getChannelId(rawEvent) || this._getUserId(rawEvent);
112
+ }
113
+ updateSession(session, body) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ if (this._isBotEventRequest(body)) {
116
+ return;
117
+ }
118
+ const rawEvent = this._getRawEventFromRequest(body);
119
+ const userId = this._getUserId(rawEvent);
120
+ const channelId = this._getChannelId(rawEvent);
121
+ if (typeof session.user === 'object' &&
122
+ session.user &&
123
+ session.user.id &&
124
+ session.user.id === userId) {
125
+ return;
126
+ }
127
+ if (!userId) {
128
+ return;
129
+ }
130
+ if (this._skipLegacyProfile) {
131
+ session.user = {
132
+ id: userId,
133
+ _updatedAt: new Date().toISOString(),
134
+ };
135
+ session.channel = {
136
+ id: channelId,
137
+ _updatedAt: new Date().toISOString(),
138
+ };
139
+ Object.freeze(session.user);
140
+ Object.defineProperty(session, 'user', {
141
+ configurable: false,
142
+ enumerable: true,
143
+ writable: false,
144
+ value: session.user,
145
+ });
146
+ Object.freeze(session.channel);
147
+ Object.defineProperty(session, 'channel', {
148
+ configurable: false,
149
+ enumerable: true,
150
+ writable: false,
151
+ value: session.channel,
152
+ });
153
+ return;
154
+ }
155
+ const promises = {
156
+ sender: this._client.getUserInfo(userId),
157
+ };
158
+ if (!session.channel ||
159
+ (session.channel.members &&
160
+ Array.isArray(session.channel.members) &&
161
+ session.channel.members.indexOf(userId) < 0)) {
162
+ if (channelId) {
163
+ promises.channel = this._client.getConversationInfo(channelId);
164
+ promises.channelMembers =
165
+ this._client.getAllConversationMembers(channelId);
166
+ }
167
+ }
168
+ if (!session.team ||
169
+ (session.team.members &&
170
+ Array.isArray(session.team.members) &&
171
+ session.team.members.indexOf(userId) < 0)) {
172
+ promises.allUsers = this._client.getAllUserList();
173
+ }
174
+ const results = yield (0, p_props_1.default)(promises);
175
+ session.user = Object.assign({ id: userId, _updatedAt: new Date().toISOString() }, results.sender);
176
+ Object.freeze(session.user);
177
+ Object.defineProperty(session, 'user', {
178
+ configurable: false,
179
+ enumerable: true,
180
+ writable: false,
181
+ value: session.user,
182
+ });
183
+ if (promises.channel) {
184
+ session.channel = Object.assign(Object.assign({}, results.channel), { members: results.channelMembers, _updatedAt: new Date().toISOString() });
185
+ Object.freeze(session.channel);
186
+ Object.defineProperty(session, 'channel', {
187
+ configurable: false,
188
+ enumerable: true,
189
+ writable: false,
190
+ value: session.channel,
191
+ });
192
+ }
193
+ if (promises.allUsers) {
194
+ session.team = {
195
+ members: results.allUsers,
196
+ _updatedAt: new Date().toISOString(),
197
+ };
198
+ Object.freeze(session.team);
199
+ Object.defineProperty(session, 'team', {
200
+ configurable: false,
201
+ enumerable: true,
202
+ writable: false,
203
+ value: session.team,
204
+ });
205
+ }
206
+ });
207
+ }
208
+ mapRequestToEvents(body) {
209
+ const rawEvent = this._getRawEventFromRequest(body);
210
+ if (!this._includeBotMessages && this._isBotEventRequest(body)) {
211
+ return [];
212
+ }
213
+ return [new SlackEvent_1.default(rawEvent)];
214
+ }
215
+ createContext(params) {
216
+ return new SlackContext_1.default(Object.assign(Object.assign({}, params), { client: this._client }));
217
+ }
218
+ verifySignature(tokenFromBody) {
219
+ const bufferFromBot = Buffer.from(this._verificationToken);
220
+ const bufferFromBody = Buffer.from(tokenFromBody);
221
+ if (bufferFromBot.length !== bufferFromBody.length) {
222
+ return false;
223
+ }
224
+ return crypto_1.default.timingSafeEqual(bufferFromBot, bufferFromBody);
225
+ }
226
+ verifySignatureBySigningSecret({ rawBody, signature, timestamp, }) {
227
+ const FIVE_MINUTES_IN_MILLISECONDS = 5 * 1000 * 60;
228
+ if (Math.abs(Date.now() - Number(timestamp) * 1000) >
229
+ FIVE_MINUTES_IN_MILLISECONDS) {
230
+ return false;
231
+ }
232
+ const SIGNATURE_VERSION = 'v0';
233
+ const signatureBaseString = `${SIGNATURE_VERSION}:${timestamp}:${rawBody}`;
234
+ const digest = crypto_1.default
235
+ .createHmac('sha256', this._signingSecret)
236
+ .update(signatureBaseString, 'utf8')
237
+ .digest('hex');
238
+ const calculatedSignature = `${SIGNATURE_VERSION}=${digest}`;
239
+ return crypto_1.default.timingSafeEqual(Buffer.from(signature, 'utf8'), Buffer.from(calculatedSignature, 'utf8'));
240
+ }
241
+ preprocess({ method, headers, body, rawBody, }) {
242
+ if (method.toLowerCase() !== 'post') {
243
+ return {
244
+ shouldNext: true,
245
+ };
246
+ }
247
+ const timestamp = headers['x-slack-request-timestamp'];
248
+ const signature = headers['x-slack-signature'];
249
+ if (this._signingSecret &&
250
+ !this.verifySignatureBySigningSecret({
251
+ rawBody,
252
+ timestamp,
253
+ signature,
254
+ })) {
255
+ const error = {
256
+ message: 'Slack Signing Secret Validation Failed!',
257
+ request: {
258
+ body,
259
+ },
260
+ };
261
+ return {
262
+ shouldNext: false,
263
+ response: {
264
+ status: 400,
265
+ body: { error },
266
+ },
267
+ };
268
+ }
269
+ const token = !body.token && body.payload && typeof body.payload === 'string'
270
+ ? JSON.parse(body.payload).token
271
+ : body.token;
272
+ if (this._verificationToken && !this.verifySignature(token)) {
273
+ const error = {
274
+ message: 'Slack Verification Token Validation Failed!',
275
+ request: {
276
+ body,
277
+ },
278
+ };
279
+ return {
280
+ shouldNext: false,
281
+ response: {
282
+ status: 400,
283
+ body: { error },
284
+ },
285
+ };
286
+ }
287
+ if (body.type === 'url_verification') {
288
+ return {
289
+ shouldNext: false,
290
+ response: {
291
+ status: 200,
292
+ body: body.challenge,
293
+ },
294
+ };
295
+ }
296
+ return {
297
+ shouldNext: true,
298
+ };
299
+ }
300
+ }
301
+ exports.default = SlackConnector;
302
+ //# sourceMappingURL=SlackConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackConnector.js","sourceRoot":"","sources":["../../src/slack/SlackConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { JsonObject } from 'type-fest';
4
+ import { SlackOAuthClient, SlackTypes } from 'messaging-api-slack';
5
+ import Context from '../context/Context';
6
+ import Session from '../session/Session';
7
+ import { RequestContext } from '../types';
8
+ import SlackEvent from './SlackEvent';
9
+ export type SlackContextOptions = {
10
+ client: SlackOAuthClient;
11
+ event: SlackEvent;
12
+ session?: Session | null;
13
+ initialState?: JsonObject | null;
14
+ requestContext?: RequestContext;
15
+ emitter?: EventEmitter | null;
16
+ };
17
+ export default class SlackContext extends Context<SlackOAuthClient, SlackEvent> {
18
+ chat: {
19
+ postMessage: (options: Omit<SlackTypes.PostMessageOptions, 'channel'>) => Promise<any>;
20
+ postEphemeral: (options: Omit<Omit<SlackTypes.PostEphemeralOptions, 'channel'>, 'user'>) => Promise<any>;
21
+ update: (options: SlackTypes.UpdateMessageOptions) => Promise<any>;
22
+ delete: (options: Omit<SlackTypes.DeleteMessageOptions, 'channel'>) => Promise<any>;
23
+ meMessage: (options: Omit<SlackTypes.MeMessageOptions, 'channel'>) => Promise<any>;
24
+ getPermalink: (options: Omit<SlackTypes.GetPermalinkOptions, 'channel'>) => Promise<any>;
25
+ scheduleMessage: (options: Omit<SlackTypes.ScheduleMessageOptions, 'channel'>) => Promise<any>;
26
+ deleteScheduledMessage: (options: Omit<SlackTypes.DeleteScheduledMessageOptions, 'channel'>) => Promise<any>;
27
+ scheduledMessages: {
28
+ list: (options: SlackTypes.GetScheduledMessagesOptions) => Promise<any>;
29
+ };
30
+ };
31
+ views: {
32
+ open: (options: SlackTypes.OpenViewOptions) => Promise<any>;
33
+ publish: (options: SlackTypes.PublishViewOptions) => Promise<any>;
34
+ push: (options: SlackTypes.PushViewOptions) => Promise<any>;
35
+ update: (options: SlackTypes.UpdateViewOptions) => Promise<any>;
36
+ };
37
+ constructor({ client, event, session, initialState, requestContext, emitter, }: SlackContextOptions);
38
+ get platform(): 'slack';
39
+ _getChannelIdFromSession(callerMethodName?: string): string | null;
40
+ postMessage(message: {
41
+ text?: string;
42
+ attachments?: SlackTypes.Attachment[] | string;
43
+ blocks?: SlackTypes.MessageBlock[] | string;
44
+ } | string, options?: {}): Promise<any>;
45
+ _postMessage(options: Omit<SlackTypes.PostMessageOptions, 'channel'>): Promise<any>;
46
+ postEphemeral(message: {
47
+ text?: string;
48
+ attachments?: SlackTypes.Attachment[] | string;
49
+ blocks?: SlackTypes.MessageBlock[] | string;
50
+ } | string, options?: {}): Promise<any>;
51
+ _postEphemeral(options: Omit<Omit<SlackTypes.PostEphemeralOptions, 'channel'>, 'user'>): Promise<any>;
52
+ sendText(text: string): Promise<any>;
53
+ _updateMessage(options: SlackTypes.UpdateMessageOptions): Promise<any>;
54
+ _deleteMessage(options: Omit<SlackTypes.DeleteMessageOptions, 'channel'>): Promise<any>;
55
+ _meMessage(options: Omit<SlackTypes.MeMessageOptions, 'channel'>): Promise<any>;
56
+ _getPermalink(options: Omit<SlackTypes.GetPermalinkOptions, 'channel'>): Promise<any>;
57
+ _scheduleMessage(options: Omit<SlackTypes.ScheduleMessageOptions, 'channel'>): Promise<any>;
58
+ _deleteScheduledMessage(options: Omit<SlackTypes.DeleteScheduledMessageOptions, 'channel'>): Promise<any>;
59
+ _getScheduledMessages(options: SlackTypes.GetScheduledMessagesOptions): Promise<any>;
60
+ _openView(options: SlackTypes.OpenViewOptions): Promise<any>;
61
+ _publishView(options: SlackTypes.PublishViewOptions): Promise<any>;
62
+ _updateView(options: SlackTypes.UpdateViewOptions): Promise<any>;
63
+ _pushView(options: SlackTypes.PushViewOptions): Promise<any>;
64
+ }
65
+ //# sourceMappingURL=SlackContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackContext.d.ts","sourceRoot":"","sources":["../../src/slack/SlackContext.ts"],"names":[],"mappings":"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"}
@@ -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 warning_1 = __importDefault(require("warning"));
7
+ const Context_1 = __importDefault(require("../context/Context"));
8
+ class SlackContext extends Context_1.default {
9
+ constructor({ client, event, session, initialState, requestContext, emitter, }) {
10
+ super({ client, event, session, initialState, requestContext, emitter });
11
+ this.chat = {
12
+ postMessage: this._postMessage.bind(this),
13
+ postEphemeral: this._postEphemeral.bind(this),
14
+ update: this._updateMessage.bind(this),
15
+ delete: this._deleteMessage.bind(this),
16
+ meMessage: this._meMessage.bind(this),
17
+ getPermalink: this._getPermalink.bind(this),
18
+ scheduleMessage: this._scheduleMessage.bind(this),
19
+ deleteScheduledMessage: this._deleteScheduledMessage.bind(this),
20
+ scheduledMessages: {
21
+ list: this._getScheduledMessages.bind(this),
22
+ },
23
+ };
24
+ this.views = {
25
+ open: this._openView.bind(this),
26
+ publish: this._publishView.bind(this),
27
+ push: this._pushView.bind(this),
28
+ update: this._updateView.bind(this),
29
+ };
30
+ }
31
+ get platform() {
32
+ return 'slack';
33
+ }
34
+ _getChannelIdFromSession(callerMethodName = '') {
35
+ if (this._session &&
36
+ typeof this._session.channel === 'object' &&
37
+ this._session.channel &&
38
+ this._session.channel.id &&
39
+ typeof this._session.channel.id === 'string') {
40
+ return this._session.channel.id;
41
+ }
42
+ if (callerMethodName) {
43
+ (0, warning_1.default)(false, `${callerMethodName}: should not be called in context without session`);
44
+ }
45
+ return null;
46
+ }
47
+ postMessage(message, options) {
48
+ (0, warning_1.default)(false, '`postMessage` is deprecated. Use `chat.postMessage` instead.');
49
+ return this.chat.postMessage(Object.assign(Object.assign({}, (typeof message === 'string' ? { text: message } : message)), options));
50
+ }
51
+ _postMessage(options) {
52
+ const channel = this._getChannelIdFromSession('chat.postMessage');
53
+ if (!channel) {
54
+ return Promise.resolve();
55
+ }
56
+ return this._client.chat.postMessage(Object.assign({ threadTs: this._event.rawEvent.threadTs, channel }, options));
57
+ }
58
+ postEphemeral(message, options) {
59
+ (0, warning_1.default)(false, '`postEphemeral` is deprecated. Use `chat.postEphemeral` instead.');
60
+ return this.chat.postEphemeral(Object.assign(Object.assign({}, (typeof message === 'string' ? { text: message } : message)), options));
61
+ }
62
+ _postEphemeral(options) {
63
+ const channel = this._getChannelIdFromSession('chat.postEphemeral');
64
+ if (!channel) {
65
+ return Promise.resolve();
66
+ }
67
+ return this._client.chat.postEphemeral(Object.assign({ channel, user: this._session.user.id }, options));
68
+ }
69
+ sendText(text) {
70
+ return this._postMessage({ text });
71
+ }
72
+ _updateMessage(options) {
73
+ return this._client.chat.update(options);
74
+ }
75
+ _deleteMessage(options) {
76
+ const channel = this._getChannelIdFromSession('chat.delete');
77
+ if (!channel) {
78
+ return Promise.resolve();
79
+ }
80
+ return this._client.chat.delete(Object.assign({ channel }, options));
81
+ }
82
+ _meMessage(options) {
83
+ const channel = this._getChannelIdFromSession('chat.meMessage');
84
+ if (!channel) {
85
+ return Promise.resolve();
86
+ }
87
+ return this._client.chat.meMessage(Object.assign({ channel }, options));
88
+ }
89
+ _getPermalink(options) {
90
+ const channel = this._getChannelIdFromSession('chat.getPermalink');
91
+ if (!channel) {
92
+ return Promise.resolve();
93
+ }
94
+ return this._client.chat.getPermalink(Object.assign({ channel }, options));
95
+ }
96
+ _scheduleMessage(options) {
97
+ const channel = this._getChannelIdFromSession('chat.scheduleMessage');
98
+ if (!channel) {
99
+ return Promise.resolve();
100
+ }
101
+ return this._client.chat.scheduleMessage(Object.assign({ channel }, options));
102
+ }
103
+ _deleteScheduledMessage(options) {
104
+ const channel = this._getChannelIdFromSession('chat.deleteScheduledMessage');
105
+ if (!channel) {
106
+ return Promise.resolve();
107
+ }
108
+ return this._client.chat.deleteScheduledMessage(Object.assign({ channel }, options));
109
+ }
110
+ _getScheduledMessages(options) {
111
+ return this._client.chat.scheduledMessages.list(options);
112
+ }
113
+ _openView(options) {
114
+ var _a;
115
+ return this._client.views.open(Object.assign(Object.assign({}, options), { view: Object.assign(Object.assign({}, options.view), { privateMetadata: JSON.stringify({
116
+ original: options.view.privateMetadata,
117
+ channelId: (_a = this._event.rawEvent.channel) === null || _a === void 0 ? void 0 : _a.id,
118
+ }) }) }));
119
+ }
120
+ _publishView(options) {
121
+ return this._client.views.publish(options);
122
+ }
123
+ _updateView(options) {
124
+ return this._client.views.update(options);
125
+ }
126
+ _pushView(options) {
127
+ return this._client.views.push(options);
128
+ }
129
+ }
130
+ exports.default = SlackContext;
131
+ //# sourceMappingURL=SlackContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackContext.js","sourceRoot":"","sources":["../../src/slack/SlackContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Event } from '../context/Event';
2
+ import { Message, SlackRawEvent } from './SlackTypes';
3
+ export default class SlackEvent implements Event<SlackRawEvent> {
4
+ _rawEvent: SlackRawEvent;
5
+ _timestamp: number;
6
+ constructor(rawEvent: SlackRawEvent);
7
+ get rawEvent(): SlackRawEvent;
8
+ get timestamp(): number | undefined;
9
+ get isMessage(): boolean;
10
+ get isChannelsMessage(): boolean;
11
+ get isGroupsMessage(): boolean;
12
+ get isImMessage(): boolean;
13
+ get isMpimMessage(): boolean;
14
+ get message(): Message | null;
15
+ get isText(): boolean;
16
+ get text(): string | null;
17
+ get isInteractiveMessage(): boolean;
18
+ get isBlockAction(): boolean;
19
+ get isViewSubmission(): boolean;
20
+ get isViewClosed(): boolean;
21
+ get isBlockActionOrInteractiveMessage(): boolean;
22
+ get callbackId(): string | null;
23
+ get action(): {} | null;
24
+ get isBotMessage(): boolean;
25
+ get isCommand(): boolean;
26
+ get command(): string | null;
27
+ }
28
+ //# sourceMappingURL=SlackEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackEvent.d.ts","sourceRoot":"","sources":["../../src/slack/SlackEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAGL,OAAO,EACP,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,KAAK,CAAC,aAAa,CAAC;IAC7D,SAAS,EAAE,aAAa,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;gBAEP,QAAQ,EAAE,aAAa;IASnC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAMD,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAUlC;IAMD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAMD,IAAI,iBAAiB,IAAI,OAAO,CAM/B;IAMD,IAAI,eAAe,IAAI,OAAO,CAM7B;IAMD,IAAI,WAAW,IAAI,OAAO,CAMzB;IAMD,IAAI,aAAa,IAAI,OAAO,CAM3B;IAMD,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAM5B;IAMD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAMD,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CASxB;IAMD,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAMD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAMD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAMD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAMD,IAAI,iCAAiC,IAAI,OAAO,CAE/C;IAMD,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAK9B;IAMD,IAAI,MAAM,IAAI,EAAE,GAAG,IAAI,CAKtB;IAMD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAMD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAMD,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;CACF"}