@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,881 +0,0 @@
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';
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';
12
- export interface DispatcherParams {
13
- /**
14
- * If this dispatcher can be used as a scene, its unique name.
15
- *
16
- * Should not be set manually, use {@link Dispatcher.scene} instead
17
- */
18
- sceneName?: string;
19
- /**
20
- * Custom storage for this dispatcher and its children.
21
- *
22
- * @default Client's storage
23
- */
24
- storage?: IStateStorageProvider;
25
- /**
26
- * Custom key delegate for the dispatcher.
27
- */
28
- key?: StateKeyDelegate;
29
- }
30
- export interface DispatcherDependencies {
31
- }
32
- /**
33
- * Updates dispatcher
34
- */
35
- export declare class Dispatcher<State extends object = never> {
36
- private _groups;
37
- private _groupsOrder;
38
- private _client?;
39
- private _parent?;
40
- private _children;
41
- private _scenes?;
42
- private _scene?;
43
- private _sceneScoped?;
44
- private _storage?;
45
- private _stateKeyDelegate?;
46
- private _customStateKeyDelegate?;
47
- private _customStorage?;
48
- private _deps;
49
- private _errorHandler?;
50
- private _preUpdateHandler?;
51
- private _postUpdateHandler?;
52
- private _sceneTransitionHandler?;
53
- protected constructor(client?: TelegramClient, params?: DispatcherParams);
54
- /**
55
- * Create a new dispatcher and bind it to the client.
56
- */
57
- static for<State extends object = never>(client: TelegramClient, ...args: [State] extends [never] ? [params?: DispatcherParams] : [params: DispatcherParams & {
58
- storage: IStateStorageProvider;
59
- }]): Dispatcher<State>;
60
- /**
61
- * Create a new child dispatcher.
62
- */
63
- static child<State extends object = never>(params?: DispatcherParams): Dispatcher<State>;
64
- /**
65
- * Create a new scene dispatcher
66
- */
67
- static scene<State extends object = Record<never, never>>(name: string, params?: Omit<DispatcherParams, 'sceneName'>): Dispatcher<State>;
68
- /** For scene dispatchers, name of the scene */
69
- get sceneName(): string | undefined;
70
- /**
71
- * Inject a dependency to be available in this dispatcher and all its children.
72
- *
73
- * **Note**: This is only available for the root dispatcher.
74
- */
75
- inject<Name extends keyof DispatcherDependencies>(name: Name, value: DispatcherDependencies[Name]): void;
76
- /**
77
- * Inject dependencies to be available in this dispatcher and all its children.
78
- *
79
- * **Note**: This is only available for the root dispatcher.
80
- */
81
- inject(deps: Partial<DispatcherDependencies>): void;
82
- /**
83
- * Get the dependencies injected into this dispatcher.
84
- */
85
- get deps(): DispatcherDependencies;
86
- /**
87
- * Bind the dispatcher to the client.
88
- * Called by the constructor automatically if
89
- * `client` was passed.
90
- *
91
- * Dispatcher also uses bound client to throw errors
92
- */
93
- bindToClient(client: TelegramClient): void;
94
- /**
95
- * Unbind a dispatcher from the client.
96
- */
97
- unbind(): void;
98
- /**
99
- * Destroy the dispatcher and all its children.
100
- *
101
- * When destroying, all the registered handlers are removed,
102
- * and the underlying storage is freed.
103
- */
104
- destroy(): Promise<void>;
105
- /**
106
- * Process a raw update with this dispatcher.
107
- * Calling this method without bound client will not work.
108
- *
109
- * Under the hood asynchronously calls {@link dispatchRawUpdateNow}
110
- * with error handler set to client's one.
111
- *
112
- * @param update Update to process
113
- * @param peers Peers index
114
- */
115
- dispatchRawUpdate(update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex): void;
116
- /**
117
- * Process a raw update right now in the current stack.
118
- *
119
- * Unlike {@link dispatchRawUpdate}, this does not schedule
120
- * the update to be dispatched, but dispatches it immediately,
121
- * and after `await`ing this method you can be certain that the update
122
- * was fully processed by all the registered handlers, including children.
123
- *
124
- * @param update Update to process
125
- * @param peers Peers map
126
- * @returns Whether the update was handled
127
- */
128
- dispatchRawUpdateNow(update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex): Promise<boolean>;
129
- /**
130
- * Process an update with this dispatcher.
131
- * Calling this method without bound client will not work.
132
- *
133
- * Under the hood asynchronously calls {@link dispatchUpdateNow}
134
- * with error handler set to client's one.
135
- *
136
- * @param update Update to process
137
- */
138
- dispatchUpdate(update: ParsedUpdate): void;
139
- /**
140
- * Process an update right now in the current stack.
141
- *
142
- * Unlike {@link dispatchUpdate}, this does not schedule
143
- * the update to be dispatched, but dispatches it immediately,
144
- * and after `await`ing this method you can be certain that the update
145
- * was fully processed by all the registered handlers, including children.
146
- *
147
- * @param update Update to process
148
- * @returns Whether the update was handled
149
- */
150
- dispatchUpdateNow(update: ParsedUpdate): Promise<boolean>;
151
- private _dispatchUpdateNowImpl;
152
- /**
153
- * Add an update handler to a given handlers group
154
- *
155
- * @param handler Update handler
156
- * @param group Handler group index
157
- */
158
- addUpdateHandler(handler: UpdateHandler, group?: number): void;
159
- /**
160
- * Remove an update handler (or handlers) from a given
161
- * handler group.
162
- *
163
- * @param handler Update handler to remove, its name or `'all'` to remove all
164
- * @param group Handler group index (null to affect all groups)
165
- */
166
- removeUpdateHandler(handler: UpdateHandler | UpdateHandler['name'] | 'all', group?: number | null): void;
167
- /**
168
- * Register an error handler.
169
- *
170
- * This is used locally within this dispatcher
171
- * (does not affect children/parent) whenever
172
- * an error is thrown inside an update handler.
173
- * Not used for raw update handlers
174
- *
175
- * When an error is thrown, but there is no error
176
- * handler, it is propagated to `TelegramClient`.
177
- *
178
- * There can be at most one error handler.
179
- * Pass `null` to remove it.
180
- *
181
- * @param handler Error handler
182
- */
183
- onError<T = {}>(handler: ((err: Error, update: ParsedUpdate & T, state?: UpdateState<State>) => MaybePromise<boolean>) | null): void;
184
- /**
185
- * Register pre-update middleware.
186
- *
187
- * This is used locally within this dispatcher
188
- * (does not affect children/parent) before processing
189
- * an update, and can be used to skip this update.
190
- *
191
- * There can be at most one pre-update middleware.
192
- * Pass `null` to remove it.
193
- *
194
- * @param handler Pre-update middleware
195
- */
196
- onPreUpdate<T = {}>(handler: ((update: ParsedUpdate & T, state?: UpdateState<State>) => MaybePromise<PropagationAction | void>) | null): void;
197
- /**
198
- * Register post-update middleware.
199
- *
200
- * This is used locally within this dispatcher
201
- * (does not affect children/parent) after successfully
202
- * processing an update, and can be used for stats.
203
- *
204
- * There can be at most one post-update middleware.
205
- * Pass `null` to remove it.
206
- *
207
- * @param handler Pre-update middleware
208
- */
209
- onPostUpdate<T = {}>(handler: ((handled: boolean, update: ParsedUpdate & T, state?: UpdateState<State>) => MaybePromise<void>) | null): void;
210
- /**
211
- * Set error handler that will propagate
212
- * the error to the parent dispatcher
213
- */
214
- propagateErrorToParent(err: Error, update: ParsedUpdate, state?: UpdateState<State>): MaybePromise<boolean>;
215
- /**
216
- * Get parent dispatcher if current dispatcher is a child.
217
- * Otherwise, return `null`
218
- */
219
- get parent(): Dispatcher<any> | null;
220
- private _prepareChild;
221
- /**
222
- * Add a child dispatcher.
223
- *
224
- * Child dispatchers are called when dispatching updates
225
- * just like normal, except they can be controlled
226
- * externally. Additionally, child dispatcher have their own
227
- * independent handler grouping that does not interfere with parent's,
228
- * including `StopPropagation` (i.e. returning `StopPropagation` will
229
- * still call children. To entirely stop, use `StopChildrenPropagation`)
230
- *
231
- * Note that child dispatchers share the same TelegramClient and
232
- * storage binding as the parent, don't bind them manually.
233
- *
234
- * @param child Other dispatcher
235
- */
236
- addChild(child: Dispatcher<State>): void;
237
- /**
238
- * Add a dispatcher as a scene with a non-scoped state.
239
- *
240
- * Scoped storage for a scene means that the scene will
241
- * have its own storage, that is only available within
242
- * the scene and does not interfere with global state.
243
- * Non-scoped, on the other hand, is the same state as
244
- * the one used for the root dispatcher
245
- *
246
- * @param uid UID of the scene
247
- * @param scene Dispatcher representing the scene
248
- * @param scoped Whether to use scoped FSM storage for the scene
249
- */
250
- addScene(scene: Dispatcher<State>, scoped: false): void;
251
- /**
252
- * Add a dispatcher as a scene with a scoped state
253
- *
254
- * Scoped storage for a scene means that the scene will
255
- * have its own storage, that is only available within
256
- * the scene and does not interfere with global state.
257
- * Non-scoped, on the other hand, is the same state as
258
- * the one used for the root dispatcher
259
- *
260
- * @param uid UID of the scene
261
- * @param scene Dispatcher representing the scene
262
- * @param scoped Whether to use scoped FSM storage for the scene (defaults to `true`)
263
- */
264
- addScene(scene: Dispatcher<any>, scoped?: true): void;
265
- /**
266
- * Remove a child dispatcher.
267
- *
268
- * Removing child dispatcher will also remove
269
- * child dispatcher's client binding.
270
- *
271
- * If the provided dispatcher is not a child of current,
272
- * this function will silently fail.
273
- *
274
- * @param child Other dispatcher
275
- */
276
- removeChild(child: Dispatcher<any>): void;
277
- private _unparent;
278
- /**
279
- * Extend current dispatcher by copying other dispatcher's
280
- * handlers and children to the current.
281
- *
282
- * This might be more efficient for simple cases, but do note that the handler
283
- * groups, children and scenes will get merged (unlike {@link addChild},
284
- * where they are independent). Also note that unlike with children,
285
- * when adding handlers to `other` *after* you extended
286
- * the current dispatcher, changes will not be applied.
287
- *
288
- * @param other Other dispatcher
289
- */
290
- extend(other: Dispatcher<State>): void;
291
- /**
292
- * Create a clone of this dispatcher, that has the same handlers,
293
- * but is not bound to a client or to a parent dispatcher.
294
- *
295
- * Custom Storage and key delegate are copied too.
296
- *
297
- * By default, child dispatchers (and scenes) are ignored, since
298
- * that requires cloning every single one of them recursively
299
- * and then binding them back.
300
- *
301
- * @param children Whether to also clone children and scenes
302
- */
303
- clone(children?: boolean): Dispatcher<State>;
304
- /**
305
- * Get update state object for the given key.
306
- *
307
- * For custom keys, use prefix starting with `$` to avoid
308
- * clashing with other keys (scene name can't start with `$`)
309
- *
310
- * @param key State storage key
311
- * @template S State type, defaults to dispatcher's state type. Only checked at compile-time
312
- */
313
- getState<S extends object = State>(key: string): UpdateState<S>;
314
- /**
315
- * Get update state object for the given object.
316
- *
317
- * Equivalent to `getState(string)`, but derives
318
- * the key with the registered {@link StateKeyDelegate},
319
- * and since it could be async, this method is async too.
320
- *
321
- * @param object Object for which the state should be fetched
322
- * @template S State type, defaults to dispatcher's state type. Only checked at compile-time
323
- */
324
- getState<S extends object = State>(object: Parameters<StateKeyDelegate>[0]): Promise<UpdateState<S>>;
325
- /**
326
- * Get global state.
327
- *
328
- * This will load the state for the given object
329
- * ignoring local custom storage, key delegate and scene scope.
330
- */
331
- getGlobalState<T extends object>(object: Parameters<StateKeyDelegate>[0]): Promise<UpdateState<T>>;
332
- private _addKnownHandler;
333
- /**
334
- * Register a raw update handler without any filters
335
- *
336
- * @param handler Raw update handler
337
- * @param group Handler group index
338
- */
339
- onRawUpdate(handler: RawUpdateHandler['callback'], group?: number): void;
340
- /**
341
- * Register a raw update handler without any filters
342
- *
343
- * @param filter Update filter
344
- * @param handler Raw update handler
345
- * @param group Handler group index
346
- */
347
- onRawUpdate(filter: RawUpdateHandler['check'], handler: RawUpdateHandler['callback'], group?: number): void;
348
- /**
349
- * Register a scene transition handler
350
- *
351
- * This handler is called whenever a scene transition occurs
352
- * in the context of the scene that is being entered,
353
- * and before any of the its own handlers are called,
354
- * and can be used to customize the transition behavior:
355
- * - `Stop` to prevent dispatching the update any further **even if ToScene/ToRoot was used**
356
- * - `Continue` same as Stop, but still dispatch the update to children
357
- * - `ToScene` to prevent the transition and dispatch the update to the scene entered in the transition handler
358
- *
359
- * > **Note**: if multiple `state.enter()` calls were made within the same update,
360
- * > this handler will only be called for the last one.
361
- *
362
- * @param handler Raw update handler
363
- * @param group Handler group index
364
- */
365
- onSceneTransition(handler: ((ctx: SceneTransitionContext, state: UpdateState<State>) => MaybePromise<PropagationAction | void>) | null): void;
366
- /**
367
- * Register a callback query (both inline and non-inline) handler without any filters
368
- *
369
- * @param handler Callback query handler
370
- * @param group Handler group index
371
- */
372
- onAnyCallbackQuery(handler: CallbackQueryHandler<CallbackQueryContext | InlineCallbackQueryContext | BusinessCallbackQueryContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
373
- /**
374
- * Register a callback query (both inline and non-inline) handler with a filter
375
- *
376
- * @param filter Update filter
377
- * @param handler Callback query handler
378
- * @param group Handler group index
379
- */
380
- onAnyCallbackQuery<Mod>(filter: UpdateFilter<CallbackQueryContext | InlineCallbackQueryContext | BusinessCallbackQueryContext, Mod, State>, handler: CallbackQueryHandler<filters.Modify<CallbackQueryContext | InlineCallbackQueryContext | BusinessCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
381
- /**
382
- * Register a callback query (both inline and non-inline) handler with a filter
383
- *
384
- * @param filter Update filter
385
- * @param handler Callback query handler
386
- * @param group Handler group index
387
- */
388
- onAnyCallbackQuery<Mod>(filter: UpdateFilter<CallbackQueryContext | InlineCallbackQueryContext | BusinessCallbackQueryContext, Mod>, handler: CallbackQueryHandler<filters.Modify<CallbackQueryContext | InlineCallbackQueryContext | BusinessCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
389
- /**
390
- * Register a new message handler without any filters
391
- *
392
- * @param handler New message handler
393
- * @param group Handler group index
394
- */
395
- onNewMessage(handler: NewMessageHandler<MessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
396
- /**
397
- * Register a new message handler with a filter
398
- *
399
- * @param filter Update filter
400
- * @param handler New message handler
401
- * @param group Handler group index
402
- */
403
- onNewMessage<Mod>(filter: UpdateFilter<MessageContext, Mod, State>, handler: NewMessageHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
404
- /**
405
- * Register a new message handler with a filter
406
- *
407
- * @param filter Update filter
408
- * @param handler New message handler
409
- * @param group Handler group index
410
- */
411
- onNewMessage<Mod>(filter: UpdateFilter<MessageContext, Mod>, handler: NewMessageHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
412
- /**
413
- * Register an edit message handler without any filters
414
- *
415
- * @param handler Edit message handler
416
- * @param group Handler group index
417
- */
418
- onEditMessage(handler: EditMessageHandler<MessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
419
- /**
420
- * Register an edit message handler with a filter
421
- *
422
- * @param filter Update filter
423
- * @param handler Edit message handler
424
- * @param group Handler group index
425
- */
426
- onEditMessage<Mod>(filter: UpdateFilter<MessageContext, Mod, State>, handler: EditMessageHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
427
- /**
428
- * Register an edit message handler with a filter
429
- *
430
- * @param filter Update filter
431
- * @param handler Edit message handler
432
- * @param group Handler group index
433
- */
434
- onEditMessage<Mod>(filter: UpdateFilter<MessageContext, Mod>, handler: EditMessageHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
435
- /**
436
- * Register a message group handler without any filters
437
- *
438
- * @param handler Message group handler
439
- * @param group Handler group index
440
- */
441
- onMessageGroup(handler: MessageGroupHandler<MessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
442
- /**
443
- * Register a message group handler with a filter
444
- *
445
- * @param filter Update filter
446
- * @param handler Message group handler
447
- * @param group Handler group index
448
- */
449
- onMessageGroup<Mod>(filter: UpdateFilter<MessageContext, Mod, State>, handler: MessageGroupHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
450
- /**
451
- * Register a message group handler with a filter
452
- *
453
- * @param filter Update filter
454
- * @param handler Message group handler
455
- * @param group Handler group index
456
- */
457
- onMessageGroup<Mod>(filter: UpdateFilter<MessageContext, Mod>, handler: MessageGroupHandler<filters.Modify<MessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
458
- /**
459
- * Register a delete message handler without any filters
460
- *
461
- * @param handler Delete message handler
462
- * @param group Handler group index
463
- */
464
- onDeleteMessage(handler: DeleteMessageHandler['callback'], group?: number): void;
465
- /**
466
- * Register a delete message handler with a filter
467
- *
468
- * @param filter Update filter
469
- * @param handler Delete message handler
470
- * @param group Handler group index
471
- */
472
- onDeleteMessage<Mod>(filter: UpdateFilter<UpdateContext<DeleteMessageUpdate>, Mod>, handler: DeleteMessageHandler<filters.Modify<UpdateContext<DeleteMessageUpdate>, Mod>>['callback'], group?: number): void;
473
- /**
474
- * Register a chat member update handler without any filters
475
- *
476
- * @param handler Chat member update handler
477
- * @param group Handler group index
478
- */
479
- onChatMemberUpdate(handler: ChatMemberUpdateHandler['callback'], group?: number): void;
480
- /**
481
- * Register a chat member update handler with a filter
482
- *
483
- * @param filter Update filter
484
- * @param handler Chat member update handler
485
- * @param group Handler group index
486
- */
487
- onChatMemberUpdate<Mod>(filter: UpdateFilter<UpdateContext<ChatMemberUpdate>, Mod>, handler: ChatMemberUpdateHandler<filters.Modify<UpdateContext<ChatMemberUpdate>, Mod>>['callback'], group?: number): void;
488
- /**
489
- * Register an inline query handler without any filters
490
- *
491
- * @param handler Inline query handler
492
- * @param group Handler group index
493
- */
494
- onInlineQuery(handler: InlineQueryHandler['callback'], group?: number): void;
495
- /**
496
- * Register an inline query handler with a filter
497
- *
498
- * @param filter Update filter
499
- * @param handler Inline query handler
500
- * @param group Handler group index
501
- */
502
- onInlineQuery<Mod>(filter: UpdateFilter<InlineQueryContext, Mod>, handler: InlineQueryHandler<filters.Modify<InlineQueryContext, Mod>>['callback'], group?: number): void;
503
- /**
504
- * Register a chosen inline result handler without any filters
505
- *
506
- * @param handler Chosen inline result handler
507
- * @param group Handler group index
508
- */
509
- onChosenInlineResult(handler: ChosenInlineResultHandler['callback'], group?: number): void;
510
- /**
511
- * Register a chosen inline result handler with a filter
512
- *
513
- * @param filter Update filter
514
- * @param handler Chosen inline result handler
515
- * @param group Handler group index
516
- */
517
- onChosenInlineResult<Mod>(filter: UpdateFilter<ChosenInlineResultContext, Mod>, handler: ChosenInlineResultHandler<filters.Modify<ChosenInlineResultContext, Mod>>['callback'], group?: number): void;
518
- /**
519
- * Register a callback query handler without any filters
520
- *
521
- * @param handler Callback query handler
522
- * @param group Handler group index
523
- */
524
- onCallbackQuery(handler: CallbackQueryHandler<CallbackQueryContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
525
- /**
526
- * Register a callback query handler with a filter
527
- *
528
- * @param filter Update filter
529
- * @param handler Callback query handler
530
- * @param group Handler group index
531
- */
532
- onCallbackQuery<Mod>(filter: UpdateFilter<CallbackQueryContext, Mod, State>, handler: CallbackQueryHandler<filters.Modify<CallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
533
- /**
534
- * Register a callback query handler with a filter
535
- *
536
- * @param filter Update filter
537
- * @param handler Callback query handler
538
- * @param group Handler group index
539
- */
540
- onCallbackQuery<Mod>(filter: UpdateFilter<CallbackQueryContext, Mod>, handler: CallbackQueryHandler<filters.Modify<CallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
541
- /**
542
- * Register an inline callback query handler without any filters
543
- *
544
- * @param handler Inline callback query handler
545
- * @param group Handler group index
546
- */
547
- onInlineCallbackQuery(handler: InlineCallbackQueryHandler<InlineCallbackQueryContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
548
- /**
549
- * Register an inline callback query handler with a filter
550
- *
551
- * @param filter Update filter
552
- * @param handler Inline callback query handler
553
- * @param group Handler group index
554
- */
555
- onInlineCallbackQuery<Mod>(filter: UpdateFilter<InlineCallbackQueryContext, Mod, State>, handler: InlineCallbackQueryHandler<filters.Modify<InlineCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
556
- /**
557
- * Register an inline callback query handler with a filter
558
- *
559
- * @param filter Update filter
560
- * @param handler Inline callback query handler
561
- * @param group Handler group index
562
- */
563
- onInlineCallbackQuery<Mod>(filter: UpdateFilter<InlineCallbackQueryContext, Mod>, handler: InlineCallbackQueryHandler<filters.Modify<InlineCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
564
- /**
565
- * Register a business callback query handler without any filters
566
- *
567
- * @param handler Business callback query handler
568
- * @param group Handler group index
569
- */
570
- onBusinessCallbackQuery(handler: BusinessCallbackQueryHandler<BusinessCallbackQueryContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
571
- /**
572
- * Register a business callback query handler with a filter
573
- *
574
- * @param filter Update filter
575
- * @param handler Business callback query handler
576
- * @param group Handler group index
577
- */
578
- onBusinessCallbackQuery<Mod>(filter: UpdateFilter<BusinessCallbackQueryContext, Mod, State>, handler: BusinessCallbackQueryHandler<filters.Modify<BusinessCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
579
- /**
580
- * Register a business callback query handler with a filter
581
- *
582
- * @param filter Update filter
583
- * @param handler Business callback query handler
584
- * @param group Handler group index
585
- */
586
- onBusinessCallbackQuery<Mod>(filter: UpdateFilter<BusinessCallbackQueryContext, Mod>, handler: BusinessCallbackQueryHandler<filters.Modify<BusinessCallbackQueryContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
587
- /**
588
- * Register a poll update handler without any filters
589
- *
590
- * @param handler Poll update handler
591
- * @param group Handler group index
592
- */
593
- onPollUpdate(handler: PollUpdateHandler['callback'], group?: number): void;
594
- /**
595
- * Register a poll update handler with a filter
596
- *
597
- * @param filter Update filter
598
- * @param handler Poll update handler
599
- * @param group Handler group index
600
- */
601
- onPollUpdate<Mod>(filter: UpdateFilter<UpdateContext<PollUpdate>, Mod>, handler: PollUpdateHandler<filters.Modify<UpdateContext<PollUpdate>, Mod>>['callback'], group?: number): void;
602
- /**
603
- * Register a poll vote handler without any filters
604
- *
605
- * @param handler Poll vote handler
606
- * @param group Handler group index
607
- */
608
- onPollVote(handler: PollVoteHandler['callback'], group?: number): void;
609
- /**
610
- * Register a poll vote handler with a filter
611
- *
612
- * @param filter Update filter
613
- * @param handler Poll vote handler
614
- * @param group Handler group index
615
- */
616
- onPollVote<Mod>(filter: UpdateFilter<UpdateContext<PollVoteUpdate>, Mod>, handler: PollVoteHandler<filters.Modify<UpdateContext<PollVoteUpdate>, Mod>>['callback'], group?: number): void;
617
- /**
618
- * Register an user status update handler without any filters
619
- *
620
- * @param handler User status update handler
621
- * @param group Handler group index
622
- */
623
- onUserStatusUpdate(handler: UserStatusUpdateHandler['callback'], group?: number): void;
624
- /**
625
- * Register an user status update handler with a filter
626
- *
627
- * @param filter Update filter
628
- * @param handler User status update handler
629
- * @param group Handler group index
630
- */
631
- onUserStatusUpdate<Mod>(filter: UpdateFilter<UpdateContext<UserStatusUpdate>, Mod>, handler: UserStatusUpdateHandler<filters.Modify<UpdateContext<UserStatusUpdate>, Mod>>['callback'], group?: number): void;
632
- /**
633
- * Register an user typing handler without any filters
634
- *
635
- * @param handler User typing handler
636
- * @param group Handler group index
637
- */
638
- onUserTyping(handler: UserTypingHandler['callback'], group?: number): void;
639
- /**
640
- * Register an user typing handler with a filter
641
- *
642
- * @param filter Update filter
643
- * @param handler User typing handler
644
- * @param group Handler group index
645
- */
646
- onUserTyping<Mod>(filter: UpdateFilter<UpdateContext<UserTypingUpdate>, Mod>, handler: UserTypingHandler<filters.Modify<UpdateContext<UserTypingUpdate>, Mod>>['callback'], group?: number): void;
647
- /**
648
- * Register a history read handler without any filters
649
- *
650
- * @param handler History read handler
651
- * @param group Handler group index
652
- */
653
- onHistoryRead(handler: HistoryReadHandler['callback'], group?: number): void;
654
- /**
655
- * Register a history read handler with a filter
656
- *
657
- * @param filter Update filter
658
- * @param handler History read handler
659
- * @param group Handler group index
660
- */
661
- onHistoryRead<Mod>(filter: UpdateFilter<UpdateContext<HistoryReadUpdate>, Mod>, handler: HistoryReadHandler<filters.Modify<UpdateContext<HistoryReadUpdate>, Mod>>['callback'], group?: number): void;
662
- /**
663
- * Register a bot stopped handler without any filters
664
- *
665
- * @param handler Bot stopped handler
666
- * @param group Handler group index
667
- */
668
- onBotStopped(handler: BotStoppedHandler['callback'], group?: number): void;
669
- /**
670
- * Register a bot stopped handler with a filter
671
- *
672
- * @param filter Update filter
673
- * @param handler Bot stopped handler
674
- * @param group Handler group index
675
- */
676
- onBotStopped<Mod>(filter: UpdateFilter<UpdateContext<BotStoppedUpdate>, Mod>, handler: BotStoppedHandler<filters.Modify<UpdateContext<BotStoppedUpdate>, Mod>>['callback'], group?: number): void;
677
- /**
678
- * Register a bot chat join request handler without any filters
679
- *
680
- * @param handler Bot chat join request handler
681
- * @param group Handler group index
682
- */
683
- onBotChatJoinRequest(handler: BotChatJoinRequestHandler['callback'], group?: number): void;
684
- /**
685
- * Register a bot chat join request handler with a filter
686
- *
687
- * @param filter Update filter
688
- * @param handler Bot chat join request handler
689
- * @param group Handler group index
690
- */
691
- onBotChatJoinRequest<Mod>(filter: UpdateFilter<ChatJoinRequestUpdateContext, Mod>, handler: BotChatJoinRequestHandler<filters.Modify<ChatJoinRequestUpdateContext, Mod>>['callback'], group?: number): void;
692
- /**
693
- * Register a chat join request handler without any filters
694
- *
695
- * @param handler Chat join request handler
696
- * @param group Handler group index
697
- */
698
- onChatJoinRequest(handler: ChatJoinRequestHandler['callback'], group?: number): void;
699
- /**
700
- * Register a chat join request handler with a filter
701
- *
702
- * @param filter Update filter
703
- * @param handler Chat join request handler
704
- * @param group Handler group index
705
- */
706
- onChatJoinRequest<Mod>(filter: UpdateFilter<UpdateContext<ChatJoinRequestUpdate>, Mod>, handler: ChatJoinRequestHandler<filters.Modify<UpdateContext<ChatJoinRequestUpdate>, Mod>>['callback'], group?: number): void;
707
- /**
708
- * Register a pre checkout query handler without any filters
709
- *
710
- * @param handler Pre checkout query handler
711
- * @param group Handler group index
712
- */
713
- onPreCheckoutQuery(handler: PreCheckoutQueryHandler['callback'], group?: number): void;
714
- /**
715
- * Register a pre checkout query handler with a filter
716
- *
717
- * @param filter Update filter
718
- * @param handler Pre checkout query handler
719
- * @param group Handler group index
720
- */
721
- onPreCheckoutQuery<Mod>(filter: UpdateFilter<PreCheckoutQueryContext, Mod>, handler: PreCheckoutQueryHandler<filters.Modify<PreCheckoutQueryContext, Mod>>['callback'], group?: number): void;
722
- /**
723
- * Register a story update handler without any filters
724
- *
725
- * @param handler Story update handler
726
- * @param group Handler group index
727
- */
728
- onStoryUpdate(handler: StoryUpdateHandler['callback'], group?: number): void;
729
- /**
730
- * Register a story update handler with a filter
731
- *
732
- * @param filter Update filter
733
- * @param handler Story update handler
734
- * @param group Handler group index
735
- */
736
- onStoryUpdate<Mod>(filter: UpdateFilter<UpdateContext<StoryUpdate>, Mod>, handler: StoryUpdateHandler<filters.Modify<UpdateContext<StoryUpdate>, Mod>>['callback'], group?: number): void;
737
- /**
738
- * Register a delete story handler without any filters
739
- *
740
- * @param handler Delete story handler
741
- * @param group Handler group index
742
- */
743
- onDeleteStory(handler: DeleteStoryHandler['callback'], group?: number): void;
744
- /**
745
- * Register a delete story handler with a filter
746
- *
747
- * @param filter Update filter
748
- * @param handler Delete story handler
749
- * @param group Handler group index
750
- */
751
- onDeleteStory<Mod>(filter: UpdateFilter<UpdateContext<DeleteStoryUpdate>, Mod>, handler: DeleteStoryHandler<filters.Modify<UpdateContext<DeleteStoryUpdate>, Mod>>['callback'], group?: number): void;
752
- /**
753
- * Register a bot reaction update handler without any filters
754
- *
755
- * @param handler Bot reaction update handler
756
- * @param group Handler group index
757
- */
758
- onBotReactionUpdate(handler: BotReactionUpdateHandler['callback'], group?: number): void;
759
- /**
760
- * Register a bot reaction update handler with a filter
761
- *
762
- * @param filter Update filter
763
- * @param handler Bot reaction update handler
764
- * @param group Handler group index
765
- */
766
- onBotReactionUpdate<Mod>(filter: UpdateFilter<UpdateContext<BotReactionUpdate>, Mod>, handler: BotReactionUpdateHandler<filters.Modify<UpdateContext<BotReactionUpdate>, Mod>>['callback'], group?: number): void;
767
- /**
768
- * Register a bot reaction count update handler without any filters
769
- *
770
- * @param handler Bot reaction count update handler
771
- * @param group Handler group index
772
- */
773
- onBotReactionCountUpdate(handler: BotReactionCountUpdateHandler['callback'], group?: number): void;
774
- /**
775
- * Register a bot reaction count update handler with a filter
776
- *
777
- * @param filter Update filter
778
- * @param handler Bot reaction count update handler
779
- * @param group Handler group index
780
- */
781
- onBotReactionCountUpdate<Mod>(filter: UpdateFilter<UpdateContext<BotReactionCountUpdate>, Mod>, handler: BotReactionCountUpdateHandler<filters.Modify<UpdateContext<BotReactionCountUpdate>, Mod>>['callback'], group?: number): void;
782
- /**
783
- * Register a business connection update handler without any filters
784
- *
785
- * @param handler Business connection update handler
786
- * @param group Handler group index
787
- */
788
- onBusinessConnectionUpdate(handler: BusinessConnectionUpdateHandler['callback'], group?: number): void;
789
- /**
790
- * Register a business connection update handler with a filter
791
- *
792
- * @param filter Update filter
793
- * @param handler Business connection update handler
794
- * @param group Handler group index
795
- */
796
- onBusinessConnectionUpdate<Mod>(filter: UpdateFilter<UpdateContext<BusinessConnection>, Mod>, handler: BusinessConnectionUpdateHandler<filters.Modify<UpdateContext<BusinessConnection>, Mod>>['callback'], group?: number): void;
797
- /**
798
- * Register a new business message handler without any filters
799
- *
800
- * @param handler New business message handler
801
- * @param group Handler group index
802
- */
803
- onNewBusinessMessage(handler: NewBusinessMessageHandler<BusinessMessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
804
- /**
805
- * Register a new business message handler with a filter
806
- *
807
- * @param filter Update filter
808
- * @param handler New business message handler
809
- * @param group Handler group index
810
- */
811
- onNewBusinessMessage<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod, State>, handler: NewBusinessMessageHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
812
- /**
813
- * Register a new business message handler with a filter
814
- *
815
- * @param filter Update filter
816
- * @param handler New business message handler
817
- * @param group Handler group index
818
- */
819
- onNewBusinessMessage<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod>, handler: NewBusinessMessageHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
820
- /**
821
- * Register an edit business message handler without any filters
822
- *
823
- * @param handler Edit business message handler
824
- * @param group Handler group index
825
- */
826
- onEditBusinessMessage(handler: EditBusinessMessageHandler<BusinessMessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
827
- /**
828
- * Register an edit business message handler with a filter
829
- *
830
- * @param filter Update filter
831
- * @param handler Edit business message handler
832
- * @param group Handler group index
833
- */
834
- onEditBusinessMessage<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod, State>, handler: EditBusinessMessageHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
835
- /**
836
- * Register an edit business message handler with a filter
837
- *
838
- * @param filter Update filter
839
- * @param handler Edit business message handler
840
- * @param group Handler group index
841
- */
842
- onEditBusinessMessage<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod>, handler: EditBusinessMessageHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
843
- /**
844
- * Register a business message group handler without any filters
845
- *
846
- * @param handler Business message group handler
847
- * @param group Handler group index
848
- */
849
- onBusinessMessageGroup(handler: BusinessMessageGroupHandler<BusinessMessageContext, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
850
- /**
851
- * Register a business message group handler with a filter
852
- *
853
- * @param filter Update filter
854
- * @param handler Business message group handler
855
- * @param group Handler group index
856
- */
857
- onBusinessMessageGroup<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod, State>, handler: BusinessMessageGroupHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
858
- /**
859
- * Register a business message group handler with a filter
860
- *
861
- * @param filter Update filter
862
- * @param handler Business message group handler
863
- * @param group Handler group index
864
- */
865
- onBusinessMessageGroup<Mod>(filter: UpdateFilter<BusinessMessageContext, Mod>, handler: BusinessMessageGroupHandler<filters.Modify<BusinessMessageContext, Mod>, State extends never ? never : UpdateState<State>>['callback'], group?: number): void;
866
- /**
867
- * Register a delete business message handler without any filters
868
- *
869
- * @param handler Delete business message handler
870
- * @param group Handler group index
871
- */
872
- onDeleteBusinessMessage(handler: DeleteBusinessMessageHandler['callback'], group?: number): void;
873
- /**
874
- * Register a delete business message handler with a filter
875
- *
876
- * @param filter Update filter
877
- * @param handler Delete business message handler
878
- * @param group Handler group index
879
- */
880
- onDeleteBusinessMessage<Mod>(filter: UpdateFilter<UpdateContext<DeleteBusinessMessageUpdate>, Mod>, handler: DeleteBusinessMessageHandler<filters.Modify<UpdateContext<DeleteBusinessMessageUpdate>, Mod>>['callback'], group?: number): void;
881
- }