@mtcute/dispatcher 0.16.7 → 0.16.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/{cjs/callback-data-builder.d.ts → callback-data-builder.d.ts} +2 -2
  2. package/callback-data-builder.test.d.ts +1 -0
  3. package/{esm/context → context}/base.d.ts +2 -2
  4. package/{esm/context → context}/business-message.d.ts +5 -6
  5. package/{esm/context → context}/callback-query.d.ts +6 -7
  6. package/{cjs/context → context}/chat-join-request.d.ts +3 -3
  7. package/{esm/context → context}/chosen-inline-result.d.ts +3 -3
  8. package/{esm/context → context}/inline-query.d.ts +4 -5
  9. package/{cjs/context → context}/message.d.ts +11 -6
  10. package/{cjs/context → context}/parse.d.ts +3 -3
  11. package/{esm/context → context}/pre-checkout-query.d.ts +3 -3
  12. package/{esm/context → context}/scene-transition.d.ts +1 -1
  13. package/{cjs/dispatcher.d.ts → dispatcher.d.ts} +9 -10
  14. package/{cjs/filters → filters}/bots.d.ts +4 -4
  15. package/filters/bots.test.d.ts +1 -0
  16. package/{cjs/filters → filters}/chat.d.ts +3 -3
  17. package/{esm/filters → filters}/group.d.ts +4 -4
  18. package/{cjs/filters → filters}/logic.d.ts +1 -1
  19. package/filters/logic.test.d.ts +1 -0
  20. package/{esm/filters → filters}/message.d.ts +9 -5
  21. package/{cjs/filters → filters}/state.d.ts +2 -2
  22. package/{esm/filters → filters}/text.d.ts +3 -3
  23. package/{cjs/filters → filters}/types.d.ts +2 -2
  24. package/{cjs/filters → filters}/updates.d.ts +2 -2
  25. package/{cjs/filters → filters}/user.d.ts +3 -4
  26. package/{cjs/handler.d.ts → handler.d.ts} +5 -5
  27. package/index.cjs +2534 -0
  28. package/index.d.ts +8 -1
  29. package/index.js +2529 -1
  30. package/package.json +28 -24
  31. package/{cjs/state → state}/key.d.ts +3 -3
  32. package/state/provider.d.ts +5 -0
  33. package/{cjs/state → state}/providers/memory.d.ts +3 -4
  34. package/{esm/state → state}/providers/sqlite.d.ts +3 -3
  35. package/{cjs/state → state}/repository.d.ts +1 -1
  36. package/{esm/state → state}/service.d.ts +2 -2
  37. package/{cjs/state → state}/update-state.d.ts +2 -2
  38. package/{esm/wizard.d.ts → wizard.d.ts} +5 -6
  39. package/cjs/callback-data-builder.js +0 -141
  40. package/cjs/callback-data-builder.js.map +0 -1
  41. package/cjs/context/base.d.ts +0 -9
  42. package/cjs/context/base.js +0 -3
  43. package/cjs/context/base.js.map +0 -1
  44. package/cjs/context/business-message.d.ts +0 -61
  45. package/cjs/context/business-message.js +0 -146
  46. package/cjs/context/business-message.js.map +0 -1
  47. package/cjs/context/callback-query.d.ts +0 -63
  48. package/cjs/context/callback-query.js +0 -109
  49. package/cjs/context/callback-query.js.map +0 -1
  50. package/cjs/context/chat-join-request.js +0 -35
  51. package/cjs/context/chat-join-request.js.map +0 -1
  52. package/cjs/context/chosen-inline-result.d.ts +0 -22
  53. package/cjs/context/chosen-inline-result.js +0 -36
  54. package/cjs/context/chosen-inline-result.js.map +0 -1
  55. package/cjs/context/index.js +0 -25
  56. package/cjs/context/index.js.map +0 -1
  57. package/cjs/context/inline-query.d.ts +0 -16
  58. package/cjs/context/inline-query.js +0 -23
  59. package/cjs/context/inline-query.js.map +0 -1
  60. package/cjs/context/message.js +0 -171
  61. package/cjs/context/message.js.map +0 -1
  62. package/cjs/context/parse.js +0 -42
  63. package/cjs/context/parse.js.map +0 -1
  64. package/cjs/context/pre-checkout-query.d.ts +0 -17
  65. package/cjs/context/pre-checkout-query.js +0 -27
  66. package/cjs/context/pre-checkout-query.js.map +0 -1
  67. package/cjs/context/scene-transition.d.ts +0 -24
  68. package/cjs/context/scene-transition.js +0 -52
  69. package/cjs/context/scene-transition.js.map +0 -1
  70. package/cjs/dispatcher.js +0 -908
  71. package/cjs/dispatcher.js.map +0 -1
  72. package/cjs/filters/bots.js +0 -135
  73. package/cjs/filters/bots.js.map +0 -1
  74. package/cjs/filters/bundle.js +0 -27
  75. package/cjs/filters/bundle.js.map +0 -1
  76. package/cjs/filters/chat.js +0 -56
  77. package/cjs/filters/chat.js.map +0 -1
  78. package/cjs/filters/group.d.ts +0 -26
  79. package/cjs/filters/group.js +0 -69
  80. package/cjs/filters/group.js.map +0 -1
  81. package/cjs/filters/index.js +0 -29
  82. package/cjs/filters/index.js.map +0 -1
  83. package/cjs/filters/logic.js +0 -112
  84. package/cjs/filters/logic.js.map +0 -1
  85. package/cjs/filters/message.d.ts +0 -215
  86. package/cjs/filters/message.js +0 -191
  87. package/cjs/filters/message.js.map +0 -1
  88. package/cjs/filters/state.js +0 -33
  89. package/cjs/filters/state.js.map +0 -1
  90. package/cjs/filters/text.d.ts +0 -64
  91. package/cjs/filters/text.js +0 -136
  92. package/cjs/filters/text.js.map +0 -1
  93. package/cjs/filters/types.js +0 -3
  94. package/cjs/filters/types.js.map +0 -1
  95. package/cjs/filters/updates.js +0 -40
  96. package/cjs/filters/updates.js.map +0 -1
  97. package/cjs/filters/user.js +0 -77
  98. package/cjs/filters/user.js.map +0 -1
  99. package/cjs/handler.js +0 -4
  100. package/cjs/handler.js.map +0 -1
  101. package/cjs/index.js +0 -31
  102. package/cjs/index.js.map +0 -1
  103. package/cjs/package.json +0 -3
  104. package/cjs/propagation.js +0 -27
  105. package/cjs/propagation.js.map +0 -1
  106. package/cjs/state/index.js +0 -22
  107. package/cjs/state/index.js.map +0 -1
  108. package/cjs/state/key.js +0 -43
  109. package/cjs/state/key.js.map +0 -1
  110. package/cjs/state/provider.d.ts +0 -5
  111. package/cjs/state/provider.js +0 -3
  112. package/cjs/state/provider.js.map +0 -1
  113. package/cjs/state/providers/index.js +0 -19
  114. package/cjs/state/providers/index.js.map +0 -1
  115. package/cjs/state/providers/memory.js +0 -81
  116. package/cjs/state/providers/memory.js.map +0 -1
  117. package/cjs/state/providers/sqlite.d.ts +0 -28
  118. package/cjs/state/providers/sqlite.js +0 -100
  119. package/cjs/state/providers/sqlite.js.map +0 -1
  120. package/cjs/state/repository.js +0 -3
  121. package/cjs/state/repository.js.map +0 -1
  122. package/cjs/state/service.d.ts +0 -20
  123. package/cjs/state/service.js +0 -70
  124. package/cjs/state/service.js.map +0 -1
  125. package/cjs/state/update-state.js +0 -219
  126. package/cjs/state/update-state.js.map +0 -1
  127. package/cjs/wizard.d.ts +0 -65
  128. package/cjs/wizard.js +0 -105
  129. package/cjs/wizard.js.map +0 -1
  130. package/esm/callback-data-builder.d.ts +0 -49
  131. package/esm/callback-data-builder.js +0 -137
  132. package/esm/callback-data-builder.js.map +0 -1
  133. package/esm/context/base.js +0 -2
  134. package/esm/context/base.js.map +0 -1
  135. package/esm/context/business-message.js +0 -142
  136. package/esm/context/business-message.js.map +0 -1
  137. package/esm/context/callback-query.js +0 -103
  138. package/esm/context/callback-query.js.map +0 -1
  139. package/esm/context/chat-join-request.d.ts +0 -17
  140. package/esm/context/chat-join-request.js +0 -31
  141. package/esm/context/chat-join-request.js.map +0 -1
  142. package/esm/context/chosen-inline-result.js +0 -32
  143. package/esm/context/chosen-inline-result.js.map +0 -1
  144. package/esm/context/index.d.ts +0 -9
  145. package/esm/context/index.js +0 -9
  146. package/esm/context/index.js.map +0 -1
  147. package/esm/context/inline-query.js +0 -19
  148. package/esm/context/inline-query.js.map +0 -1
  149. package/esm/context/message.d.ts +0 -77
  150. package/esm/context/message.js +0 -167
  151. package/esm/context/message.js.map +0 -1
  152. package/esm/context/parse.d.ts +0 -13
  153. package/esm/context/parse.js +0 -39
  154. package/esm/context/parse.js.map +0 -1
  155. package/esm/context/pre-checkout-query.js +0 -23
  156. package/esm/context/pre-checkout-query.js.map +0 -1
  157. package/esm/context/scene-transition.js +0 -48
  158. package/esm/context/scene-transition.js.map +0 -1
  159. package/esm/dispatcher.d.ts +0 -881
  160. package/esm/dispatcher.js +0 -904
  161. package/esm/dispatcher.js.map +0 -1
  162. package/esm/filters/bots.d.ts +0 -64
  163. package/esm/filters/bots.js +0 -131
  164. package/esm/filters/bots.js.map +0 -1
  165. package/esm/filters/bundle.d.ts +0 -10
  166. package/esm/filters/bundle.js +0 -11
  167. package/esm/filters/bundle.js.map +0 -1
  168. package/esm/filters/chat.d.ts +0 -27
  169. package/esm/filters/chat.js +0 -51
  170. package/esm/filters/chat.js.map +0 -1
  171. package/esm/filters/group.js +0 -65
  172. package/esm/filters/group.js.map +0 -1
  173. package/esm/filters/index.d.ts +0 -4
  174. package/esm/filters/index.js +0 -3
  175. package/esm/filters/index.js.map +0 -1
  176. package/esm/filters/logic.d.ts +0 -29
  177. package/esm/filters/logic.js +0 -105
  178. package/esm/filters/logic.js.map +0 -1
  179. package/esm/filters/message.js +0 -168
  180. package/esm/filters/message.js.map +0 -1
  181. package/esm/filters/state.d.ts +0 -15
  182. package/esm/filters/state.js +0 -28
  183. package/esm/filters/state.js.map +0 -1
  184. package/esm/filters/text.js +0 -129
  185. package/esm/filters/text.js.map +0 -1
  186. package/esm/filters/types.d.ts +0 -91
  187. package/esm/filters/types.js +0 -2
  188. package/esm/filters/types.js.map +0 -1
  189. package/esm/filters/updates.d.ts +0 -39
  190. package/esm/filters/updates.js +0 -34
  191. package/esm/filters/updates.js.map +0 -1
  192. package/esm/filters/user.d.ts +0 -25
  193. package/esm/filters/user.js +0 -71
  194. package/esm/filters/user.js.map +0 -1
  195. package/esm/handler.d.ts +0 -41
  196. package/esm/handler.js +0 -3
  197. package/esm/handler.js.map +0 -1
  198. package/esm/index.d.ts +0 -8
  199. package/esm/index.js +0 -9
  200. package/esm/index.js.map +0 -1
  201. package/esm/propagation.d.ts +0 -22
  202. package/esm/propagation.js +0 -24
  203. package/esm/propagation.js.map +0 -1
  204. package/esm/state/index.d.ts +0 -5
  205. package/esm/state/index.js +0 -6
  206. package/esm/state/index.js.map +0 -1
  207. package/esm/state/key.d.ts +0 -24
  208. package/esm/state/key.js +0 -39
  209. package/esm/state/key.js.map +0 -1
  210. package/esm/state/provider.d.ts +0 -5
  211. package/esm/state/provider.js +0 -2
  212. package/esm/state/provider.js.map +0 -1
  213. package/esm/state/providers/index.d.ts +0 -2
  214. package/esm/state/providers/index.js +0 -3
  215. package/esm/state/providers/index.js.map +0 -1
  216. package/esm/state/providers/memory.d.ts +0 -30
  217. package/esm/state/providers/memory.js +0 -77
  218. package/esm/state/providers/memory.js.map +0 -1
  219. package/esm/state/providers/sqlite.js +0 -96
  220. package/esm/state/providers/sqlite.js.map +0 -1
  221. package/esm/state/repository.d.ts +0 -62
  222. package/esm/state/repository.js +0 -2
  223. package/esm/state/repository.js.map +0 -1
  224. package/esm/state/service.js +0 -66
  225. package/esm/state/service.js.map +0 -1
  226. package/esm/state/update-state.d.ts +0 -151
  227. package/esm/state/update-state.js +0 -214
  228. package/esm/state/update-state.js.map +0 -1
  229. package/esm/wizard.js +0 -101
  230. package/esm/wizard.js.map +0 -1
  231. /package/{cjs/context → context}/index.d.ts +0 -0
  232. /package/{cjs/filters → filters}/bundle.d.ts +0 -0
  233. /package/{cjs/filters → filters}/index.d.ts +0 -0
  234. /package/{cjs/index.d.ts → index.d.cts} +0 -0
  235. /package/{cjs/propagation.d.ts → propagation.d.ts} +0 -0
  236. /package/{cjs/state → state}/index.d.ts +0 -0
  237. /package/{cjs/state → state}/providers/index.d.ts +0 -0
@@ -1,5 +1,5 @@
1
- import type { BusinessCallbackQuery, CallbackQuery, InlineCallbackQuery, MaybeArray, MaybePromise } from '@mtcute/core';
2
- import type { UpdateFilter } from './filters/types.js';
1
+ import { BusinessCallbackQuery, CallbackQuery, InlineCallbackQuery, MaybeArray, MaybePromise } from '@mtcute/core';
2
+ import { UpdateFilter } from './filters/types.js';
3
3
  /**
4
4
  * Callback data builder, inspired by [aiogram](https://github.com/aiogram/aiogram).
5
5
  *
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import type { ParsedUpdate } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
1
+ import { ParsedUpdate } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
3
  export type UpdateContext<T> = T & {
4
4
  client: TelegramClient;
5
5
  _name: Extract<ParsedUpdate, {
@@ -1,8 +1,7 @@
1
- import type { Message, OmitInputMessageId, ParametersSkip1, Sticker } from '@mtcute/core';
2
- import { BusinessMessage } from '@mtcute/core';
3
- import type { TelegramClient } from '@mtcute/core/client.js';
4
- import type { DeleteMessagesParams, ForwardMessageOptions, SendCopyGroupParams, SendCopyParams } from '@mtcute/core/methods.js';
5
- import type { UpdateContext } from './base.js';
1
+ import { Message, OmitInputMessageId, ParametersSkip1, Sticker, BusinessMessage } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { DeleteMessagesParams, ForwardMessageOptions, SendCopyGroupParams, SendCopyParams } from '@mtcute/core/methods.js';
4
+ import { UpdateContext } from './base.js';
6
5
  /**
7
6
  * Context of a business message related update.
8
7
  *
@@ -14,7 +13,7 @@ import type { UpdateContext } from './base.js';
14
13
  */
15
14
  export declare class BusinessMessageContext extends BusinessMessage implements UpdateContext<BusinessMessage> {
16
15
  readonly client: TelegramClient;
17
- readonly _name = "new_business_message";
16
+ readonly _name: "new_business_message";
18
17
  /**
19
18
  * List of messages in the message group.
20
19
  *
@@ -1,7 +1,6 @@
1
- import type { MaybePromise, Message } from '@mtcute/core';
2
- import { BusinessCallbackQuery, CallbackQuery, InlineCallbackQuery } from '@mtcute/core';
3
- import type { TelegramClient } from '@mtcute/core/client.js';
4
- import type { UpdateContext } from './base.js';
1
+ import { MaybePromise, Message, BusinessCallbackQuery, CallbackQuery, InlineCallbackQuery } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './base.js';
5
4
  /**
6
5
  * Context of a callback query update.
7
6
  *
@@ -9,7 +8,7 @@ import type { UpdateContext } from './base.js';
9
8
  */
10
9
  export declare class CallbackQueryContext extends CallbackQuery implements UpdateContext<CallbackQuery> {
11
10
  readonly client: TelegramClient;
12
- readonly _name = "callback_query";
11
+ readonly _name: "callback_query";
13
12
  constructor(client: TelegramClient, query: CallbackQuery);
14
13
  /** Answer to this callback query */
15
14
  answer(params: Parameters<TelegramClient['answerCallbackQuery']>[1]): Promise<void>;
@@ -36,7 +35,7 @@ export declare class CallbackQueryContext extends CallbackQuery implements Updat
36
35
  */
37
36
  export declare class InlineCallbackQueryContext extends InlineCallbackQuery implements UpdateContext<InlineCallbackQuery> {
38
37
  readonly client: TelegramClient;
39
- readonly _name = "inline_callback_query";
38
+ readonly _name: "inline_callback_query";
40
39
  constructor(client: TelegramClient, query: InlineCallbackQuery);
41
40
  /** Answer to this callback query */
42
41
  answer(params: Parameters<TelegramClient['answerCallbackQuery']>[1]): Promise<void>;
@@ -52,7 +51,7 @@ export declare class InlineCallbackQueryContext extends InlineCallbackQuery impl
52
51
  */
53
52
  export declare class BusinessCallbackQueryContext extends BusinessCallbackQuery implements UpdateContext<BusinessCallbackQuery> {
54
53
  readonly client: TelegramClient;
55
- readonly _name = "business_callback_query";
54
+ readonly _name: "business_callback_query";
56
55
  constructor(client: TelegramClient, query: BusinessCallbackQuery);
57
56
  /** Answer to this callback query */
58
57
  answer(params: Parameters<TelegramClient['answerCallbackQuery']>[1]): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import { BotChatJoinRequestUpdate } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContext } from './base.js';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './base.js';
4
4
  /**
5
5
  * Context of a chat join request update (for bots).
6
6
  *
@@ -8,7 +8,7 @@ import type { UpdateContext } from './base.js';
8
8
  */
9
9
  export declare class ChatJoinRequestUpdateContext extends BotChatJoinRequestUpdate implements UpdateContext<BotChatJoinRequestUpdate> {
10
10
  readonly client: TelegramClient;
11
- readonly _name = "bot_chat_join_request";
11
+ readonly _name: "bot_chat_join_request";
12
12
  constructor(client: TelegramClient, update: BotChatJoinRequestUpdate);
13
13
  /** Approve the request */
14
14
  approve(): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import { ChosenInlineResult } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContext } from './base.js';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './base.js';
4
4
  /**
5
5
  * Context of a chosen inline result update.
6
6
  *
@@ -11,7 +11,7 @@ import type { UpdateContext } from './base.js';
11
11
  */
12
12
  export declare class ChosenInlineResultContext extends ChosenInlineResult implements UpdateContext<ChosenInlineResult> {
13
13
  readonly client: TelegramClient;
14
- readonly _name = "chosen_inline_result";
14
+ readonly _name: "chosen_inline_result";
15
15
  constructor(client: TelegramClient, result: ChosenInlineResult);
16
16
  /**
17
17
  * Edit the message that was sent when this inline result that was chosen.
@@ -1,7 +1,6 @@
1
- import type { ParametersSkip1 } from '@mtcute/core';
2
- import { InlineQuery } from '@mtcute/core';
3
- import type { TelegramClient } from '@mtcute/core/client.js';
4
- import type { UpdateContext } from './base.js';
1
+ import { ParametersSkip1, InlineQuery } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './base.js';
5
4
  /**
6
5
  * Context of an inline query update.
7
6
  *
@@ -9,7 +8,7 @@ import type { UpdateContext } from './base.js';
9
8
  */
10
9
  export declare class InlineQueryContext extends InlineQuery implements UpdateContext<InlineQuery> {
11
10
  readonly client: TelegramClient;
12
- readonly _name = "inline_query";
11
+ readonly _name: "inline_query";
13
12
  constructor(client: TelegramClient, query: InlineQuery);
14
13
  /** Answer to this inline query */
15
14
  answer(...params: ParametersSkip1<TelegramClient['answerInlineQuery']>): Promise<void>;
@@ -1,8 +1,7 @@
1
- import type { OmitInputMessageId, ParametersSkip1, Peer, Sticker } from '@mtcute/core';
2
- import { Message } from '@mtcute/core';
3
- import type { TelegramClient } from '@mtcute/core/client.js';
4
- import type { DeleteMessagesParams, ForwardMessageOptions, SendCopyGroupParams, SendCopyParams } from '@mtcute/core/methods.js';
5
- import type { UpdateContext } from './base.js';
1
+ import { Chat, OmitInputMessageId, ParametersSkip1, Peer, Sticker, Message } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { DeleteMessagesParams, ForwardMessageOptions, SendCopyGroupParams, SendCopyParams } from '@mtcute/core/methods.js';
4
+ import { UpdateContext } from './base.js';
6
5
  /**
7
6
  * Context of a message-related update.
8
7
  *
@@ -14,7 +13,7 @@ import type { UpdateContext } from './base.js';
14
13
  */
15
14
  export declare class MessageContext extends Message implements UpdateContext<Message> {
16
15
  readonly client: TelegramClient;
17
- readonly _name = "new_message";
16
+ readonly _name: "new_message";
18
17
  /**
19
18
  * List of messages in the message group.
20
19
  *
@@ -30,6 +29,12 @@ export declare class MessageContext extends Message implements UpdateContext<Mes
30
29
  * Learn more: [Incomplete peers](https://mtcute.dev/guide/topics/peers.html#incomplete-peers)
31
30
  */
32
31
  getCompleteSender(): Promise<Peer>;
32
+ /**
33
+ * Get complete information about {@link chat}
34
+ *
35
+ * Learn more: [Incomplete peers](https://mtcute.dev/guide/topics/peers.html#incomplete-peers)
36
+ */
37
+ getCompleteChat(): Promise<Chat>;
33
38
  /** Get a message that this message is a reply to */
34
39
  getReplyTo(): Promise<Message | null>;
35
40
  /** If this is a channel post, get its automatic forward in the discussion group */
@@ -1,6 +1,6 @@
1
- import type { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, ParsedUpdate, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContextDistributed } from './base.js';
1
+ import { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, ParsedUpdate, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContextDistributed } from './base.js';
4
4
  import { BusinessMessageContext } from './business-message.js';
5
5
  import { BusinessCallbackQueryContext, CallbackQueryContext, InlineCallbackQueryContext } from './callback-query.js';
6
6
  import { ChatJoinRequestUpdateContext } from './chat-join-request.js';
@@ -1,6 +1,6 @@
1
1
  import { PreCheckoutQuery } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContext } from './base.js';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './base.js';
4
4
  /**
5
5
  * Context of a pre-checkout query update
6
6
  *
@@ -8,7 +8,7 @@ import type { UpdateContext } from './base.js';
8
8
  */
9
9
  export declare class PreCheckoutQueryContext extends PreCheckoutQuery implements UpdateContext<PreCheckoutQuery> {
10
10
  readonly client: TelegramClient;
11
- readonly _name = "pre_checkout_query";
11
+ readonly _name: "pre_checkout_query";
12
12
  constructor(client: TelegramClient, query: PreCheckoutQuery);
13
13
  /** Approve the query */
14
14
  approve(): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { BusinessMessageContext } from './business-message.js';
2
2
  import { CallbackQueryContext, InlineCallbackQueryContext } from './callback-query.js';
3
3
  import { MessageContext } from './message.js';
4
- import type { UpdateContextType } from './parse.js';
4
+ import { UpdateContextType } from './parse.js';
5
5
  /** Update which is dispatched whenever scene is entered or exited */
6
6
  export declare class SceneTransitionContext {
7
7
  /** Name of the previous scene, if any */
@@ -1,14 +1,13 @@
1
- import type { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybePromise, ParsedUpdate, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate, tl } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContext } from './context/base.js';
4
- import type { BusinessMessageContext } from './context/business-message.js';
5
- import type { BusinessCallbackQueryContext, CallbackQueryContext, ChatJoinRequestUpdateContext, ChosenInlineResultContext, InlineCallbackQueryContext, InlineQueryContext, MessageContext, PreCheckoutQueryContext } from './context/index.js';
1
+ import { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybePromise, ParsedUpdate, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate, tl } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './context/base.js';
4
+ import { BusinessMessageContext } from './context/business-message.js';
5
+ import { BusinessCallbackQueryContext, CallbackQueryContext, ChatJoinRequestUpdateContext, ChosenInlineResultContext, InlineCallbackQueryContext, InlineQueryContext, MessageContext, PreCheckoutQueryContext } from './context/index.js';
6
6
  import { SceneTransitionContext } from './context/scene-transition.js';
7
- import type { UpdateFilter, filters } from './filters/index.js';
8
- import type { BotChatJoinRequestHandler, BotReactionCountUpdateHandler, BotReactionUpdateHandler, BotStoppedHandler, BusinessCallbackQueryHandler, BusinessConnectionUpdateHandler, BusinessMessageGroupHandler, CallbackQueryHandler, ChatJoinRequestHandler, ChatMemberUpdateHandler, ChosenInlineResultHandler, DeleteBusinessMessageHandler, DeleteMessageHandler, DeleteStoryHandler, EditBusinessMessageHandler, EditMessageHandler, HistoryReadHandler, InlineCallbackQueryHandler, InlineQueryHandler, MessageGroupHandler, NewBusinessMessageHandler, NewMessageHandler, PollUpdateHandler, PollVoteHandler, PreCheckoutQueryHandler, RawUpdateHandler, StoryUpdateHandler, UpdateHandler, UserStatusUpdateHandler, UserTypingHandler } from './handler.js';
9
- import type { PropagationAction } from './propagation.js';
10
- import type { IStateStorageProvider, StateKeyDelegate } from './state/index.js';
11
- import { UpdateState } from './state/index.js';
7
+ import { UpdateFilter, filters } from './filters/index.js';
8
+ import { BotChatJoinRequestHandler, BotReactionCountUpdateHandler, BotReactionUpdateHandler, BotStoppedHandler, BusinessCallbackQueryHandler, BusinessConnectionUpdateHandler, BusinessMessageGroupHandler, CallbackQueryHandler, ChatJoinRequestHandler, ChatMemberUpdateHandler, ChosenInlineResultHandler, DeleteBusinessMessageHandler, DeleteMessageHandler, DeleteStoryHandler, EditBusinessMessageHandler, EditMessageHandler, HistoryReadHandler, InlineCallbackQueryHandler, InlineQueryHandler, MessageGroupHandler, NewBusinessMessageHandler, NewMessageHandler, PollUpdateHandler, PollVoteHandler, PreCheckoutQueryHandler, RawUpdateHandler, StoryUpdateHandler, UpdateHandler, UserStatusUpdateHandler, UserTypingHandler } from './handler.js';
9
+ import { PropagationAction } from './propagation.js';
10
+ import { IStateStorageProvider, StateKeyDelegate, UpdateState } from './state/index.js';
12
11
  export interface DispatcherParams {
13
12
  /**
14
13
  * If this dispatcher can be used as a scene, its unique name.
@@ -1,7 +1,7 @@
1
- import type { Chat, MaybeArray } from '@mtcute/core';
2
- import type { BusinessMessageContext } from '../context/business-message.js';
3
- import type { MessageContext } from '../context/message.js';
4
- import type { Modify, UpdateFilter } from './types.js';
1
+ import { Chat, MaybeArray } from '@mtcute/core';
2
+ import { BusinessMessageContext } from '../context/business-message.js';
3
+ import { MessageContext } from '../context/message.js';
4
+ import { Modify, UpdateFilter } from './types.js';
5
5
  /**
6
6
  * Filter messages that call the given command(s)..
7
7
  *
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import type { BotChatJoinRequestUpdate, BusinessMessage, Chat, ChatMemberUpdate, ChatType, DeleteBusinessMessageUpdate, HistoryReadUpdate, MaybeArray, Message, PollVoteUpdate, User, UserTypingUpdate } from '@mtcute/core';
2
- import type { UpdateContextDistributed } from '../context/base.js';
3
- import type { EmptyObject, Modify, UpdateFilter } from './types.js';
1
+ import { BotChatJoinRequestUpdate, BusinessMessage, Chat, ChatMemberUpdate, ChatType, DeleteBusinessMessageUpdate, HistoryReadUpdate, MaybeArray, Message, PollVoteUpdate, User, UserTypingUpdate } from '@mtcute/core';
2
+ import { UpdateContextDistributed } from '../context/base.js';
3
+ import { EmptyObject, Modify, UpdateFilter } from './types.js';
4
4
  /**
5
5
  * Filter updates by type of the chat where they happened
6
6
  */
@@ -1,7 +1,7 @@
1
- import type { Message } from '@mtcute/core';
2
- import type { BusinessMessageContext } from '../context/business-message.js';
3
- import type { MessageContext } from '../context/message.js';
4
- import type { Modify, UpdateFilter } from './types.js';
1
+ import { Message } from '@mtcute/core';
2
+ import { BusinessMessageContext } from '../context/business-message.js';
3
+ import { MessageContext } from '../context/message.js';
4
+ import { Modify, UpdateFilter } from './types.js';
5
5
  /**
6
6
  * For message groups, apply a filter to every message in the group.
7
7
  * Filter will match if **all** messages match.
@@ -1,4 +1,4 @@
1
- import type { ExtractBaseMany, ExtractMod, Invert, UnionToIntersection, UpdateFilter } from './types.js';
1
+ import { ExtractBaseMany, ExtractMod, Invert, UnionToIntersection, UpdateFilter } from './types.js';
2
2
  /**
3
3
  * Filter that matches any update
4
4
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,7 @@
1
- import type { Audio, Contact, Dice, Document, Game, Invoice, LiveLocation, Location, MaybeArray, Message, MessageAction, MessageMediaType, Peer, Photo, Poll, RepliedMessageInfo, RepliedMessageOrigin, Sticker, StickerSourceType, StickerType, User, Venue, Video, Voice, WebPage, _RepliedMessageAssertionsByOrigin } from '@mtcute/core';
2
- import { RawDocument } from '@mtcute/core';
3
- import type { BusinessMessageContext } from '../context/business-message.js';
4
- import type { MessageContext } from '../index.js';
5
- import type { Modify, UpdateFilter } from './types.js';
1
+ import { Audio, Contact, Dice, Document, Game, Invoice, LiveLocation, Location, MaybeArray, Message, MessageAction, MessageMediaType, Peer, Photo, Poll, RepliedMessageInfo, RepliedMessageOrigin, Sticker, StickerSourceType, StickerType, User, Venue, Video, Voice, WebPage, _RepliedMessageAssertionsByOrigin, RawDocument } from '@mtcute/core';
2
+ import { BusinessMessageContext } from '../context/business-message.js';
3
+ import { MessageContext } from '../index.js';
4
+ import { Modify, UpdateFilter } from './types.js';
6
5
  /**
7
6
  * Filter incoming messages.
8
7
  *
@@ -213,3 +212,8 @@ export declare function replyTo<Mod, State extends object>(filter?: UpdateFilter
213
212
  * and make it available to further filters, as well as the handler itself.
214
213
  */
215
214
  export declare function withCompleteSender<Mod, State extends object>(filter?: UpdateFilter<MessageContext, Mod, State>): UpdateFilter<MessageContext, Mod, State>;
215
+ /**
216
+ * Middleware-like filter that will fetch the chat of the message
217
+ * and make it available to further filters, as well as the handler itself.
218
+ */
219
+ export declare function withCompleteChat<Mod, State extends object>(filter?: UpdateFilter<MessageContext, Mod, State>): UpdateFilter<MessageContext, Mod, State>;
@@ -1,5 +1,5 @@
1
- import type { MaybePromise } from '@mtcute/core';
2
- import type { UpdateFilter } from './types.js';
1
+ import { MaybePromise } from '@mtcute/core';
2
+ import { UpdateFilter } from './types.js';
3
3
  /**
4
4
  * Create a filter for the cases when the state is empty
5
5
  */
@@ -1,6 +1,6 @@
1
- import type { BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChosenInlineResult, InlineCallbackQuery, InlineQuery, Message } from '@mtcute/core';
2
- import type { UpdateContextDistributed } from '../context/base.js';
3
- import type { UpdateFilter } from './types.js';
1
+ import { BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChosenInlineResult, InlineCallbackQuery, InlineQuery, Message } from '@mtcute/core';
2
+ import { UpdateContextDistributed } from '../context/base.js';
3
+ import { UpdateFilter } from './types.js';
4
4
  type UpdatesWithText = UpdateContextDistributed<Message | BusinessMessage | InlineQuery | ChosenInlineResult | CallbackQuery | InlineCallbackQuery | BusinessCallbackQuery>;
5
5
  /**
6
6
  * Filter objects that match a given regular expression
@@ -1,5 +1,5 @@
1
- import type { MaybePromise } from '@mtcute/core';
2
- import type { UpdateState } from '../state/update-state.js';
1
+ import { MaybePromise } from '@mtcute/core';
2
+ import { UpdateState } from '../state/update-state.js';
3
3
  /**
4
4
  * Type describing a primitive filter, which is a function taking some `Base`
5
5
  * and a {@link TelegramClient}, checking it against some condition
@@ -1,5 +1,5 @@
1
- import type { ChatMemberUpdate, ChatMemberUpdateType, UserStatus, UserStatusUpdate } from '@mtcute/core';
2
- import type { UpdateFilter } from './types.js';
1
+ import { ChatMemberUpdate, ChatMemberUpdateType, UserStatus, UserStatusUpdate } from '@mtcute/core';
2
+ import { UpdateFilter } from './types.js';
3
3
  /**
4
4
  * Create a filter for {@link ChatMemberUpdate} by update type
5
5
  *
@@ -1,7 +1,6 @@
1
- import type { BotChatJoinRequestUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatMemberUpdate, ChosenInlineResult, DeleteStoryUpdate, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, MaybeArray, Message, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate } from '@mtcute/core';
2
- import { User } from '@mtcute/core';
3
- import type { UpdateContextDistributed } from '../context/base.js';
4
- import type { UpdateFilter } from './types.js';
1
+ import { BotChatJoinRequestUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatMemberUpdate, ChosenInlineResult, DeleteStoryUpdate, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, MaybeArray, Message, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate, User } from '@mtcute/core';
2
+ import { UpdateContextDistributed } from '../context/base.js';
3
+ import { UpdateFilter } from './types.js';
5
4
  /**
6
5
  * Filter messages generated by yourself (including Saved Messages)
7
6
  */
@@ -1,8 +1,8 @@
1
- import type { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybePromise, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate, tl } from '@mtcute/core';
2
- import type { TelegramClient } from '@mtcute/core/client.js';
3
- import type { UpdateContext } from './context/base.js';
4
- import type { BusinessCallbackQueryContext, BusinessMessageContext, CallbackQueryContext, ChatJoinRequestUpdateContext, ChosenInlineResultContext, InlineCallbackQueryContext, InlineQueryContext, MessageContext, PreCheckoutQueryContext } from './context/index.js';
5
- import type { PropagationAction } from './propagation.js';
1
+ import { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybePromise, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, UserStatusUpdate, UserTypingUpdate, tl } from '@mtcute/core';
2
+ import { TelegramClient } from '@mtcute/core/client.js';
3
+ import { UpdateContext } from './context/base.js';
4
+ import { BusinessCallbackQueryContext, BusinessMessageContext, CallbackQueryContext, ChatJoinRequestUpdateContext, ChosenInlineResultContext, InlineCallbackQueryContext, InlineQueryContext, MessageContext, PreCheckoutQueryContext } from './context/index.js';
5
+ import { PropagationAction } from './propagation.js';
6
6
  export interface BaseUpdateHandler<Name, Handler, Checker> {
7
7
  name: Name;
8
8
  callback: Handler;