@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,70 @@
|
|
|
1
|
+
import type { ButtonIntent, InlineKeyboardAttachment } from "../types/keyboard.js";
|
|
2
|
+
/**
|
|
3
|
+
* Builder для inline-клавиатуры.
|
|
4
|
+
*/
|
|
5
|
+
export declare class InlineKeyboard {
|
|
6
|
+
private readonly rows;
|
|
7
|
+
private get currentRow();
|
|
8
|
+
/**
|
|
9
|
+
* Добавить callback-кнопку.
|
|
10
|
+
*/
|
|
11
|
+
button(text: string, payload: string, intent?: ButtonIntent): this;
|
|
12
|
+
/**
|
|
13
|
+
* Добавить кнопку-ссылку.
|
|
14
|
+
*/
|
|
15
|
+
url(text: string, url: string, intent?: ButtonIntent): this;
|
|
16
|
+
/**
|
|
17
|
+
* Запросить контакт пользователя (только текст).
|
|
18
|
+
*/
|
|
19
|
+
requestContact(text: string, intent?: ButtonIntent): this;
|
|
20
|
+
/**
|
|
21
|
+
* Запросить геолокацию пользователя.
|
|
22
|
+
*/
|
|
23
|
+
requestGeoLocation(text: string, options?: {
|
|
24
|
+
quick?: boolean;
|
|
25
|
+
intent?: ButtonIntent;
|
|
26
|
+
}): this;
|
|
27
|
+
/**
|
|
28
|
+
* Открыть приложение.
|
|
29
|
+
*/
|
|
30
|
+
openApp(text: string, options?: {
|
|
31
|
+
web_app?: string;
|
|
32
|
+
contact_id?: number;
|
|
33
|
+
payload?: string;
|
|
34
|
+
intent?: ButtonIntent;
|
|
35
|
+
}): this;
|
|
36
|
+
/**
|
|
37
|
+
* Создать новый чат с ботом.
|
|
38
|
+
*
|
|
39
|
+
* При нажатии открывается диалог создания чата — пользователь может его
|
|
40
|
+
* переименовать или отменить. После создания бот получит событие `bot_added`.
|
|
41
|
+
*
|
|
42
|
+
* @param text - Текст кнопки
|
|
43
|
+
* @param chatTitle - Предзаполненное название чата
|
|
44
|
+
* @param options - Дополнительные параметры
|
|
45
|
+
*/
|
|
46
|
+
chat(text: string, chatTitle: string, options?: {
|
|
47
|
+
/** Описание чата */
|
|
48
|
+
chat_description?: string | null;
|
|
49
|
+
/** Payload для bot_started (до 1024 символов) */
|
|
50
|
+
start_payload?: string | null;
|
|
51
|
+
/** UUID для предотвращения дублирования при повторных нажатиях */
|
|
52
|
+
uuid?: string | null;
|
|
53
|
+
}): this;
|
|
54
|
+
/**
|
|
55
|
+
* Отправить сообщение из клиента (текст кнопки отправится в чат от лица пользователя).
|
|
56
|
+
*/
|
|
57
|
+
message(text: string, intent?: ButtonIntent): this;
|
|
58
|
+
/**
|
|
59
|
+
* Завершить текущую строку и начать новую.
|
|
60
|
+
*/
|
|
61
|
+
row(): this;
|
|
62
|
+
/**
|
|
63
|
+
* Построить вложение inline-клавиатуры.
|
|
64
|
+
*/
|
|
65
|
+
build(): InlineKeyboardAttachment;
|
|
66
|
+
private pushButton;
|
|
67
|
+
private assertText;
|
|
68
|
+
private assertUrl;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=keyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/utils/keyboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACZ,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAI9B;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,OAAO,KAAK,UAAU,GAGrB;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAalE;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAc3D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAYzD;;OAEG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,GACnD,IAAI;IAaP;;OAEG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,GACA,IAAI;IAiBP;;;;;;;;;OASG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,oBAAoB;QACpB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,iDAAiD;QACjD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,kEAAkE;QAClE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,GACA,IAAI;IAsBP;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAYlD;;OAEG;IACH,GAAG,IAAI,IAAI;IAKX;;OAEG;IACH,KAAK,IAAI,wBAAwB;IAkBjC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;CASlB"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { ValidationError } from "../core/errors/index.js";
|
|
2
|
+
const MAX_BUTTONS = 210;
|
|
3
|
+
/**
|
|
4
|
+
* Builder для inline-клавиатуры.
|
|
5
|
+
*/
|
|
6
|
+
export class InlineKeyboard {
|
|
7
|
+
rows = [[]];
|
|
8
|
+
get currentRow() {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- rows всегда содержит хотя бы одну строку (инициализирована как [[]])
|
|
10
|
+
return this.rows[this.rows.length - 1];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Добавить callback-кнопку.
|
|
14
|
+
*/
|
|
15
|
+
button(text, payload, intent) {
|
|
16
|
+
this.assertText(text);
|
|
17
|
+
this.pushButton({
|
|
18
|
+
type: "callback",
|
|
19
|
+
text,
|
|
20
|
+
payload,
|
|
21
|
+
...(intent ? { intent } : {}),
|
|
22
|
+
});
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Добавить кнопку-ссылку.
|
|
27
|
+
*/
|
|
28
|
+
url(text, url, intent) {
|
|
29
|
+
this.assertText(text);
|
|
30
|
+
this.assertUrl(url);
|
|
31
|
+
this.pushButton({
|
|
32
|
+
type: "link",
|
|
33
|
+
text,
|
|
34
|
+
url,
|
|
35
|
+
...(intent ? { intent } : {}),
|
|
36
|
+
});
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Запросить контакт пользователя (только текст).
|
|
41
|
+
*/
|
|
42
|
+
requestContact(text, intent) {
|
|
43
|
+
this.assertText(text);
|
|
44
|
+
this.pushButton({
|
|
45
|
+
type: "request_contact",
|
|
46
|
+
text,
|
|
47
|
+
...(intent ? { intent } : {}),
|
|
48
|
+
});
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Запросить геолокацию пользователя.
|
|
53
|
+
*/
|
|
54
|
+
requestGeoLocation(text, options) {
|
|
55
|
+
this.assertText(text);
|
|
56
|
+
this.pushButton({
|
|
57
|
+
type: "request_geo_location",
|
|
58
|
+
text,
|
|
59
|
+
...(options?.quick ? { quick: options.quick } : {}),
|
|
60
|
+
...(options?.intent ? { intent: options.intent } : {}),
|
|
61
|
+
});
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Открыть приложение.
|
|
66
|
+
*/
|
|
67
|
+
openApp(text, options) {
|
|
68
|
+
this.assertText(text);
|
|
69
|
+
this.pushButton({
|
|
70
|
+
type: "open_app",
|
|
71
|
+
text,
|
|
72
|
+
...(options?.web_app ? { web_app: options.web_app } : {}),
|
|
73
|
+
...(typeof options?.contact_id === "number"
|
|
74
|
+
? { contact_id: options.contact_id }
|
|
75
|
+
: {}),
|
|
76
|
+
...(options?.payload ? { payload: options.payload } : {}),
|
|
77
|
+
...(options?.intent ? { intent: options.intent } : {}),
|
|
78
|
+
});
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Создать новый чат с ботом.
|
|
83
|
+
*
|
|
84
|
+
* При нажатии открывается диалог создания чата — пользователь может его
|
|
85
|
+
* переименовать или отменить. После создания бот получит событие `bot_added`.
|
|
86
|
+
*
|
|
87
|
+
* @param text - Текст кнопки
|
|
88
|
+
* @param chatTitle - Предзаполненное название чата
|
|
89
|
+
* @param options - Дополнительные параметры
|
|
90
|
+
*/
|
|
91
|
+
chat(text, chatTitle, options) {
|
|
92
|
+
this.assertText(text);
|
|
93
|
+
if (!chatTitle || typeof chatTitle !== "string") {
|
|
94
|
+
throw new ValidationError("chat_title должен быть непустой строкой");
|
|
95
|
+
}
|
|
96
|
+
this.pushButton({
|
|
97
|
+
type: "chat",
|
|
98
|
+
text,
|
|
99
|
+
chat_title: chatTitle,
|
|
100
|
+
...(options?.chat_description != null
|
|
101
|
+
? { chat_description: options.chat_description }
|
|
102
|
+
: {}),
|
|
103
|
+
...(options?.start_payload != null
|
|
104
|
+
? { start_payload: options.start_payload }
|
|
105
|
+
: {}),
|
|
106
|
+
...(options?.uuid != null ? { uuid: options.uuid } : {}),
|
|
107
|
+
});
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Отправить сообщение из клиента (текст кнопки отправится в чат от лица пользователя).
|
|
112
|
+
*/
|
|
113
|
+
message(text, intent) {
|
|
114
|
+
this.assertText(text);
|
|
115
|
+
this.pushButton({
|
|
116
|
+
type: "message",
|
|
117
|
+
text,
|
|
118
|
+
...(intent ? { intent } : {}),
|
|
119
|
+
});
|
|
120
|
+
return this;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Завершить текущую строку и начать новую.
|
|
124
|
+
*/
|
|
125
|
+
row() {
|
|
126
|
+
this.rows.push([]);
|
|
127
|
+
return this;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Построить вложение inline-клавиатуры.
|
|
131
|
+
*/
|
|
132
|
+
build() {
|
|
133
|
+
const rows = this.rows.filter((row) => row.length > 0);
|
|
134
|
+
const total = rows.reduce((count, row) => count + row.length, 0);
|
|
135
|
+
if (total > MAX_BUTTONS) {
|
|
136
|
+
throw new ValidationError(`Превышен лимит кнопок: ${total}/${MAX_BUTTONS}`);
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
type: "inline_keyboard",
|
|
140
|
+
payload: {
|
|
141
|
+
buttons: rows,
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
pushButton(button) {
|
|
146
|
+
this.currentRow.push(button);
|
|
147
|
+
}
|
|
148
|
+
assertText(text) {
|
|
149
|
+
if (!text || typeof text !== "string") {
|
|
150
|
+
throw new ValidationError("Текст кнопки должен быть непустой строкой");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
assertUrl(url) {
|
|
154
|
+
if (!url || typeof url !== "string") {
|
|
155
|
+
throw new ValidationError("URL должен быть строкой");
|
|
156
|
+
}
|
|
157
|
+
if (!url.startsWith("http://") && !url.startsWith("https://")) {
|
|
158
|
+
throw new ValidationError("URL должен начинаться с http:// или https://");
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=keyboard.js.map
|
|
@@ -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,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,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,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,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,7 @@
|
|
|
1
|
+
export { BotsApi } from "./BotsApi.js";
|
|
2
|
+
export { ChatsApi } from "./ChatsApi.js";
|
|
3
|
+
export { MessagesApi } from "./MessagesApi.js";
|
|
4
|
+
export { SubscriptionsApi } from "./SubscriptionsApi.js";
|
|
5
|
+
export { UploadsApi } from "./UploadsApi.js";
|
|
6
|
+
export type { IBotsApi, IChatsApi, IMessagesApi, ISubscriptionsApi, IUploadsApi, } from "./interfaces.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,YAAY,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { BotInfo } from "../types/bot.js";
|
|
2
|
+
import type { Chat, ChatMember, ChatsResponse, GetChatsParams, UpdateChatRequest } from "../types/chat.js";
|
|
3
|
+
import type { Message, NewMessageBody, SendMessageParams, SendMessageResponse } from "../types/message.js";
|
|
4
|
+
import type { SubscribeRequest, SubscriptionInfo } from "../types/subscription.js";
|
|
5
|
+
import type { GetUpdatesParams, UpdatesResponse } from "../types/update.js";
|
|
6
|
+
import type { UploadResponse, UploadType, UploadUrlResponse } from "../types/upload.js";
|
|
7
|
+
import type { User } from "../types/common.js";
|
|
8
|
+
/**
|
|
9
|
+
* Интерфейс API ботов
|
|
10
|
+
*/
|
|
11
|
+
export interface IBotsApi {
|
|
12
|
+
/** Получить информацию о текущем боте */
|
|
13
|
+
getMe(): Promise<BotInfo>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Интерфейс API чатов
|
|
17
|
+
*/
|
|
18
|
+
export interface IChatsApi {
|
|
19
|
+
/** Получить список чатов */
|
|
20
|
+
getChats(params?: GetChatsParams): Promise<ChatsResponse>;
|
|
21
|
+
/** Получить информацию о чате по ID */
|
|
22
|
+
getChat(chatId: number): Promise<Chat>;
|
|
23
|
+
/** Получить информацию о чате по ссылке */
|
|
24
|
+
getChatByLink(chatLink: string): Promise<Chat>;
|
|
25
|
+
/** Обновить информацию о чате */
|
|
26
|
+
updateChat(chatId: number, data: UpdateChatRequest): Promise<Chat>;
|
|
27
|
+
/** Удалить чат */
|
|
28
|
+
deleteChat(chatId: number): Promise<void>;
|
|
29
|
+
/** Отправить действие в чат (например, "печатает...") */
|
|
30
|
+
sendAction(chatId: number, action: string): Promise<void>;
|
|
31
|
+
/** Получить закреплённое сообщение */
|
|
32
|
+
getPinnedMessage(chatId: number): Promise<Message | null>;
|
|
33
|
+
/** Закрепить сообщение */
|
|
34
|
+
pinMessage(chatId: number, messageId: string): Promise<void>;
|
|
35
|
+
/** Открепить сообщение */
|
|
36
|
+
unpinMessage(chatId: number): Promise<void>;
|
|
37
|
+
/** Получить информацию о членстве бота в чате */
|
|
38
|
+
getBotMembership(chatId: number): Promise<ChatMember>;
|
|
39
|
+
/** Покинуть чат */
|
|
40
|
+
leaveChat(chatId: number): Promise<void>;
|
|
41
|
+
/** Получить участников чата */
|
|
42
|
+
getMembers(chatId: number): Promise<{
|
|
43
|
+
members: ChatMember[];
|
|
44
|
+
}>;
|
|
45
|
+
/** Добавить участников в чат */
|
|
46
|
+
addMembers(chatId: number, userIds: number[]): Promise<void>;
|
|
47
|
+
/** Удалить участника из чата */
|
|
48
|
+
removeMember(chatId: number, userId: number): Promise<void>;
|
|
49
|
+
/** Получить администраторов чата */
|
|
50
|
+
getAdmins(chatId: number): Promise<{
|
|
51
|
+
admins: User[];
|
|
52
|
+
}>;
|
|
53
|
+
/** Добавить администратора */
|
|
54
|
+
addAdmin(chatId: number, userId: number): Promise<void>;
|
|
55
|
+
/** Удалить администратора */
|
|
56
|
+
removeAdmin(chatId: number, userId: number): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Интерфейс API сообщений
|
|
60
|
+
*/
|
|
61
|
+
export interface IMessagesApi {
|
|
62
|
+
/** Получить сообщение по ID */
|
|
63
|
+
getMessage(messageId: string): Promise<Message>;
|
|
64
|
+
/** Отправить сообщение */
|
|
65
|
+
sendMessage(params: SendMessageParams, body: NewMessageBody): Promise<SendMessageResponse>;
|
|
66
|
+
/** Редактировать сообщение */
|
|
67
|
+
editMessage(messageId: string, body: NewMessageBody): Promise<void>;
|
|
68
|
+
/** Удалить сообщение */
|
|
69
|
+
deleteMessage(messageId: string): Promise<void>;
|
|
70
|
+
/** Ответить на callback-запрос */
|
|
71
|
+
answerCallback(callbackId: string, data?: {
|
|
72
|
+
message?: NewMessageBody;
|
|
73
|
+
notification?: string;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Интерфейс API подписок
|
|
78
|
+
*/
|
|
79
|
+
export interface ISubscriptionsApi {
|
|
80
|
+
/** Получить информацию о текущей подписке */
|
|
81
|
+
getSubscriptions(): Promise<SubscriptionInfo>;
|
|
82
|
+
/** Подписаться на обновления (установить webhook) */
|
|
83
|
+
subscribe(request: SubscribeRequest): Promise<void>;
|
|
84
|
+
/** Отписаться от обновлений (удалить webhook) */
|
|
85
|
+
unsubscribe(): Promise<void>;
|
|
86
|
+
/** Получить обновления (long polling) */
|
|
87
|
+
getUpdates(params?: GetUpdatesParams, signal?: AbortSignal): Promise<UpdatesResponse>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Интерфейс API загрузки файлов
|
|
91
|
+
*/
|
|
92
|
+
export interface IUploadsApi {
|
|
93
|
+
/** Получить URL для загрузки файла */
|
|
94
|
+
getUploadUrl(type: UploadType): Promise<UploadUrlResponse>;
|
|
95
|
+
/** Загрузить файл */
|
|
96
|
+
uploadFile(uploadUrl: string, file: Blob, filename: string): Promise<UploadResponse>;
|
|
97
|
+
/**
|
|
98
|
+
* Resumable upload (без multipart/form-data).
|
|
99
|
+
* Подходит для больших файлов и позволяет загружать частями.
|
|
100
|
+
*/
|
|
101
|
+
uploadFileResumable(uploadUrl: string, file: Blob, options?: {
|
|
102
|
+
chunkSize?: number;
|
|
103
|
+
contentType?: string;
|
|
104
|
+
onProgress?: (sentBytes: number, totalBytes: number) => void;
|
|
105
|
+
signal?: AbortSignal;
|
|
106
|
+
}): Promise<UploadResponse>;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/api/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yCAAyC;IACzC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D,uCAAuC;IACvC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,2CAA2C;IAC3C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iCAAiC;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,kBAAkB;IAClB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,yDAAyD;IACzD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,sCAAsC;IACtC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1D,0BAA0B;IAC1B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,0BAA0B;IAC1B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,iDAAiD;IACjD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,mBAAmB;IACnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,+BAA+B;IAC/B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IAC/D,gCAAgC;IAChC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,gCAAgC;IAChC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,oCAAoC;IACpC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC,CAAC;IACvD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,6BAA6B;IAC7B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,0BAA0B;IAC1B,WAAW,CACT,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,8BAA8B;IAC9B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,wBAAwB;IACxB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,kCAAkC;IAClC,cAAc,CACZ,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,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,qDAAqD;IACrD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,iDAAiD;IACjD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,yCAAyC;IACzC,UAAU,CACR,MAAM,CAAC,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,qBAAqB;IACrB,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CACjB,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,CAAC;CAC5B"}
|