@dementevdev/maxbot-ts 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.
- package/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/README.md +1176 -0
- package/dist/cjs/api/BotsApi.d.ts +17 -0
- package/dist/cjs/api/BotsApi.d.ts.map +1 -0
- package/dist/cjs/api/BotsApi.js +22 -0
- package/dist/cjs/api/ChatsApi.d.ts +87 -0
- package/dist/cjs/api/ChatsApi.d.ts.map +1 -0
- package/dist/cjs/api/ChatsApi.js +144 -0
- package/dist/cjs/api/MessagesApi.d.ts +41 -0
- package/dist/cjs/api/MessagesApi.d.ts.map +1 -0
- package/dist/cjs/api/MessagesApi.js +66 -0
- package/dist/cjs/api/SubscriptionsApi.d.ts +45 -0
- package/dist/cjs/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/cjs/api/SubscriptionsApi.js +69 -0
- package/dist/cjs/api/UploadsApi.d.ts +45 -0
- package/dist/cjs/api/UploadsApi.d.ts.map +1 -0
- package/dist/cjs/api/UploadsApi.js +113 -0
- package/dist/cjs/api/index.d.ts +7 -0
- package/dist/cjs/api/index.d.ts.map +1 -0
- package/dist/cjs/api/index.js +14 -0
- package/dist/cjs/api/interfaces.d.ts +108 -0
- package/dist/cjs/api/interfaces.d.ts.map +1 -0
- package/dist/cjs/api/interfaces.js +3 -0
- package/dist/cjs/bot/Bot.d.ts +380 -0
- package/dist/cjs/bot/Bot.d.ts.map +1 -0
- package/dist/cjs/bot/Bot.js +624 -0
- package/dist/cjs/bot/Composer.d.ts +131 -0
- package/dist/cjs/bot/Composer.d.ts.map +1 -0
- package/dist/cjs/bot/Composer.js +218 -0
- package/dist/cjs/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/cjs/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/BotStartedContext.js +113 -0
- package/dist/cjs/bot/context/CallbackContext.d.ts +107 -0
- package/dist/cjs/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/CallbackContext.js +158 -0
- package/dist/cjs/bot/context/ChatContext.d.ts +35 -0
- package/dist/cjs/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/ChatContext.js +52 -0
- package/dist/cjs/bot/context/MessageContext.d.ts +149 -0
- package/dist/cjs/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/MessageContext.js +228 -0
- package/dist/cjs/bot/context/guards.d.ts +69 -0
- package/dist/cjs/bot/context/guards.d.ts.map +1 -0
- package/dist/cjs/bot/context/guards.js +85 -0
- package/dist/cjs/bot/context/index.d.ts +6 -0
- package/dist/cjs/bot/context/index.d.ts.map +1 -0
- package/dist/cjs/bot/context/index.js +18 -0
- package/dist/cjs/bot/dispatch.d.ts +51 -0
- package/dist/cjs/bot/dispatch.d.ts.map +1 -0
- package/dist/cjs/bot/dispatch.js +201 -0
- package/dist/cjs/bot/index.d.ts +10 -0
- package/dist/cjs/bot/index.d.ts.map +1 -0
- package/dist/cjs/bot/index.js +24 -0
- package/dist/cjs/bot/lifecycle.d.ts +85 -0
- package/dist/cjs/bot/lifecycle.d.ts.map +1 -0
- package/dist/cjs/bot/lifecycle.js +167 -0
- package/dist/cjs/bot/metrics.d.ts +18 -0
- package/dist/cjs/bot/metrics.d.ts.map +1 -0
- package/dist/cjs/bot/metrics.js +3 -0
- package/dist/cjs/bot/routing.d.ts +131 -0
- package/dist/cjs/bot/routing.d.ts.map +1 -0
- package/dist/cjs/bot/routing.js +198 -0
- package/dist/cjs/bot/triggers.d.ts +61 -0
- package/dist/cjs/bot/triggers.d.ts.map +1 -0
- package/dist/cjs/bot/triggers.js +84 -0
- package/dist/cjs/core/errors/MaxError.d.ts +11 -0
- package/dist/cjs/core/errors/MaxError.d.ts.map +1 -0
- package/dist/cjs/core/errors/MaxError.js +19 -0
- package/dist/cjs/core/errors/errors.d.ts +59 -0
- package/dist/cjs/core/errors/errors.d.ts.map +1 -0
- package/dist/cjs/core/errors/errors.js +84 -0
- package/dist/cjs/core/errors/index.d.ts +3 -0
- package/dist/cjs/core/errors/index.d.ts.map +1 -0
- package/dist/cjs/core/errors/index.js +13 -0
- package/dist/cjs/core/http/HttpClient.d.ts +28 -0
- package/dist/cjs/core/http/HttpClient.d.ts.map +1 -0
- package/dist/cjs/core/http/HttpClient.js +148 -0
- package/dist/cjs/core/http/index.d.ts +3 -0
- package/dist/cjs/core/http/index.d.ts.map +1 -0
- package/dist/cjs/core/http/index.js +6 -0
- package/dist/cjs/core/http/interfaces.d.ts +42 -0
- package/dist/cjs/core/http/interfaces.d.ts.map +1 -0
- package/dist/cjs/core/http/interfaces.js +3 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.js +110 -0
- package/dist/cjs/core/rate-limiter/index.d.ts +3 -0
- package/dist/cjs/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/cjs/core/rate-limiter/index.js +6 -0
- package/dist/cjs/filters/index.d.ts +2 -0
- package/dist/cjs/filters/index.d.ts.map +1 -0
- package/dist/cjs/filters/index.js +10 -0
- package/dist/cjs/filters/predicates.d.ts +85 -0
- package/dist/cjs/filters/predicates.d.ts.map +1 -0
- package/dist/cjs/filters/predicates.js +111 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/middleware/compose.d.ts +28 -0
- package/dist/cjs/middleware/compose.d.ts.map +1 -0
- package/dist/cjs/middleware/compose.js +89 -0
- package/dist/cjs/middleware/index.d.ts +3 -0
- package/dist/cjs/middleware/index.d.ts.map +1 -0
- package/dist/cjs/middleware/index.js +7 -0
- package/dist/cjs/middleware/types.d.ts +17 -0
- package/dist/cjs/middleware/types.d.ts.map +1 -0
- package/dist/cjs/middleware/types.js +3 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/transport/LongPollingTransport.d.ts +33 -0
- package/dist/cjs/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/cjs/transport/LongPollingTransport.js +153 -0
- package/dist/cjs/transport/WebhookTransport.d.ts +40 -0
- package/dist/cjs/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/cjs/transport/WebhookTransport.js +229 -0
- package/dist/cjs/transport/index.d.ts +4 -0
- package/dist/cjs/transport/index.d.ts.map +1 -0
- package/dist/cjs/transport/index.js +8 -0
- package/dist/cjs/transport/interfaces.d.ts +74 -0
- package/dist/cjs/transport/interfaces.d.ts.map +1 -0
- package/dist/cjs/transport/interfaces.js +3 -0
- package/dist/cjs/types/bot.d.ts +19 -0
- package/dist/cjs/types/bot.d.ts.map +1 -0
- package/dist/cjs/types/bot.js +3 -0
- package/dist/cjs/types/chat.d.ts +94 -0
- package/dist/cjs/types/chat.d.ts.map +1 -0
- package/dist/cjs/types/chat.js +3 -0
- package/dist/cjs/types/common.d.ts +38 -0
- package/dist/cjs/types/common.d.ts.map +1 -0
- package/dist/cjs/types/common.js +6 -0
- package/dist/cjs/types/index.d.ts +9 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +26 -0
- package/dist/cjs/types/keyboard.d.ts +97 -0
- package/dist/cjs/types/keyboard.d.ts.map +1 -0
- package/dist/cjs/types/keyboard.js +3 -0
- package/dist/cjs/types/message.d.ts +162 -0
- package/dist/cjs/types/message.d.ts.map +1 -0
- package/dist/cjs/types/message.js +3 -0
- package/dist/cjs/types/subscription.d.ts +23 -0
- package/dist/cjs/types/subscription.d.ts.map +1 -0
- package/dist/cjs/types/subscription.js +3 -0
- package/dist/cjs/types/update.d.ts +99 -0
- package/dist/cjs/types/update.d.ts.map +1 -0
- package/dist/cjs/types/update.js +3 -0
- package/dist/cjs/types/upload.d.ts +29 -0
- package/dist/cjs/types/upload.d.ts.map +1 -0
- package/dist/cjs/types/upload.js +3 -0
- package/dist/cjs/utils/Histogram.d.ts +93 -0
- package/dist/cjs/utils/Histogram.d.ts.map +1 -0
- package/dist/cjs/utils/Histogram.js +103 -0
- package/dist/cjs/utils/assertNever.d.ts +19 -0
- package/dist/cjs/utils/assertNever.d.ts.map +1 -0
- package/dist/cjs/utils/assertNever.js +24 -0
- package/dist/cjs/utils/format.d.ts +22 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +25 -0
- package/dist/cjs/utils/index.d.ts +6 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +14 -0
- package/dist/cjs/utils/keyboard.d.ts +70 -0
- package/dist/cjs/utils/keyboard.d.ts.map +1 -0
- package/dist/cjs/utils/keyboard.js +166 -0
- package/dist/esm/api/BotsApi.d.ts +17 -0
- package/dist/esm/api/BotsApi.d.ts.map +1 -0
- package/dist/esm/api/BotsApi.js +18 -0
- package/dist/esm/api/ChatsApi.d.ts +87 -0
- package/dist/esm/api/ChatsApi.d.ts.map +1 -0
- package/dist/esm/api/ChatsApi.js +140 -0
- package/dist/esm/api/MessagesApi.d.ts +41 -0
- package/dist/esm/api/MessagesApi.d.ts.map +1 -0
- package/dist/esm/api/MessagesApi.js +62 -0
- package/dist/esm/api/SubscriptionsApi.d.ts +45 -0
- package/dist/esm/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/esm/api/SubscriptionsApi.js +65 -0
- package/dist/esm/api/UploadsApi.d.ts +45 -0
- package/dist/esm/api/UploadsApi.d.ts.map +1 -0
- package/dist/esm/api/UploadsApi.js +109 -0
- package/dist/esm/api/index.d.ts +7 -0
- package/dist/esm/api/index.d.ts.map +1 -0
- package/dist/esm/api/index.js +6 -0
- package/dist/esm/api/interfaces.d.ts +108 -0
- package/dist/esm/api/interfaces.d.ts.map +1 -0
- package/dist/esm/api/interfaces.js +2 -0
- package/dist/esm/bot/Bot.d.ts +380 -0
- package/dist/esm/bot/Bot.d.ts.map +1 -0
- package/dist/esm/bot/Bot.js +620 -0
- package/dist/esm/bot/Composer.d.ts +131 -0
- package/dist/esm/bot/Composer.d.ts.map +1 -0
- package/dist/esm/bot/Composer.js +214 -0
- package/dist/esm/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/esm/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/esm/bot/context/BotStartedContext.js +109 -0
- package/dist/esm/bot/context/CallbackContext.d.ts +107 -0
- package/dist/esm/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/esm/bot/context/CallbackContext.js +154 -0
- package/dist/esm/bot/context/ChatContext.d.ts +35 -0
- package/dist/esm/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/esm/bot/context/ChatContext.js +48 -0
- package/dist/esm/bot/context/MessageContext.d.ts +149 -0
- package/dist/esm/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/esm/bot/context/MessageContext.js +224 -0
- package/dist/esm/bot/context/guards.d.ts +69 -0
- package/dist/esm/bot/context/guards.d.ts.map +1 -0
- package/dist/esm/bot/context/guards.js +78 -0
- package/dist/esm/bot/context/index.d.ts +6 -0
- package/dist/esm/bot/context/index.d.ts.map +1 -0
- package/dist/esm/bot/context/index.js +6 -0
- package/dist/esm/bot/dispatch.d.ts +51 -0
- package/dist/esm/bot/dispatch.d.ts.map +1 -0
- package/dist/esm/bot/dispatch.js +197 -0
- package/dist/esm/bot/index.d.ts +10 -0
- package/dist/esm/bot/index.d.ts.map +1 -0
- package/dist/esm/bot/index.js +9 -0
- package/dist/esm/bot/lifecycle.d.ts +85 -0
- package/dist/esm/bot/lifecycle.d.ts.map +1 -0
- package/dist/esm/bot/lifecycle.js +163 -0
- package/dist/esm/bot/metrics.d.ts +18 -0
- package/dist/esm/bot/metrics.d.ts.map +1 -0
- package/dist/esm/bot/metrics.js +2 -0
- package/dist/esm/bot/routing.d.ts +131 -0
- package/dist/esm/bot/routing.d.ts.map +1 -0
- package/dist/esm/bot/routing.js +194 -0
- package/dist/esm/bot/triggers.d.ts +61 -0
- package/dist/esm/bot/triggers.d.ts.map +1 -0
- package/dist/esm/bot/triggers.js +80 -0
- package/dist/esm/core/errors/MaxError.d.ts +11 -0
- package/dist/esm/core/errors/MaxError.d.ts.map +1 -0
- package/dist/esm/core/errors/MaxError.js +15 -0
- package/dist/esm/core/errors/errors.d.ts +59 -0
- package/dist/esm/core/errors/errors.d.ts.map +1 -0
- package/dist/esm/core/errors/errors.js +75 -0
- package/dist/esm/core/errors/index.d.ts +3 -0
- package/dist/esm/core/errors/index.d.ts.map +1 -0
- package/dist/esm/core/errors/index.js +3 -0
- package/dist/esm/core/http/HttpClient.d.ts +28 -0
- package/dist/esm/core/http/HttpClient.d.ts.map +1 -0
- package/dist/esm/core/http/HttpClient.js +144 -0
- package/dist/esm/core/http/index.d.ts +3 -0
- package/dist/esm/core/http/index.d.ts.map +1 -0
- package/dist/esm/core/http/index.js +2 -0
- package/dist/esm/core/http/interfaces.d.ts +42 -0
- package/dist/esm/core/http/interfaces.d.ts.map +1 -0
- package/dist/esm/core/http/interfaces.js +2 -0
- package/dist/esm/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/esm/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/esm/core/rate-limiter/RateLimiter.js +106 -0
- package/dist/esm/core/rate-limiter/index.d.ts +3 -0
- package/dist/esm/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/esm/core/rate-limiter/index.js +2 -0
- package/dist/esm/filters/index.d.ts +2 -0
- package/dist/esm/filters/index.d.ts.map +1 -0
- package/dist/esm/filters/index.js +2 -0
- package/dist/esm/filters/predicates.d.ts +85 -0
- package/dist/esm/filters/predicates.d.ts.map +1 -0
- package/dist/esm/filters/predicates.js +104 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/middleware/compose.d.ts +28 -0
- package/dist/esm/middleware/compose.d.ts.map +1 -0
- package/dist/esm/middleware/compose.js +85 -0
- package/dist/esm/middleware/index.d.ts +3 -0
- package/dist/esm/middleware/index.d.ts.map +1 -0
- package/dist/esm/middleware/index.js +2 -0
- package/dist/esm/middleware/types.d.ts +17 -0
- package/dist/esm/middleware/types.d.ts.map +1 -0
- package/dist/esm/middleware/types.js +2 -0
- package/dist/esm/transport/LongPollingTransport.d.ts +33 -0
- package/dist/esm/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/esm/transport/LongPollingTransport.js +149 -0
- package/dist/esm/transport/WebhookTransport.d.ts +40 -0
- package/dist/esm/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/esm/transport/WebhookTransport.js +225 -0
- package/dist/esm/transport/index.d.ts +4 -0
- package/dist/esm/transport/index.d.ts.map +1 -0
- package/dist/esm/transport/index.js +3 -0
- package/dist/esm/transport/interfaces.d.ts +74 -0
- package/dist/esm/transport/interfaces.d.ts.map +1 -0
- package/dist/esm/transport/interfaces.js +2 -0
- package/dist/esm/types/bot.d.ts +19 -0
- package/dist/esm/types/bot.d.ts.map +1 -0
- package/dist/esm/types/bot.js +2 -0
- package/dist/esm/types/chat.d.ts +94 -0
- package/dist/esm/types/chat.d.ts.map +1 -0
- package/dist/esm/types/chat.js +2 -0
- package/dist/esm/types/common.d.ts +38 -0
- package/dist/esm/types/common.d.ts.map +1 -0
- package/dist/esm/types/common.js +5 -0
- package/dist/esm/types/index.d.ts +9 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +10 -0
- package/dist/esm/types/keyboard.d.ts +97 -0
- package/dist/esm/types/keyboard.d.ts.map +1 -0
- package/dist/esm/types/keyboard.js +2 -0
- package/dist/esm/types/message.d.ts +162 -0
- package/dist/esm/types/message.d.ts.map +1 -0
- package/dist/esm/types/message.js +2 -0
- package/dist/esm/types/subscription.d.ts +23 -0
- package/dist/esm/types/subscription.d.ts.map +1 -0
- package/dist/esm/types/subscription.js +2 -0
- package/dist/esm/types/update.d.ts +99 -0
- package/dist/esm/types/update.d.ts.map +1 -0
- package/dist/esm/types/update.js +2 -0
- package/dist/esm/types/upload.d.ts +29 -0
- package/dist/esm/types/upload.d.ts.map +1 -0
- package/dist/esm/types/upload.js +2 -0
- package/dist/esm/utils/Histogram.d.ts +93 -0
- package/dist/esm/utils/Histogram.d.ts.map +1 -0
- package/dist/esm/utils/Histogram.js +99 -0
- package/dist/esm/utils/assertNever.d.ts +19 -0
- package/dist/esm/utils/assertNever.d.ts.map +1 -0
- package/dist/esm/utils/assertNever.js +21 -0
- package/dist/esm/utils/format.d.ts +22 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +22 -0
- package/dist/esm/utils/index.d.ts +6 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/keyboard.d.ts +70 -0
- package/dist/esm/utils/keyboard.d.ts.map +1 -0
- package/dist/esm/utils/keyboard.js +162 -0
- package/dist/types/api/BotsApi.d.ts +17 -0
- package/dist/types/api/BotsApi.d.ts.map +1 -0
- package/dist/types/api/ChatsApi.d.ts +87 -0
- package/dist/types/api/ChatsApi.d.ts.map +1 -0
- package/dist/types/api/MessagesApi.d.ts +41 -0
- package/dist/types/api/MessagesApi.d.ts.map +1 -0
- package/dist/types/api/SubscriptionsApi.d.ts +45 -0
- package/dist/types/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/types/api/UploadsApi.d.ts +45 -0
- package/dist/types/api/UploadsApi.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +7 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/interfaces.d.ts +108 -0
- package/dist/types/api/interfaces.d.ts.map +1 -0
- package/dist/types/bot/Bot.d.ts +380 -0
- package/dist/types/bot/Bot.d.ts.map +1 -0
- package/dist/types/bot/Composer.d.ts +131 -0
- package/dist/types/bot/Composer.d.ts.map +1 -0
- package/dist/types/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/types/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/types/bot/context/CallbackContext.d.ts +107 -0
- package/dist/types/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/types/bot/context/ChatContext.d.ts +35 -0
- package/dist/types/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/types/bot/context/MessageContext.d.ts +149 -0
- package/dist/types/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/types/bot/context/guards.d.ts +69 -0
- package/dist/types/bot/context/guards.d.ts.map +1 -0
- package/dist/types/bot/context/index.d.ts +6 -0
- package/dist/types/bot/context/index.d.ts.map +1 -0
- package/dist/types/bot/dispatch.d.ts +51 -0
- package/dist/types/bot/dispatch.d.ts.map +1 -0
- package/dist/types/bot/index.d.ts +10 -0
- package/dist/types/bot/index.d.ts.map +1 -0
- package/dist/types/bot/lifecycle.d.ts +85 -0
- package/dist/types/bot/lifecycle.d.ts.map +1 -0
- package/dist/types/bot/metrics.d.ts +18 -0
- package/dist/types/bot/metrics.d.ts.map +1 -0
- package/dist/types/bot/routing.d.ts +131 -0
- package/dist/types/bot/routing.d.ts.map +1 -0
- package/dist/types/bot/triggers.d.ts +61 -0
- package/dist/types/bot/triggers.d.ts.map +1 -0
- package/dist/types/core/errors/MaxError.d.ts +11 -0
- package/dist/types/core/errors/MaxError.d.ts.map +1 -0
- package/dist/types/core/errors/errors.d.ts +59 -0
- package/dist/types/core/errors/errors.d.ts.map +1 -0
- package/dist/types/core/errors/index.d.ts +3 -0
- package/dist/types/core/errors/index.d.ts.map +1 -0
- package/dist/types/core/http/HttpClient.d.ts +28 -0
- package/dist/types/core/http/HttpClient.d.ts.map +1 -0
- package/dist/types/core/http/index.d.ts +3 -0
- package/dist/types/core/http/index.d.ts.map +1 -0
- package/dist/types/core/http/interfaces.d.ts +42 -0
- package/dist/types/core/http/interfaces.d.ts.map +1 -0
- package/dist/types/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/types/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/types/core/rate-limiter/index.d.ts +3 -0
- package/dist/types/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/types/filters/index.d.ts +2 -0
- package/dist/types/filters/index.d.ts.map +1 -0
- package/dist/types/filters/predicates.d.ts +85 -0
- package/dist/types/filters/predicates.d.ts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/middleware/compose.d.ts +28 -0
- package/dist/types/middleware/compose.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +3 -0
- package/dist/types/middleware/index.d.ts.map +1 -0
- package/dist/types/middleware/types.d.ts +17 -0
- package/dist/types/middleware/types.d.ts.map +1 -0
- package/dist/types/transport/LongPollingTransport.d.ts +33 -0
- package/dist/types/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/types/transport/WebhookTransport.d.ts +40 -0
- package/dist/types/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/types/transport/index.d.ts +4 -0
- package/dist/types/transport/index.d.ts.map +1 -0
- package/dist/types/transport/interfaces.d.ts +74 -0
- package/dist/types/transport/interfaces.d.ts.map +1 -0
- package/dist/types/types/bot.d.ts +19 -0
- package/dist/types/types/bot.d.ts.map +1 -0
- package/dist/types/types/chat.d.ts +94 -0
- package/dist/types/types/chat.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +38 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/keyboard.d.ts +97 -0
- package/dist/types/types/keyboard.d.ts.map +1 -0
- package/dist/types/types/message.d.ts +162 -0
- package/dist/types/types/message.d.ts.map +1 -0
- package/dist/types/types/subscription.d.ts +23 -0
- package/dist/types/types/subscription.d.ts.map +1 -0
- package/dist/types/types/update.d.ts +99 -0
- package/dist/types/types/update.d.ts.map +1 -0
- package/dist/types/types/upload.d.ts +29 -0
- package/dist/types/types/upload.d.ts.map +1 -0
- package/dist/types/utils/Histogram.d.ts +93 -0
- package/dist/types/utils/Histogram.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +19 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/format.d.ts +22 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/keyboard.d.ts +70 -0
- package/dist/types/utils/keyboard.d.ts.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IHttpClient } from "../core/http/interfaces.js";
|
|
2
|
+
import type { BotInfo } from "../types/bot.js";
|
|
3
|
+
import type { IBotsApi } from "./interfaces.js";
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с ботами.
|
|
6
|
+
*/
|
|
7
|
+
export declare class BotsApi implements IBotsApi {
|
|
8
|
+
private readonly http;
|
|
9
|
+
constructor(http: IHttpClient);
|
|
10
|
+
/**
|
|
11
|
+
* Получить информацию о текущем боте.
|
|
12
|
+
*
|
|
13
|
+
* Используется для проверки валидности токена и получения данных бота.
|
|
14
|
+
*/
|
|
15
|
+
getMe(): Promise<BotInfo>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BotsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotsApi.d.ts","sourceRoot":"","sources":["../../../src/api/BotsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,qBAAa,OAAQ,YAAW,QAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;CAGhC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BotsApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с ботами.
|
|
6
|
+
*/
|
|
7
|
+
class BotsApi {
|
|
8
|
+
http;
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Получить информацию о текущем боте.
|
|
14
|
+
*
|
|
15
|
+
* Используется для проверки валидности токена и получения данных бота.
|
|
16
|
+
*/
|
|
17
|
+
async getMe() {
|
|
18
|
+
return this.http.get("/me");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.BotsApi = BotsApi;
|
|
22
|
+
//# sourceMappingURL=BotsApi.js.map
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { IHttpClient } from "../core/http/interfaces.js";
|
|
2
|
+
import type { Chat, ChatMember, ChatsResponse, GetChatsParams, UpdateChatRequest } from "../types/chat.js";
|
|
3
|
+
import type { Message } from "../types/message.js";
|
|
4
|
+
import type { User } from "../types/common.js";
|
|
5
|
+
import type { IChatsApi } from "./interfaces.js";
|
|
6
|
+
/**
|
|
7
|
+
* API для работы с чатами.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ChatsApi implements IChatsApi {
|
|
10
|
+
private readonly http;
|
|
11
|
+
constructor(http: IHttpClient);
|
|
12
|
+
/**
|
|
13
|
+
* Получить список чатов, в которых участвует бот.
|
|
14
|
+
*/
|
|
15
|
+
getChats(params?: GetChatsParams): Promise<ChatsResponse>;
|
|
16
|
+
/**
|
|
17
|
+
* Получить информацию о чате по ID.
|
|
18
|
+
*/
|
|
19
|
+
getChat(chatId: number): Promise<Chat>;
|
|
20
|
+
/**
|
|
21
|
+
* Получить информацию о чате по ссылке.
|
|
22
|
+
*/
|
|
23
|
+
getChatByLink(chatLink: string): Promise<Chat>;
|
|
24
|
+
/**
|
|
25
|
+
* Обновить информацию о чате.
|
|
26
|
+
*/
|
|
27
|
+
updateChat(chatId: number, data: UpdateChatRequest): Promise<Chat>;
|
|
28
|
+
/**
|
|
29
|
+
* Удалить чат.
|
|
30
|
+
*/
|
|
31
|
+
deleteChat(chatId: number): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Отправить действие в чат (например, "печатает...").
|
|
34
|
+
*
|
|
35
|
+
* Показывает пользователям, что бот обрабатывает запрос.
|
|
36
|
+
*/
|
|
37
|
+
sendAction(chatId: number, action: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Получить закреплённое сообщение.
|
|
40
|
+
*/
|
|
41
|
+
getPinnedMessage(chatId: number): Promise<Message | null>;
|
|
42
|
+
/**
|
|
43
|
+
* Закрепить сообщение в чате.
|
|
44
|
+
*/
|
|
45
|
+
pinMessage(chatId: number, messageId: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Открепить сообщение в чате.
|
|
48
|
+
*/
|
|
49
|
+
unpinMessage(chatId: number): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Получить информацию о членстве бота в чате.
|
|
52
|
+
*/
|
|
53
|
+
getBotMembership(chatId: number): Promise<ChatMember>;
|
|
54
|
+
/**
|
|
55
|
+
* Покинуть чат.
|
|
56
|
+
*/
|
|
57
|
+
leaveChat(chatId: number): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Получить участников чата.
|
|
60
|
+
*/
|
|
61
|
+
getMembers(chatId: number): Promise<{
|
|
62
|
+
members: ChatMember[];
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Добавить участников в чат.
|
|
66
|
+
*/
|
|
67
|
+
addMembers(chatId: number, userIds: number[]): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Удалить участника из чата.
|
|
70
|
+
*/
|
|
71
|
+
removeMember(chatId: number, userId: number): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Получить администраторов чата.
|
|
74
|
+
*/
|
|
75
|
+
getAdmins(chatId: number): Promise<{
|
|
76
|
+
admins: User[];
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Добавить администратора в чат.
|
|
80
|
+
*/
|
|
81
|
+
addAdmin(chatId: number, userId: number): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Удалить администратора из чата.
|
|
84
|
+
*/
|
|
85
|
+
removeAdmin(chatId: number, userId: number): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=ChatsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatsApi.d.ts","sourceRoot":"","sources":["../../../src/api/ChatsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,QAAS,YAAW,SAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;OAEG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAS/D;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgB/D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3D;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAIpE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAI5D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatsApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с чатами.
|
|
6
|
+
*/
|
|
7
|
+
class ChatsApi {
|
|
8
|
+
http;
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Получить список чатов, в которых участвует бот.
|
|
14
|
+
*/
|
|
15
|
+
async getChats(params) {
|
|
16
|
+
return this.http.get("/chats", {
|
|
17
|
+
params: {
|
|
18
|
+
count: params?.count,
|
|
19
|
+
marker: params?.marker,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Получить информацию о чате по ID.
|
|
25
|
+
*/
|
|
26
|
+
async getChat(chatId) {
|
|
27
|
+
return this.http.get(`/chats/${chatId}`);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Получить информацию о чате по ссылке.
|
|
31
|
+
*/
|
|
32
|
+
async getChatByLink(chatLink) {
|
|
33
|
+
return this.http.get(`/chats/${encodeURIComponent(chatLink)}`);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Обновить информацию о чате.
|
|
37
|
+
*/
|
|
38
|
+
async updateChat(chatId, data) {
|
|
39
|
+
return this.http.patch(`/chats/${chatId}`, {
|
|
40
|
+
body: data,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Удалить чат.
|
|
45
|
+
*/
|
|
46
|
+
async deleteChat(chatId) {
|
|
47
|
+
await this.http.delete(`/chats/${chatId}`);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Отправить действие в чат (например, "печатает...").
|
|
51
|
+
*
|
|
52
|
+
* Показывает пользователям, что бот обрабатывает запрос.
|
|
53
|
+
*/
|
|
54
|
+
async sendAction(chatId, action) {
|
|
55
|
+
await this.http.post(`/chats/${chatId}/actions`, {
|
|
56
|
+
body: { action },
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Получить закреплённое сообщение.
|
|
61
|
+
*/
|
|
62
|
+
async getPinnedMessage(chatId) {
|
|
63
|
+
try {
|
|
64
|
+
return await this.http.get(`/chats/${chatId}/pin`);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
// 404 означает отсутствие закреплённого сообщения — это нормальная ситуация
|
|
68
|
+
if (error instanceof Error &&
|
|
69
|
+
"code" in error &&
|
|
70
|
+
error.code === "NOT_FOUND") {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Закрепить сообщение в чате.
|
|
78
|
+
*/
|
|
79
|
+
async pinMessage(chatId, messageId) {
|
|
80
|
+
await this.http.put(`/chats/${chatId}/pin`, {
|
|
81
|
+
body: { message_id: messageId },
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Открепить сообщение в чате.
|
|
86
|
+
*/
|
|
87
|
+
async unpinMessage(chatId) {
|
|
88
|
+
await this.http.delete(`/chats/${chatId}/pin`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Получить информацию о членстве бота в чате.
|
|
92
|
+
*/
|
|
93
|
+
async getBotMembership(chatId) {
|
|
94
|
+
return this.http.get(`/chats/${chatId}/members/me`);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Покинуть чат.
|
|
98
|
+
*/
|
|
99
|
+
async leaveChat(chatId) {
|
|
100
|
+
await this.http.delete(`/chats/${chatId}/members/me`);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Получить участников чата.
|
|
104
|
+
*/
|
|
105
|
+
async getMembers(chatId) {
|
|
106
|
+
return this.http.get(`/chats/${chatId}/members`);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Добавить участников в чат.
|
|
110
|
+
*/
|
|
111
|
+
async addMembers(chatId, userIds) {
|
|
112
|
+
await this.http.post(`/chats/${chatId}/members`, {
|
|
113
|
+
body: { user_ids: userIds },
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Удалить участника из чата.
|
|
118
|
+
*/
|
|
119
|
+
async removeMember(chatId, userId) {
|
|
120
|
+
await this.http.delete(`/chats/${chatId}/members/${userId}`);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Получить администраторов чата.
|
|
124
|
+
*/
|
|
125
|
+
async getAdmins(chatId) {
|
|
126
|
+
return this.http.get(`/chats/${chatId}/members/admins`);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Добавить администратора в чат.
|
|
130
|
+
*/
|
|
131
|
+
async addAdmin(chatId, userId) {
|
|
132
|
+
await this.http.post(`/chats/${chatId}/members/admins`, {
|
|
133
|
+
body: { user_id: userId },
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Удалить администратора из чата.
|
|
138
|
+
*/
|
|
139
|
+
async removeAdmin(chatId, userId) {
|
|
140
|
+
await this.http.delete(`/chats/${chatId}/members/admins/${userId}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.ChatsApi = ChatsApi;
|
|
144
|
+
//# sourceMappingURL=ChatsApi.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { IHttpClient } from "../core/http/interfaces.js";
|
|
2
|
+
import type { Message, NewMessageBody, SendMessageParams, SendMessageResponse } from "../types/message.js";
|
|
3
|
+
import type { IMessagesApi } from "./interfaces.js";
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с сообщениями.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MessagesApi implements IMessagesApi {
|
|
8
|
+
private readonly http;
|
|
9
|
+
constructor(http: IHttpClient);
|
|
10
|
+
/**
|
|
11
|
+
* Получить сообщение по ID.
|
|
12
|
+
*/
|
|
13
|
+
getMessage(messageId: string): Promise<Message>;
|
|
14
|
+
/**
|
|
15
|
+
* Отправить сообщение.
|
|
16
|
+
*
|
|
17
|
+
* @param params - Параметры отправки (user_id или chat_id)
|
|
18
|
+
* @param body - Тело сообщения (текст, вложения)
|
|
19
|
+
*/
|
|
20
|
+
sendMessage(params: SendMessageParams, body: NewMessageBody): Promise<SendMessageResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Редактировать сообщение.
|
|
23
|
+
*/
|
|
24
|
+
editMessage(messageId: string, body: NewMessageBody): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Удалить сообщение.
|
|
27
|
+
*/
|
|
28
|
+
deleteMessage(messageId: string): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Ответить на callback-запрос.
|
|
31
|
+
*
|
|
32
|
+
* Вызывается для закрытия "часиков" на кнопке и опционально показа уведомления.
|
|
33
|
+
* MAX API требует хотя бы одно из полей `message` или `notification`;
|
|
34
|
+
* при вызове без аргументов автоматически передаётся `notification: ""`.
|
|
35
|
+
*/
|
|
36
|
+
answerCallback(callbackId: string, data?: {
|
|
37
|
+
message?: NewMessageBody;
|
|
38
|
+
notification?: string;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=MessagesApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagesApi.d.ts","sourceRoot":"","sources":["../../../src/api/MessagesApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;OAKG;IACG,WAAW,CACf,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAW/B;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD;;;;;;OAMG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,cAAc,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,IAAI,CAAC;CAMjB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessagesApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с сообщениями.
|
|
6
|
+
*/
|
|
7
|
+
class MessagesApi {
|
|
8
|
+
http;
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Получить сообщение по ID.
|
|
14
|
+
*/
|
|
15
|
+
async getMessage(messageId) {
|
|
16
|
+
return this.http.get(`/messages/${encodeURIComponent(messageId)}`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Отправить сообщение.
|
|
20
|
+
*
|
|
21
|
+
* @param params - Параметры отправки (user_id или chat_id)
|
|
22
|
+
* @param body - Тело сообщения (текст, вложения)
|
|
23
|
+
*/
|
|
24
|
+
async sendMessage(params, body) {
|
|
25
|
+
return this.http.post("/messages", {
|
|
26
|
+
params: {
|
|
27
|
+
user_id: params.user_id,
|
|
28
|
+
chat_id: params.chat_id,
|
|
29
|
+
disable_link_preview: params.disable_link_preview,
|
|
30
|
+
},
|
|
31
|
+
body,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Редактировать сообщение.
|
|
36
|
+
*/
|
|
37
|
+
async editMessage(messageId, body) {
|
|
38
|
+
await this.http.put("/messages", {
|
|
39
|
+
params: { message_id: messageId },
|
|
40
|
+
body,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Удалить сообщение.
|
|
45
|
+
*/
|
|
46
|
+
async deleteMessage(messageId) {
|
|
47
|
+
await this.http.delete("/messages", {
|
|
48
|
+
params: { message_id: messageId },
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Ответить на callback-запрос.
|
|
53
|
+
*
|
|
54
|
+
* Вызывается для закрытия "часиков" на кнопке и опционально показа уведомления.
|
|
55
|
+
* MAX API требует хотя бы одно из полей `message` или `notification`;
|
|
56
|
+
* при вызове без аргументов автоматически передаётся `notification: ""`.
|
|
57
|
+
*/
|
|
58
|
+
async answerCallback(callbackId, data) {
|
|
59
|
+
await this.http.post("/answers", {
|
|
60
|
+
params: { callback_id: callbackId },
|
|
61
|
+
body: data ?? { notification: "" },
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.MessagesApi = MessagesApi;
|
|
66
|
+
//# sourceMappingURL=MessagesApi.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { IHttpClient } from "../core/http/interfaces.js";
|
|
2
|
+
import type { SubscribeRequest, SubscriptionInfo } from "../types/subscription.js";
|
|
3
|
+
import type { GetUpdatesParams, UpdatesResponse } from "../types/update.js";
|
|
4
|
+
import type { ISubscriptionsApi } from "./interfaces.js";
|
|
5
|
+
/**
|
|
6
|
+
* API для работы с подписками на обновления.
|
|
7
|
+
*
|
|
8
|
+
* Поддерживает два режима получения обновлений:
|
|
9
|
+
* - Webhook: MAX сам отправляет обновления на указанный URL
|
|
10
|
+
* - Long Polling: бот периодически запрашивает обновления
|
|
11
|
+
*/
|
|
12
|
+
export declare class SubscriptionsApi implements ISubscriptionsApi {
|
|
13
|
+
private readonly http;
|
|
14
|
+
constructor(http: IHttpClient);
|
|
15
|
+
/**
|
|
16
|
+
* Получить информацию о текущей подписке.
|
|
17
|
+
*
|
|
18
|
+
* Позволяет проверить, настроен ли webhook.
|
|
19
|
+
*/
|
|
20
|
+
getSubscriptions(): Promise<SubscriptionInfo>;
|
|
21
|
+
/**
|
|
22
|
+
* Подписаться на обновления (установить webhook).
|
|
23
|
+
*
|
|
24
|
+
* URL должен быть HTTPS — требование API для безопасности.
|
|
25
|
+
*/
|
|
26
|
+
subscribe(request: SubscribeRequest): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Отписаться от обновлений (удалить webhook).
|
|
29
|
+
*
|
|
30
|
+
* После удаления webhook можно использовать long polling.
|
|
31
|
+
*/
|
|
32
|
+
unsubscribe(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Получить обновления (long polling).
|
|
35
|
+
*
|
|
36
|
+
* Запрос блокируется на сервере до появления обновлений или истечения таймаута.
|
|
37
|
+
* Это более эффективно, чем постоянные короткие запросы.
|
|
38
|
+
*
|
|
39
|
+
* @param params.timeout - Время ожидания в секундах (по умолчанию 30)
|
|
40
|
+
* @param params.limit - Максимальное количество обновлений (по умолчанию 100)
|
|
41
|
+
* @param params.marker - Маркер для пагинации (получен из предыдущего ответа)
|
|
42
|
+
*/
|
|
43
|
+
getUpdates(params?: GetUpdatesParams, signal?: AbortSignal): Promise<UpdatesResponse>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=SubscriptionsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubscriptionsApi.d.ts","sourceRoot":"","sources":["../../../src/api/SubscriptionsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAInD;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;;;;;;OASG;IACG,UAAU,CACd,MAAM,CAAC,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;CAe5B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SubscriptionsApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с подписками на обновления.
|
|
6
|
+
*
|
|
7
|
+
* Поддерживает два режима получения обновлений:
|
|
8
|
+
* - Webhook: MAX сам отправляет обновления на указанный URL
|
|
9
|
+
* - Long Polling: бот периодически запрашивает обновления
|
|
10
|
+
*/
|
|
11
|
+
class SubscriptionsApi {
|
|
12
|
+
http;
|
|
13
|
+
constructor(http) {
|
|
14
|
+
this.http = http;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Получить информацию о текущей подписке.
|
|
18
|
+
*
|
|
19
|
+
* Позволяет проверить, настроен ли webhook.
|
|
20
|
+
*/
|
|
21
|
+
async getSubscriptions() {
|
|
22
|
+
return this.http.get("/subscriptions");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Подписаться на обновления (установить webhook).
|
|
26
|
+
*
|
|
27
|
+
* URL должен быть HTTPS — требование API для безопасности.
|
|
28
|
+
*/
|
|
29
|
+
async subscribe(request) {
|
|
30
|
+
await this.http.post("/subscriptions", {
|
|
31
|
+
body: request,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Отписаться от обновлений (удалить webhook).
|
|
36
|
+
*
|
|
37
|
+
* После удаления webhook можно использовать long polling.
|
|
38
|
+
*/
|
|
39
|
+
async unsubscribe() {
|
|
40
|
+
await this.http.delete("/subscriptions");
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Получить обновления (long polling).
|
|
44
|
+
*
|
|
45
|
+
* Запрос блокируется на сервере до появления обновлений или истечения таймаута.
|
|
46
|
+
* Это более эффективно, чем постоянные короткие запросы.
|
|
47
|
+
*
|
|
48
|
+
* @param params.timeout - Время ожидания в секундах (по умолчанию 30)
|
|
49
|
+
* @param params.limit - Максимальное количество обновлений (по умолчанию 100)
|
|
50
|
+
* @param params.marker - Маркер для пагинации (получен из предыдущего ответа)
|
|
51
|
+
*/
|
|
52
|
+
async getUpdates(params, signal) {
|
|
53
|
+
return this.http.get("/updates", {
|
|
54
|
+
params: {
|
|
55
|
+
timeout: params?.timeout,
|
|
56
|
+
limit: params?.limit,
|
|
57
|
+
marker: params?.marker,
|
|
58
|
+
// API принимает типы через запятую: "message_created,message_callback"
|
|
59
|
+
...(params?.update_types?.length
|
|
60
|
+
? { update_types: params.update_types.join(",") }
|
|
61
|
+
: undefined),
|
|
62
|
+
},
|
|
63
|
+
// signal пробрасывается из LongPollingTransport для отмены при вызове stop()
|
|
64
|
+
signal,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.SubscriptionsApi = SubscriptionsApi;
|
|
69
|
+
//# sourceMappingURL=SubscriptionsApi.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { IHttpClient } from "../core/http/interfaces.js";
|
|
2
|
+
import type { UploadResponse, UploadType, UploadUrlResponse } from "../types/upload.js";
|
|
3
|
+
import type { IUploadsApi } from "./interfaces.js";
|
|
4
|
+
/**
|
|
5
|
+
* API для загрузки файлов.
|
|
6
|
+
*
|
|
7
|
+
* Процесс загрузки двухэтапный:
|
|
8
|
+
* 1. Получить URL для загрузки через getUploadUrl
|
|
9
|
+
* 2. Загрузить файл на полученный URL через uploadFile
|
|
10
|
+
*/
|
|
11
|
+
export declare class UploadsApi implements IUploadsApi {
|
|
12
|
+
private readonly http;
|
|
13
|
+
private readonly token;
|
|
14
|
+
constructor(http: IHttpClient, token: string);
|
|
15
|
+
/**
|
|
16
|
+
* Получить URL для загрузки файла.
|
|
17
|
+
*
|
|
18
|
+
* @param type - Тип файла (image, video, audio, file)
|
|
19
|
+
*/
|
|
20
|
+
getUploadUrl(type: UploadType): Promise<UploadUrlResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Загрузить файл на полученный URL.
|
|
23
|
+
*
|
|
24
|
+
* Используется multipart/form-data для передачи файла.
|
|
25
|
+
* Этот метод не проходит через rate limiter, так как загрузка
|
|
26
|
+
* идёт на отдельный сервер.
|
|
27
|
+
*
|
|
28
|
+
* Ограничения multipart upload:
|
|
29
|
+
* - Максимальный размер файла: 4 ГБ
|
|
30
|
+
* - Можно загружать только один файл за раз
|
|
31
|
+
*/
|
|
32
|
+
uploadFile(uploadUrl: string, file: Blob, filename: string): Promise<UploadResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Resumable upload (без multipart/form-data).
|
|
35
|
+
*
|
|
36
|
+
* Загружает файл чанками с Content-Range.
|
|
37
|
+
*/
|
|
38
|
+
uploadFileResumable(uploadUrl: string, file: Blob, options?: {
|
|
39
|
+
chunkSize?: number;
|
|
40
|
+
contentType?: string;
|
|
41
|
+
onProgress?: (sentBytes: number, totalBytes: number) => void;
|
|
42
|
+
signal?: AbortSignal;
|
|
43
|
+
}): Promise<UploadResponse>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=UploadsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadsApi.d.ts","sourceRoot":"","sources":["../../../src/api/UploadsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAGrB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAHL,IAAI,EAAE,WAAW,EAGjB,KAAK,EAAE,MAAM;IAGhC;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMhE;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAiC1B;;;;OAIG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7D,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,cAAc,CAAC;CA6C3B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UploadsApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для загрузки файлов.
|
|
6
|
+
*
|
|
7
|
+
* Процесс загрузки двухэтапный:
|
|
8
|
+
* 1. Получить URL для загрузки через getUploadUrl
|
|
9
|
+
* 2. Загрузить файл на полученный URL через uploadFile
|
|
10
|
+
*/
|
|
11
|
+
class UploadsApi {
|
|
12
|
+
http;
|
|
13
|
+
token;
|
|
14
|
+
constructor(http,
|
|
15
|
+
// Токен передаётся явно — UploadsApi делает fetch напрямую на внешний URL,
|
|
16
|
+
// минуя HttpClient, поэтому не может взять заголовок из него
|
|
17
|
+
token) {
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.token = token;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Получить URL для загрузки файла.
|
|
23
|
+
*
|
|
24
|
+
* @param type - Тип файла (image, video, audio, file)
|
|
25
|
+
*/
|
|
26
|
+
async getUploadUrl(type) {
|
|
27
|
+
return this.http.post("/uploads", {
|
|
28
|
+
params: { type },
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Загрузить файл на полученный URL.
|
|
33
|
+
*
|
|
34
|
+
* Используется multipart/form-data для передачи файла.
|
|
35
|
+
* Этот метод не проходит через rate limiter, так как загрузка
|
|
36
|
+
* идёт на отдельный сервер.
|
|
37
|
+
*
|
|
38
|
+
* Ограничения multipart upload:
|
|
39
|
+
* - Максимальный размер файла: 4 ГБ
|
|
40
|
+
* - Можно загружать только один файл за раз
|
|
41
|
+
*/
|
|
42
|
+
async uploadFile(uploadUrl, file, filename) {
|
|
43
|
+
const formData = new FormData();
|
|
44
|
+
formData.append("data", file, filename);
|
|
45
|
+
// Загрузка идёт на внешний URL, поэтому используем fetch напрямую
|
|
46
|
+
const response = await fetch(uploadUrl, {
|
|
47
|
+
method: "POST",
|
|
48
|
+
headers: {
|
|
49
|
+
Authorization: this.token,
|
|
50
|
+
},
|
|
51
|
+
body: formData,
|
|
52
|
+
});
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
throw new Error(`Ошибка загрузки файла: ${response.status} ${response.statusText}`);
|
|
55
|
+
}
|
|
56
|
+
const text = await response.text();
|
|
57
|
+
if (!text) {
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
return JSON.parse(text);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Некоторые загрузочные серверы возвращают XML (например, <retval>1</retval>)
|
|
65
|
+
// В этом случае токен может быть уже выдан на шаге getUploadUrl
|
|
66
|
+
return {};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Resumable upload (без multipart/form-data).
|
|
71
|
+
*
|
|
72
|
+
* Загружает файл чанками с Content-Range.
|
|
73
|
+
*/
|
|
74
|
+
async uploadFileResumable(uploadUrl, file, options) {
|
|
75
|
+
const chunkSize = options?.chunkSize ?? 8 * 1024 * 1024; // 8 MB
|
|
76
|
+
const total = file.size;
|
|
77
|
+
let uploaded = 0;
|
|
78
|
+
let lastResponseText = null;
|
|
79
|
+
while (uploaded < total) {
|
|
80
|
+
const end = Math.min(uploaded + chunkSize, total);
|
|
81
|
+
const chunk = file.slice(uploaded, end);
|
|
82
|
+
const response = await fetch(uploadUrl, {
|
|
83
|
+
method: "POST",
|
|
84
|
+
headers: {
|
|
85
|
+
Authorization: this.token,
|
|
86
|
+
"Content-Type": options?.contentType ?? "application/octet-stream",
|
|
87
|
+
"Content-Range": `bytes ${uploaded}-${end - 1}/${total}`,
|
|
88
|
+
},
|
|
89
|
+
body: chunk,
|
|
90
|
+
signal: options?.signal,
|
|
91
|
+
});
|
|
92
|
+
if (!response.ok) {
|
|
93
|
+
throw new Error(`Ошибка загрузки файла: ${response.status} ${response.statusText}`);
|
|
94
|
+
}
|
|
95
|
+
lastResponseText = await response.text();
|
|
96
|
+
uploaded = end;
|
|
97
|
+
if (options?.onProgress) {
|
|
98
|
+
options.onProgress(uploaded, total);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (!lastResponseText) {
|
|
102
|
+
return {};
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
return JSON.parse(lastResponseText);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return {};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.UploadsApi = UploadsApi;
|
|
113
|
+
//# sourceMappingURL=UploadsApi.js.map
|