chz-telegram-bot 0.5.4 → 0.6.8

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 (234) hide show
  1. package/README.md +41 -31
  2. package/dist/builtin/helpAction.d.ts +2 -0
  3. package/dist/builtin/helpAction.d.ts.map +1 -0
  4. package/dist/builtin/helpAction.js +14 -0
  5. package/dist/dtos/chatHistoryMessage.d.ts +35 -0
  6. package/dist/dtos/chatHistoryMessage.d.ts.map +1 -0
  7. package/dist/dtos/chatHistoryMessage.js +32 -0
  8. package/dist/dtos/chatInfo.d.ts +17 -0
  9. package/dist/dtos/chatInfo.d.ts.map +1 -0
  10. package/dist/dtos/chatInfo.js +16 -0
  11. package/dist/dtos/commandTriggerCheckResult.d.ts +24 -0
  12. package/dist/dtos/commandTriggerCheckResult.d.ts.map +1 -0
  13. package/dist/dtos/commandTriggerCheckResult.js +34 -0
  14. package/dist/dtos/cooldownInfo.d.ts +13 -0
  15. package/dist/dtos/cooldownInfo.d.ts.map +1 -0
  16. package/dist/dtos/cooldownInfo.js +12 -0
  17. package/dist/dtos/incomingMessage.d.ts +19 -0
  18. package/dist/dtos/incomingMessage.d.ts.map +1 -0
  19. package/dist/dtos/incomingMessage.js +63 -0
  20. package/dist/dtos/incomingQuery.d.ts +10 -0
  21. package/dist/dtos/incomingQuery.d.ts.map +1 -0
  22. package/dist/dtos/incomingQuery.js +14 -0
  23. package/dist/dtos/messageInfo.d.ts +22 -0
  24. package/dist/dtos/messageInfo.d.ts.map +1 -0
  25. package/dist/dtos/messageInfo.js +20 -0
  26. package/dist/dtos/propertyProviderSets.d.ts +16 -0
  27. package/dist/dtos/propertyProviderSets.d.ts.map +1 -0
  28. package/dist/dtos/propertyProviderSets.js +1 -0
  29. package/dist/dtos/replyInfo.d.ts +6 -0
  30. package/dist/dtos/replyInfo.d.ts.map +1 -0
  31. package/dist/dtos/replyInfo.js +8 -0
  32. package/dist/dtos/responses/delay.d.ts +16 -0
  33. package/dist/dtos/responses/delay.d.ts.map +1 -0
  34. package/dist/dtos/responses/delay.js +15 -0
  35. package/dist/dtos/responses/imageMessage.d.ts +22 -0
  36. package/dist/dtos/responses/imageMessage.d.ts.map +1 -0
  37. package/dist/dtos/responses/imageMessage.js +21 -0
  38. package/dist/dtos/responses/inlineQueryResponse.d.ts +13 -0
  39. package/dist/dtos/responses/inlineQueryResponse.d.ts.map +1 -0
  40. package/dist/dtos/responses/inlineQueryResponse.js +15 -0
  41. package/dist/dtos/responses/reaction.d.ts +16 -0
  42. package/dist/dtos/responses/reaction.d.ts.map +1 -0
  43. package/dist/dtos/responses/reaction.js +17 -0
  44. package/dist/dtos/responses/textMessage.d.ts +23 -0
  45. package/dist/dtos/responses/textMessage.d.ts.map +1 -0
  46. package/dist/dtos/responses/textMessage.js +24 -0
  47. package/dist/dtos/responses/unpin.d.ts +15 -0
  48. package/dist/dtos/responses/unpin.d.ts.map +1 -0
  49. package/dist/dtos/responses/unpin.js +15 -0
  50. package/dist/dtos/responses/videoMessage.d.ts +22 -0
  51. package/dist/dtos/responses/videoMessage.d.ts.map +1 -0
  52. package/dist/dtos/responses/videoMessage.js +21 -0
  53. package/dist/dtos/userInfo.d.ts +12 -0
  54. package/dist/dtos/userInfo.d.ts.map +1 -0
  55. package/dist/dtos/userInfo.js +12 -0
  56. package/dist/entities/actions/commandAction.d.ts +31 -0
  57. package/dist/entities/actions/commandAction.d.ts.map +1 -0
  58. package/dist/entities/actions/commandAction.js +149 -0
  59. package/dist/entities/actions/inlineQueryAction.d.ts +14 -0
  60. package/dist/entities/actions/inlineQueryAction.d.ts.map +1 -0
  61. package/dist/entities/actions/inlineQueryAction.js +51 -0
  62. package/dist/entities/actions/replyCaptureAction.d.ts +15 -0
  63. package/dist/entities/actions/replyCaptureAction.d.ts.map +1 -0
  64. package/dist/entities/actions/replyCaptureAction.js +66 -0
  65. package/dist/entities/actions/scheduledAction.d.ts +24 -0
  66. package/dist/entities/actions/scheduledAction.d.ts.map +1 -0
  67. package/dist/entities/actions/scheduledAction.js +92 -0
  68. package/dist/entities/botInstance.d.ts +36 -0
  69. package/dist/entities/botInstance.d.ts.map +1 -0
  70. package/dist/entities/botInstance.js +39 -0
  71. package/dist/entities/cachedStateFactory.d.ts +7 -0
  72. package/dist/entities/cachedStateFactory.d.ts.map +1 -0
  73. package/dist/entities/cachedStateFactory.js +8 -0
  74. package/dist/entities/context/baseContext.d.ts +39 -0
  75. package/dist/entities/context/baseContext.d.ts.map +1 -0
  76. package/dist/entities/context/baseContext.js +56 -0
  77. package/dist/entities/context/chatContext.d.ts +50 -0
  78. package/dist/entities/context/chatContext.d.ts.map +1 -0
  79. package/dist/entities/context/chatContext.js +65 -0
  80. package/dist/entities/context/inlineQueryContext.d.ts +27 -0
  81. package/dist/entities/context/inlineQueryContext.d.ts.map +1 -0
  82. package/dist/entities/context/inlineQueryContext.js +29 -0
  83. package/dist/entities/context/messageContext.d.ts +92 -0
  84. package/dist/entities/context/messageContext.d.ts.map +1 -0
  85. package/dist/entities/context/messageContext.js +116 -0
  86. package/dist/entities/context/replyContext.d.ts +89 -0
  87. package/dist/entities/context/replyContext.d.ts.map +1 -0
  88. package/dist/entities/context/replyContext.js +124 -0
  89. package/dist/entities/states/actionStateBase.d.ts +6 -0
  90. package/dist/entities/states/actionStateBase.d.ts.map +1 -0
  91. package/dist/entities/states/actionStateBase.js +4 -0
  92. package/dist/entities/taskRecord.d.ts +8 -0
  93. package/dist/entities/taskRecord.d.ts.map +1 -0
  94. package/dist/entities/taskRecord.js +10 -0
  95. package/dist/eslint.config.d.ts +3 -0
  96. package/dist/eslint.config.d.ts.map +1 -0
  97. package/dist/eslint.config.js +51 -0
  98. package/dist/helpers/builders/commandActionBuilder.d.ts +100 -0
  99. package/dist/helpers/builders/commandActionBuilder.d.ts.map +1 -0
  100. package/dist/helpers/builders/commandActionBuilder.js +146 -0
  101. package/dist/helpers/builders/inlineQueryActionBuilder.d.ts +37 -0
  102. package/dist/helpers/builders/inlineQueryActionBuilder.d.ts.map +1 -0
  103. package/dist/helpers/builders/inlineQueryActionBuilder.js +50 -0
  104. package/dist/helpers/builders/scheduledActionBuilder.d.ts +68 -0
  105. package/dist/helpers/builders/scheduledActionBuilder.d.ts.map +1 -0
  106. package/dist/helpers/builders/scheduledActionBuilder.js +95 -0
  107. package/dist/helpers/mapUtils.d.ts +10 -0
  108. package/dist/helpers/mapUtils.d.ts.map +1 -0
  109. package/dist/helpers/mapUtils.js +13 -0
  110. package/dist/helpers/noop.d.ts +9 -0
  111. package/dist/helpers/noop.d.ts.map +1 -0
  112. package/dist/helpers/noop.js +17 -0
  113. package/dist/helpers/objectFromEntries.d.ts +2 -0
  114. package/dist/helpers/objectFromEntries.d.ts.map +1 -0
  115. package/dist/helpers/objectFromEntries.js +3 -0
  116. package/dist/helpers/timeConvertions.d.ts +5 -0
  117. package/dist/helpers/timeConvertions.d.ts.map +1 -0
  118. package/dist/helpers/timeConvertions.js +9 -0
  119. package/dist/helpers/toArray.d.ts +2 -0
  120. package/dist/helpers/toArray.d.ts.map +1 -0
  121. package/dist/helpers/toArray.js +3 -0
  122. package/dist/helpers/traceFactory.d.ts +3 -0
  123. package/dist/helpers/traceFactory.d.ts.map +1 -0
  124. package/dist/helpers/traceFactory.js +3 -0
  125. package/dist/index.d.ts +27 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +20 -0
  128. package/dist/main.d.ts +49 -0
  129. package/dist/main.d.ts.map +1 -0
  130. package/dist/main.js +33 -0
  131. package/dist/services/actionProcessingService.d.ts +25 -0
  132. package/dist/services/actionProcessingService.d.ts.map +1 -0
  133. package/dist/services/actionProcessingService.js +50 -0
  134. package/dist/services/actionProcessors/baseProcessor.d.ts +18 -0
  135. package/dist/services/actionProcessors/baseProcessor.d.ts.map +1 -0
  136. package/dist/services/actionProcessors/baseProcessor.js +33 -0
  137. package/dist/services/actionProcessors/commandActionProcessor.d.ts +19 -0
  138. package/dist/services/actionProcessors/commandActionProcessor.d.ts.map +1 -0
  139. package/dist/services/actionProcessors/commandActionProcessor.js +130 -0
  140. package/dist/services/actionProcessors/inlineQueryActionProcessor.d.ts +11 -0
  141. package/dist/services/actionProcessors/inlineQueryActionProcessor.d.ts.map +1 -0
  142. package/dist/services/actionProcessors/inlineQueryActionProcessor.js +69 -0
  143. package/dist/services/actionProcessors/scheduledActionProcessor.d.ts +17 -0
  144. package/dist/services/actionProcessors/scheduledActionProcessor.d.ts.map +1 -0
  145. package/dist/services/actionProcessors/scheduledActionProcessor.js +55 -0
  146. package/dist/services/jsonFileStorage.d.ts +25 -0
  147. package/dist/services/jsonFileStorage.d.ts.map +1 -0
  148. package/dist/services/jsonFileStorage.js +133 -0
  149. package/dist/services/nodeTimeoutScheduler.d.ts +13 -0
  150. package/dist/services/nodeTimeoutScheduler.d.ts.map +1 -0
  151. package/dist/services/nodeTimeoutScheduler.js +50 -0
  152. package/dist/services/responseProcessingQueue.d.ts +12 -0
  153. package/dist/services/responseProcessingQueue.d.ts.map +1 -0
  154. package/dist/services/responseProcessingQueue.js +37 -0
  155. package/dist/services/telegramApi.d.ts +23 -0
  156. package/dist/services/telegramApi.d.ts.map +1 -0
  157. package/dist/services/telegramApi.js +163 -0
  158. package/dist/types/action.d.ts +14 -0
  159. package/dist/types/action.d.ts.map +1 -0
  160. package/dist/types/action.js +1 -0
  161. package/dist/types/actionState.d.ts +5 -0
  162. package/dist/types/actionState.d.ts.map +1 -0
  163. package/dist/types/actionState.js +1 -0
  164. package/dist/types/cachedValueAccessor.d.ts +2 -0
  165. package/dist/types/cachedValueAccessor.d.ts.map +1 -0
  166. package/dist/types/cachedValueAccessor.js +1 -0
  167. package/dist/types/capture.d.ts +24 -0
  168. package/dist/types/capture.d.ts.map +1 -0
  169. package/dist/types/capture.js +1 -0
  170. package/dist/types/commandCondition.d.ts +8 -0
  171. package/dist/types/commandCondition.d.ts.map +1 -0
  172. package/dist/types/commandCondition.js +1 -0
  173. package/dist/types/commandTrigger.d.ts +2 -0
  174. package/dist/types/commandTrigger.d.ts.map +1 -0
  175. package/dist/types/commandTrigger.js +1 -0
  176. package/dist/types/events.d.ts +193 -0
  177. package/dist/types/events.d.ts.map +1 -0
  178. package/dist/types/events.js +69 -0
  179. package/dist/types/externalAliases.d.ts +11 -0
  180. package/dist/types/externalAliases.d.ts.map +1 -0
  181. package/dist/types/externalAliases.js +1 -0
  182. package/dist/types/handlers.d.ts +21 -0
  183. package/dist/types/handlers.d.ts.map +1 -0
  184. package/dist/types/handlers.js +1 -0
  185. package/dist/types/inputFile.d.ts +5 -0
  186. package/dist/types/inputFile.d.ts.map +1 -0
  187. package/dist/types/inputFile.js +1 -0
  188. package/dist/types/logger.d.ts +1 -0
  189. package/dist/types/logger.d.ts.map +1 -0
  190. package/dist/types/logger.js +1 -0
  191. package/dist/types/messageSendingOptions.d.ts +9 -0
  192. package/dist/types/messageSendingOptions.d.ts.map +1 -0
  193. package/dist/types/messageSendingOptions.js +1 -0
  194. package/dist/types/messageTypes.d.ts +20 -0
  195. package/dist/types/messageTypes.d.ts.map +1 -0
  196. package/dist/types/messageTypes.js +18 -0
  197. package/dist/types/propertyProvider.d.ts +8 -0
  198. package/dist/types/propertyProvider.d.ts.map +1 -0
  199. package/dist/types/propertyProvider.js +1 -0
  200. package/dist/types/response.d.ts +39 -0
  201. package/dist/types/response.d.ts.map +1 -0
  202. package/dist/types/response.js +9 -0
  203. package/dist/types/scheduler.d.ts +7 -0
  204. package/dist/types/scheduler.d.ts.map +1 -0
  205. package/dist/types/scheduler.js +1 -0
  206. package/dist/types/storage.d.ts +11 -0
  207. package/dist/types/storage.d.ts.map +1 -0
  208. package/dist/types/storage.js +1 -0
  209. package/dist/types/timeValues.d.ts +15 -0
  210. package/dist/types/timeValues.d.ts.map +1 -0
  211. package/dist/types/timeValues.js +1 -0
  212. package/dist/types/trace.d.ts +6 -0
  213. package/dist/types/trace.d.ts.map +1 -0
  214. package/dist/types/trace.js +1 -0
  215. package/entities/actions/commandAction.ts +11 -3
  216. package/entities/actions/inlineQueryAction.ts +9 -1
  217. package/entities/actions/replyCaptureAction.ts +9 -3
  218. package/entities/actions/scheduledAction.ts +31 -10
  219. package/entities/botInstance.ts +18 -25
  220. package/entities/context/baseContext.ts +9 -4
  221. package/index.ts +1 -1
  222. package/main.ts +1 -10
  223. package/package.json +38 -38
  224. package/services/actionProcessingService.ts +11 -15
  225. package/services/actionProcessors/baseProcessor.ts +9 -9
  226. package/services/actionProcessors/commandActionProcessor.ts +35 -46
  227. package/services/actionProcessors/inlineQueryActionProcessor.ts +24 -20
  228. package/services/actionProcessors/scheduledActionProcessor.ts +5 -10
  229. package/services/jsonFileStorage.ts +27 -1
  230. package/services/nodeTimeoutScheduler.ts +22 -22
  231. package/services/telegramApi.ts +53 -23
  232. package/types/events.ts +285 -0
  233. package/services/jsonLogger.ts +0 -112
  234. package/types/logger.ts +0 -39
@@ -0,0 +1,193 @@
1
+ import { ChatInfo } from '../dtos/chatInfo';
2
+ import { IncomingMessage } from '../dtos/incomingMessage';
3
+ import { IncomingInlineQuery } from '../dtos/incomingQuery';
4
+ import { CommandAction } from '../entities/actions/commandAction';
5
+ import { ChatContext } from '../entities/context/chatContext';
6
+ import { InlineQueryContext } from '../entities/context/inlineQueryContext';
7
+ import { MessageContext } from '../entities/context/messageContext';
8
+ import { ReplyContext } from '../entities/context/replyContext';
9
+ import { ActionKey, IAction, IActionWithState } from './action';
10
+ import { IActionState } from './actionState';
11
+ import { BotInfo } from './externalAliases';
12
+ import { BotResponse } from './response';
13
+ import { Milliseconds } from './timeValues';
14
+ export declare const BotEventType: {
15
+ readonly error: "error.generic";
16
+ readonly messageRecieved: "message.recieved";
17
+ readonly messageProcessingStarted: "message.processingStarted";
18
+ readonly messageProcessingFinished: "message.processingFinished";
19
+ readonly beforeActionsExecuting: "message.beforeActionsExecuting";
20
+ readonly commandActionExecuting: "command.actionExecuting";
21
+ readonly commandActionExecuted: "command.actionExecuted";
22
+ readonly commandActionCaptureStarted: "command.captionStarted";
23
+ readonly commandActionCaptureAborted: "command.captionAborted";
24
+ readonly replyActionExecuting: "reply.actionExecuting";
25
+ readonly replyActionExecuted: "reply.actionExecuted";
26
+ readonly inlineActionExecuting: "inline.actionExecuting";
27
+ readonly inlineActionExecuted: "inline.actionExecuted";
28
+ readonly inlineProcessingStarted: "inline.processingStarted";
29
+ readonly inlineProcessingAborting: "inline.processingAborting";
30
+ readonly inlineProcessingAborted: "inline.processingAborted";
31
+ readonly scheduledActionExecuting: "scheduled.actionExecuting";
32
+ readonly scheduledActionExecuted: "scheduled.actionExecuted";
33
+ readonly scheduledActionCacheValueReturned: "scheduled.cachedValueReturned";
34
+ readonly scheduledActionCacheValueCreating: "scheduled.cachedValueCreating";
35
+ readonly apiRequestSending: "api.requestSending";
36
+ readonly apiRequestSent: "api.requestSent";
37
+ readonly storageLockAcquiring: "storage.lockAcquiring";
38
+ readonly storageLockAcquired: "storage.lockAcquired";
39
+ readonly storageLockReleased: "storage.lockReleased";
40
+ readonly storageStateSaving: "storage.stateSaving";
41
+ readonly storageStateSaved: "storage.stateSaved";
42
+ readonly storageStateLoading: "storage.stateLoading";
43
+ readonly storageStateLoaded: "storage.stateLoaded";
44
+ readonly taskCreated: "task.created";
45
+ readonly taskRun: "task.run";
46
+ readonly botStarting: "bot.starting";
47
+ readonly botStopping: "bot.stopping";
48
+ };
49
+ type BotEventTypeKeys = (typeof BotEventType)[keyof typeof BotEventType];
50
+ export type BotEventMap = {
51
+ [BotEventType.error]: {
52
+ error: Error;
53
+ };
54
+ [BotEventType.messageRecieved]: {
55
+ botInfo: BotInfo;
56
+ message: IncomingMessage;
57
+ };
58
+ [BotEventType.messageProcessingStarted]: {
59
+ botInfo: BotInfo;
60
+ message: IncomingMessage;
61
+ };
62
+ [BotEventType.messageProcessingFinished]: {
63
+ botInfo: BotInfo;
64
+ message: IncomingMessage;
65
+ };
66
+ [BotEventType.beforeActionsExecuting]: {
67
+ botInfo: BotInfo;
68
+ message: IncomingMessage;
69
+ commands: Set<CommandAction<IActionState>>;
70
+ };
71
+ [BotEventType.commandActionExecuting]: {
72
+ action: IActionWithState<IActionState>;
73
+ ctx: MessageContext<IActionState>;
74
+ state: IActionState;
75
+ };
76
+ [BotEventType.commandActionExecuted]: {
77
+ action: IActionWithState<IActionState>;
78
+ ctx: MessageContext<IActionState>;
79
+ state: IActionState;
80
+ };
81
+ [BotEventType.commandActionCaptureStarted]: {
82
+ parentMessageId: number;
83
+ chatInfo: ChatInfo;
84
+ };
85
+ [BotEventType.commandActionCaptureAborted]: {
86
+ parentMessageId: number;
87
+ chatInfo: ChatInfo;
88
+ };
89
+ [BotEventType.replyActionExecuting]: {
90
+ action: IAction;
91
+ ctx: ReplyContext<IActionState>;
92
+ };
93
+ [BotEventType.replyActionExecuted]: {
94
+ action: IAction;
95
+ ctx: ReplyContext<IActionState>;
96
+ };
97
+ [BotEventType.inlineActionExecuting]: {
98
+ action: IAction;
99
+ ctx: InlineQueryContext;
100
+ };
101
+ [BotEventType.inlineActionExecuted]: {
102
+ action: IAction;
103
+ ctx: InlineQueryContext;
104
+ };
105
+ [BotEventType.inlineProcessingStarted]: {
106
+ query: IncomingInlineQuery;
107
+ };
108
+ [BotEventType.inlineProcessingAborting]: {
109
+ abortedQuery: IncomingInlineQuery;
110
+ newQuery: IncomingInlineQuery;
111
+ };
112
+ [BotEventType.inlineProcessingAborted]: {
113
+ abortedQuery: IncomingInlineQuery;
114
+ };
115
+ [BotEventType.scheduledActionExecuting]: {
116
+ action: IAction;
117
+ ctx: ChatContext<IActionState>;
118
+ state: IActionState;
119
+ };
120
+ [BotEventType.scheduledActionExecuted]: {
121
+ action: IAction;
122
+ ctx: ChatContext<IActionState>;
123
+ state: IActionState;
124
+ };
125
+ [BotEventType.scheduledActionCacheValueCreating]: {
126
+ action: IAction;
127
+ ctx: ChatContext<IActionState>;
128
+ key: string;
129
+ };
130
+ [BotEventType.scheduledActionCacheValueReturned]: {
131
+ action: IAction;
132
+ ctx: ChatContext<IActionState>;
133
+ key: string;
134
+ };
135
+ [BotEventType.apiRequestSending]: {
136
+ response: BotResponse | null;
137
+ telegramMethod: string | null;
138
+ };
139
+ [BotEventType.apiRequestSent]: {
140
+ response: BotResponse | null;
141
+ telegramMethod: string | null;
142
+ };
143
+ [BotEventType.storageLockAcquiring]: ActionKey;
144
+ [BotEventType.storageLockAcquired]: ActionKey;
145
+ [BotEventType.storageLockReleased]: ActionKey;
146
+ [BotEventType.storageStateSaved]: {
147
+ key: ActionKey;
148
+ data: Record<number, unknown>;
149
+ };
150
+ [BotEventType.storageStateSaving]: {
151
+ key: ActionKey;
152
+ data: Record<number, unknown>;
153
+ };
154
+ [BotEventType.storageStateLoading]: {
155
+ action: IActionWithState<IActionState>;
156
+ chatId: number;
157
+ };
158
+ [BotEventType.storageStateLoaded]: {
159
+ action: IActionWithState<IActionState>;
160
+ chatId: number;
161
+ state: IActionState;
162
+ };
163
+ [BotEventType.taskCreated]: {
164
+ name: string;
165
+ ownerName: string;
166
+ delay?: Milliseconds;
167
+ interval?: Milliseconds;
168
+ };
169
+ [BotEventType.taskRun]: {
170
+ name: string;
171
+ ownerName: string;
172
+ delay?: Milliseconds;
173
+ interval?: Milliseconds;
174
+ };
175
+ [BotEventType.botStarting]: {
176
+ botName: string;
177
+ };
178
+ [BotEventType.botStopping]: {
179
+ botName: string;
180
+ };
181
+ };
182
+ type ListenerArgs<K extends keyof BotEventMap> = BotEventMap[K] extends undefined ? [] : [BotEventMap[K]];
183
+ export type Listener<K extends keyof BotEventMap> = (timestamp: number, ...args: ListenerArgs<K>) => void;
184
+ export type EachListener = (event: BotEventTypeKeys, timestamp: number, data: unknown) => void;
185
+ export declare class TypedEventEmitter {
186
+ private readonly listeners;
187
+ on<K extends keyof BotEventMap>(event: K, fn: Listener<K>): void;
188
+ onEach(fn: EachListener): void;
189
+ emit<K extends keyof BotEventMap>(event: K, ...args: ListenerArgs<K>): void;
190
+ events(): (keyof BotEventMap | '*')[];
191
+ }
192
+ export {};
193
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cf,CAAC;AAEX,KAAK,gBAAgB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAKzE,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC;KAChB,CAAC;IAEF,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;KAC5B,CAAC;IAEF,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;KAC5B,CAAC;IAEF,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE;QACtC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;KAC5B,CAAC;IAEF,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE;QACnC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;KAC9C,CAAC;IAEF,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE;QACnC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvC,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QAClC,KAAK,EAAE,YAAY,CAAC;KACvB,CAAC;IAEF,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QAClC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvC,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QAClC,KAAK,EAAE,YAAY,CAAC;KACvB,CAAC;IAEF,CAAC,YAAY,CAAC,2BAA2B,CAAC,EAAE;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC;IAEF,CAAC,YAAY,CAAC,2BAA2B,CAAC,EAAE;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC;IAEF,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KACnC,CAAC;IAEF,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KACnC,CAAC;IAEF,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,kBAAkB,CAAC;KAC3B,CAAC;IAEF,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,kBAAkB,CAAC;KAC3B,CAAC;IAEF,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE;QACpC,KAAK,EAAE,mBAAmB,CAAC;KAC9B,CAAC;IAEF,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE;QACrC,YAAY,EAAE,mBAAmB,CAAC;QAClC,QAAQ,EAAE,mBAAmB,CAAC;KACjC,CAAC;IAEF,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE;QACpC,YAAY,EAAE,mBAAmB,CAAC;KACrC,CAAC;IAEF,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE;QACrC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,KAAK,EAAE,YAAY,CAAC;KACvB,CAAC;IAEF,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE;QACpC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,KAAK,EAAE,YAAY,CAAC;KACvB,CAAC;IAEF,CAAC,YAAY,CAAC,iCAAiC,CAAC,EAAE;QAC9C,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,CAAC,YAAY,CAAC,iCAAiC,CAAC,EAAE;QAC9C,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;QAC9B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;QAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;IAEF,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;QAC3B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;QAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;IAEF,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IAC/C,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAC9C,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAC9C,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;QAC9B,GAAG,EAAE,SAAS,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;QAC/B,GAAG,EAAE,SAAS,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;QAChC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;QAC/B,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,YAAY,CAAC;KACvB,CAAC;IAEF,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;KAC3B,CAAC;IACF,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;KAC3B,CAAC;IAEF,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACxB,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACxB,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;CACL,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,WAAW,IACzC,WAAW,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,WAAW,IAAI,CAChD,SAAS,EAAE,MAAM,EACjB,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KACvB,IAAI,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG,CACvB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,KACZ,IAAI,CAAC;AAEV,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IAEJ,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAMzD,MAAM,CAAC,EAAE,EAAE,YAAY;IAOvB,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EAC5B,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,IAAI;IAuBP,MAAM,IAAI,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE;CAGxC"}
@@ -0,0 +1,69 @@
1
+ export const BotEventType = {
2
+ error: 'error.generic',
3
+ messageRecieved: 'message.recieved',
4
+ messageProcessingStarted: 'message.processingStarted',
5
+ messageProcessingFinished: 'message.processingFinished',
6
+ beforeActionsExecuting: 'message.beforeActionsExecuting',
7
+ commandActionExecuting: 'command.actionExecuting',
8
+ commandActionExecuted: 'command.actionExecuted',
9
+ commandActionCaptureStarted: 'command.captionStarted',
10
+ commandActionCaptureAborted: 'command.captionAborted',
11
+ replyActionExecuting: 'reply.actionExecuting',
12
+ replyActionExecuted: 'reply.actionExecuted',
13
+ inlineActionExecuting: 'inline.actionExecuting',
14
+ inlineActionExecuted: 'inline.actionExecuted',
15
+ inlineProcessingStarted: 'inline.processingStarted',
16
+ inlineProcessingAborting: 'inline.processingAborting',
17
+ inlineProcessingAborted: 'inline.processingAborted',
18
+ scheduledActionExecuting: 'scheduled.actionExecuting',
19
+ scheduledActionExecuted: 'scheduled.actionExecuted',
20
+ scheduledActionCacheValueReturned: 'scheduled.cachedValueReturned',
21
+ scheduledActionCacheValueCreating: 'scheduled.cachedValueCreating',
22
+ apiRequestSending: 'api.requestSending',
23
+ apiRequestSent: 'api.requestSent',
24
+ storageLockAcquiring: 'storage.lockAcquiring',
25
+ storageLockAcquired: 'storage.lockAcquired',
26
+ storageLockReleased: 'storage.lockReleased',
27
+ storageStateSaving: 'storage.stateSaving',
28
+ storageStateSaved: 'storage.stateSaved',
29
+ storageStateLoading: 'storage.stateLoading',
30
+ storageStateLoaded: 'storage.stateLoaded',
31
+ taskCreated: 'task.created',
32
+ taskRun: 'task.run',
33
+ botStarting: 'bot.starting',
34
+ botStopping: 'bot.stopping'
35
+ };
36
+ // Exhaustiveness validation
37
+ const _checkBotEventMapExhaustive = null;
38
+ export class TypedEventEmitter {
39
+ listeners = new Map();
40
+ on(event, fn) {
41
+ const set = this.listeners.get(event) ?? new Set();
42
+ set.add(fn);
43
+ this.listeners.set(event, set);
44
+ }
45
+ onEach(fn) {
46
+ const event = '*';
47
+ const set = this.listeners.get(event) ?? new Set();
48
+ set.add(fn);
49
+ this.listeners.set(event, set);
50
+ }
51
+ emit(event, ...args) {
52
+ const timestamp = Date.now();
53
+ const specific = this.listeners.get(event);
54
+ if (specific) {
55
+ for (const fn of specific) {
56
+ fn(timestamp, ...args);
57
+ }
58
+ }
59
+ const anySet = this.listeners.get('*');
60
+ if (anySet) {
61
+ for (const fn of anySet) {
62
+ fn(event, timestamp, ...args);
63
+ }
64
+ }
65
+ }
66
+ events() {
67
+ return [...this.listeners.keys()];
68
+ }
69
+ }
@@ -0,0 +1,11 @@
1
+ import { Telegram, Telegraf } from 'telegraf';
2
+ import { User, Message, InlineQueryResult, UserFromGetMe, TelegramEmoji as Emoji, InlineKeyboardButton } from 'telegraf/types';
3
+ export type TelegramUser = User;
4
+ export type TelegramMessage = Message;
5
+ export type TelegramInlineQueryResult = InlineQueryResult;
6
+ export type TelegramEmoji = Emoji;
7
+ export type TelegramApiClient = Telegram;
8
+ export type BotInfo = UserFromGetMe;
9
+ export type TelegramBot = Telegraf;
10
+ export type TelegramInlineKeyboardButton = InlineKeyboardButton;
11
+ //# sourceMappingURL=externalAliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalAliases.d.ts","sourceRoot":"","sources":["../../types/externalAliases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACH,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,IAAI,KAAK,EACtB,oBAAoB,EACvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;AACtC,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAClC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,aAAa,CAAC;AACpC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AACnC,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import { ChatContext } from '../entities/context/chatContext';
2
+ import { InlineQueryContext } from '../entities/context/inlineQueryContext';
3
+ import { MessageContext } from '../entities/context/messageContext';
4
+ import { IActionState } from './actionState';
5
+ import { CachedValueAccessor } from './cachedValueAccessor';
6
+ export type InlineQueryHandler = (
7
+ /** Context of inline query executed in chat, in response to a message. */
8
+ ctx: InlineQueryContext) => Promise<void>;
9
+ export type CommandHandler<TActionState extends IActionState> = (
10
+ /** Context of action executed in chat, in response to a message. */
11
+ ctx: MessageContext<TActionState>,
12
+ /** State of an action being executed. */
13
+ state: TActionState) => Promise<void> | void;
14
+ export type ScheduledHandler<TActionState extends IActionState> = (
15
+ /** Context of action executed in chat. */
16
+ ctx: ChatContext<TActionState>,
17
+ /** Function that will attempt to get value from cache. If there is no value found, corresponding cached state factory will be called. */
18
+ getCached: CachedValueAccessor,
19
+ /** State of an action being executed. */
20
+ state: TActionState) => Promise<void>;
21
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../types/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;AAC7B,0EAA0E;AAC1E,GAAG,EAAE,kBAAkB,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,cAAc,CAAC,YAAY,SAAS,YAAY,IAAI;AAC5D,oEAAoE;AACpE,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC;AACjC,yCAAyC;AACzC,KAAK,EAAE,YAAY,KAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,MAAM,gBAAgB,CAAC,YAAY,SAAS,YAAY,IAAI;AAC9D,0CAA0C;AAC1C,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC;AAC9B,yIAAyI;AACzI,SAAS,EAAE,mBAAmB;AAC9B,yCAAyC;AACzC,KAAK,EAAE,YAAY,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export interface InputFile {
2
+ source: string;
3
+ filename?: string;
4
+ }
5
+ //# sourceMappingURL=inputFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputFile.d.ts","sourceRoot":"","sources":["../../types/inputFile.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../types/logger.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,9 @@
1
+ import { TelegramInlineKeyboardButton } from './externalAliases';
2
+ export interface MessageSendingOptions {
3
+ pin?: boolean;
4
+ }
5
+ export interface TextMessageSendingOptions extends MessageSendingOptions {
6
+ disableWebPreview?: boolean;
7
+ keyboard?: TelegramInlineKeyboardButton[][];
8
+ }
9
+ //# sourceMappingURL=messageSendingOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageSendingOptions.d.ts","sourceRoot":"","sources":["../../types/messageSendingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACpE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,4BAA4B,EAAE,EAAE,CAAC;CAC/C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ export declare const INTERNAL_MESSAGE_TYPE_PREFIX = "__msg:";
2
+ export declare const MessageType: {
3
+ readonly Any: "__msg:Any";
4
+ readonly Text: "__msg:Text";
5
+ readonly Sticker: "__msg:Sticker";
6
+ readonly Animation: "__msg:Animation";
7
+ readonly Document: "__msg:Document";
8
+ readonly Voice: "__msg:Voice";
9
+ readonly Audio: "__msg:Audio";
10
+ readonly LeftChatMember: "__msg:LeftChatMember";
11
+ readonly NewChatMember: "__msg:NewChatMember";
12
+ readonly Poll: "__msg:Poll";
13
+ readonly Location: "__msg:Location";
14
+ readonly Photo: "__msg:Photo";
15
+ readonly Forward: "__msg:Forward";
16
+ readonly Video: "__msg:Video";
17
+ readonly Unknown: "__msg:Unknown";
18
+ };
19
+ export type MessageTypeValue = (typeof MessageType)[keyof typeof MessageType];
20
+ //# sourceMappingURL=messageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../types/messageTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAgBd,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const INTERNAL_MESSAGE_TYPE_PREFIX = `__msg:`;
2
+ export const MessageType = {
3
+ Any: `${INTERNAL_MESSAGE_TYPE_PREFIX}Any`,
4
+ Text: `${INTERNAL_MESSAGE_TYPE_PREFIX}Text`,
5
+ Sticker: `${INTERNAL_MESSAGE_TYPE_PREFIX}Sticker`,
6
+ Animation: `${INTERNAL_MESSAGE_TYPE_PREFIX}Animation`,
7
+ Document: `${INTERNAL_MESSAGE_TYPE_PREFIX}Document`,
8
+ Voice: `${INTERNAL_MESSAGE_TYPE_PREFIX}Voice`,
9
+ Audio: `${INTERNAL_MESSAGE_TYPE_PREFIX}Audio`,
10
+ LeftChatMember: `${INTERNAL_MESSAGE_TYPE_PREFIX}LeftChatMember`,
11
+ NewChatMember: `${INTERNAL_MESSAGE_TYPE_PREFIX}NewChatMember`,
12
+ Poll: `${INTERNAL_MESSAGE_TYPE_PREFIX}Poll`,
13
+ Location: `${INTERNAL_MESSAGE_TYPE_PREFIX}Location`,
14
+ Photo: `${INTERNAL_MESSAGE_TYPE_PREFIX}Photo`,
15
+ Forward: `${INTERNAL_MESSAGE_TYPE_PREFIX}Forward`,
16
+ Video: `${INTERNAL_MESSAGE_TYPE_PREFIX}Video`,
17
+ Unknown: `${INTERNAL_MESSAGE_TYPE_PREFIX}Unknown`
18
+ };
@@ -0,0 +1,8 @@
1
+ import { ChatContext } from '../entities/context/chatContext';
2
+ import { InlineQueryContext } from '../entities/context/inlineQueryContext';
3
+ import { MessageContext } from '../entities/context/messageContext';
4
+ import { IActionState } from './actionState';
5
+ export type CommandActionPropertyProvider<T> = (ctx: MessageContext<IActionState>) => T;
6
+ export type InlineActionPropertyProvider<T> = (ctx: InlineQueryContext) => T;
7
+ export type ScheduledActionPropertyProvider<T> = (ctx: ChatContext<IActionState>) => T;
8
+ //# sourceMappingURL=propertyProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyProvider.d.ts","sourceRoot":"","sources":["../../types/propertyProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI,CAC3C,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,KAChC,CAAC,CAAC;AAEP,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,KAAK,CAAC,CAAC;AAE7E,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI,CAC7C,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,KAC7B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import { ChatInfo } from '../dtos/chatInfo';
2
+ import { DelayResponse } from '../dtos/responses/delay';
3
+ import { ImageMessage } from '../dtos/responses/imageMessage';
4
+ import { InlineQueryResponse } from '../dtos/responses/inlineQueryResponse';
5
+ import { Reaction } from '../dtos/responses/reaction';
6
+ import { TextMessage } from '../dtos/responses/textMessage';
7
+ import { UnpinResponse } from '../dtos/responses/unpin';
8
+ import { VideoMessage } from '../dtos/responses/videoMessage';
9
+ import { IReplyCapture } from './capture';
10
+ import { ReplyInfo } from '../dtos/replyInfo';
11
+ import { TraceId } from './trace';
12
+ import { IAction } from './action';
13
+ export declare const BotResponseTypes: {
14
+ readonly unpin: "unpin";
15
+ readonly text: "text";
16
+ readonly image: "image";
17
+ readonly video: "video";
18
+ readonly react: "react";
19
+ readonly delay: "delay";
20
+ readonly inlineQuery: "inlineQuery";
21
+ };
22
+ export type BotResponse = UnpinResponse | Reaction | TextMessage | VideoMessage | DelayResponse | InlineQueryResponse | ImageMessage;
23
+ export interface IChatResponse {
24
+ readonly kind: keyof typeof BotResponseTypes;
25
+ readonly chatInfo: ChatInfo;
26
+ readonly traceId: TraceId;
27
+ readonly createdAt: number;
28
+ readonly action: IAction;
29
+ }
30
+ export interface IReplyResponse extends IChatResponse {
31
+ readonly captures: IReplyCapture[];
32
+ readonly replyInfo: ReplyInfo | undefined;
33
+ readonly disableWebPreview: boolean;
34
+ readonly shouldPin: boolean;
35
+ }
36
+ export interface IReplyResponseWithContent<TType> extends IReplyResponse {
37
+ readonly content: TType;
38
+ }
39
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../types/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,YAAY,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACjD,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,KAAK,CAAE,SAAQ,cAAc;IACpE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;CAC3B"}
@@ -0,0 +1,9 @@
1
+ export const BotResponseTypes = {
2
+ unpin: 'unpin',
3
+ text: 'text',
4
+ image: 'image',
5
+ video: 'video',
6
+ react: 'react',
7
+ delay: 'delay',
8
+ inlineQuery: 'inlineQuery'
9
+ };
@@ -0,0 +1,7 @@
1
+ import { Milliseconds } from './timeValues';
2
+ export interface IScheduler {
3
+ stopAll(): void;
4
+ createTask(name: string, action: () => unknown, interval: Milliseconds, executeRightAway: boolean, ownerName: string): void;
5
+ createOnetimeTask(name: string, action: () => unknown, delay: Milliseconds, ownerName: string): void;
6
+ }
7
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../types/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,UAAU;IACvB,OAAO,IAAI,IAAI,CAAC;IAEhB,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,OAAO,EACrB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,GAClB,IAAI,CAAC;IAER,iBAAiB,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,OAAO,EACrB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,GAClB,IAAI,CAAC;CACX"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { IActionState } from './actionState';
2
+ import { ActionKey, IActionWithState } from './action';
3
+ export interface IStorageClient {
4
+ updateStateFor<TActionState extends IActionState>(action: IActionWithState<TActionState>, chatId: number, update: (state: TActionState) => Promise<void> | void): Promise<void>;
5
+ close(): Promise<void>;
6
+ load<TActionState extends IActionState>(key: ActionKey): Promise<Record<number, TActionState | undefined>>;
7
+ saveMetadata<TActionState extends IActionState>(actions: IActionWithState<TActionState>[]): Promise<void>;
8
+ getActionState<TActionState extends IActionState>(action: IActionWithState<TActionState>, chatId: number): Promise<TActionState>;
9
+ saveActionExecutionResult<TActionState extends IActionState>(action: IActionWithState<TActionState>, chatId: number, state: TActionState): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../types/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC3B,cAAc,CAAC,YAAY,SAAS,YAAY,EAC5C,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACtD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,YAAY,SAAS,YAAY,EAClC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;IACrD,YAAY,CAAC,YAAY,SAAS,YAAY,EAC1C,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,YAAY,SAAS,YAAY,EAC5C,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACtC,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB,yBAAyB,CAAC,YAAY,SAAS,YAAY,EACvD,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ declare const millisecondsSymbol: unique symbol;
2
+ declare const secondsSymbol: unique symbol;
3
+ declare const hoursSymbol: unique symbol;
4
+ export type Milliseconds = number & {
5
+ [millisecondsSymbol]: never;
6
+ };
7
+ export type Seconds = number & {
8
+ [secondsSymbol]: never;
9
+ };
10
+ export type Hours = number & {
11
+ [hoursSymbol]: never;
12
+ };
13
+ export type HoursOfDay = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
14
+ export {};
15
+ //# sourceMappingURL=timeValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeValues.d.ts","sourceRoot":"","sources":["../../types/timeValues.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChD,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG;IAAE,CAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,UAAU,GAChB,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ declare const traceSymbol: unique symbol;
2
+ export type TraceId = `${string}:${string}-${string}` & {
3
+ [traceSymbol]: never;
4
+ };
5
+ export {};
6
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../types/trace.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GAAG;IACpD,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;CACxB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -19,6 +19,7 @@ import { Seconds } from '../../types/timeValues';
19
19
  import { CommandActionPropertyProvider } from '../../types/propertyProvider';
20
20
  import { CommandActionProviders } from '../../dtos/propertyProviderSets';
21
21
  import { BotResponse } from '../../types/response';
22
+ import { BotEventType } from '../../types/events';
22
23
 
23
24
  export class CommandAction<TActionState extends IActionState>
24
25
  implements IActionWithState<TActionState>
@@ -133,9 +134,11 @@ export class CommandAction<TActionState extends IActionState>
133
134
  return Noop.NoResponse;
134
135
  }
135
136
 
136
- ctx.logger.logWithTraceId(
137
- ` - Executing [${this.name}] in ${ctx.chatInfo.id}`
138
- );
137
+ ctx.eventEmitter.emit(BotEventType.commandActionExecuting, {
138
+ action: this,
139
+ ctx,
140
+ state
141
+ });
139
142
  ctx.matchResults = matchResults;
140
143
 
141
144
  await this.handler(ctx, state);
@@ -156,6 +159,11 @@ export class CommandAction<TActionState extends IActionState>
156
159
  state
157
160
  );
158
161
 
162
+ ctx.eventEmitter.emit(BotEventType.commandActionExecuted, {
163
+ action: this,
164
+ ctx,
165
+ state
166
+ });
159
167
  return ctx.responses;
160
168
  } finally {
161
169
  lock?.release();
@@ -3,6 +3,7 @@ import { ActionKey, IAction } from '../../types/action';
3
3
  import { InlineQueryContextInternal } from '../context/inlineQueryContext';
4
4
  import { InlineQueryHandler } from '../../types/handlers';
5
5
  import { InlineActionPropertyProvider } from '../../types/propertyProvider';
6
+ import { BotEventType } from '../../types/events';
6
7
 
7
8
  export class InlineQueryAction implements IAction {
8
9
  readonly key: ActionKey;
@@ -58,10 +59,17 @@ export class InlineQueryAction implements IAction {
58
59
 
59
60
  ctx.matchResults = matchResults;
60
61
 
61
- ctx.logger.logWithTraceId(` - Executing [${this.name}]`);
62
+ ctx.eventEmitter.emit(BotEventType.inlineActionExecuting, {
63
+ action: this,
64
+ ctx
65
+ });
62
66
 
63
67
  await this.handler(ctx);
64
68
 
69
+ ctx.eventEmitter.emit(BotEventType.inlineActionExecuted, {
70
+ action: this,
71
+ ctx
72
+ });
65
73
  return ctx.responses;
66
74
  }
67
75
  }