chz-telegram-bot 0.0.44 → 0.0.45

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 (131) hide show
  1. package/entities/incomingMessage.ts +1 -0
  2. package/package.json +29 -29
  3. package/dist/entities/actionExecutionResult.d.ts +0 -7
  4. package/dist/entities/actionExecutionResult.d.ts.map +0 -1
  5. package/dist/entities/actionExecutionResult.js +0 -10
  6. package/dist/entities/actions/commandAction.d.ts +0 -23
  7. package/dist/entities/actions/commandAction.d.ts.map +0 -1
  8. package/dist/entities/actions/commandAction.js +0 -91
  9. package/dist/entities/actions/scheduledAction.d.ts +0 -24
  10. package/dist/entities/actions/scheduledAction.d.ts.map +0 -1
  11. package/dist/entities/actions/scheduledAction.js +0 -81
  12. package/dist/entities/botInstance.d.ts +0 -31
  13. package/dist/entities/botInstance.d.ts.map +0 -1
  14. package/dist/entities/botInstance.js +0 -107
  15. package/dist/entities/cachedStateFactory.d.ts +0 -7
  16. package/dist/entities/cachedStateFactory.d.ts.map +0 -1
  17. package/dist/entities/cachedStateFactory.js +0 -10
  18. package/dist/entities/commandTriggerCheckResult.d.ts +0 -10
  19. package/dist/entities/commandTriggerCheckResult.d.ts.map +0 -1
  20. package/dist/entities/commandTriggerCheckResult.js +0 -23
  21. package/dist/entities/context/chatContext.d.ts +0 -54
  22. package/dist/entities/context/chatContext.d.ts.map +0 -1
  23. package/dist/entities/context/chatContext.js +0 -70
  24. package/dist/entities/context/messageContext.d.ts +0 -60
  25. package/dist/entities/context/messageContext.d.ts.map +0 -1
  26. package/dist/entities/context/messageContext.js +0 -82
  27. package/dist/entities/incomingMessage.d.ts +0 -14
  28. package/dist/entities/incomingMessage.d.ts.map +0 -1
  29. package/dist/entities/incomingMessage.js +0 -43
  30. package/dist/entities/responses/imageMessage.d.ts +0 -16
  31. package/dist/entities/responses/imageMessage.d.ts.map +0 -1
  32. package/dist/entities/responses/imageMessage.js +0 -17
  33. package/dist/entities/responses/reaction.d.ts +0 -13
  34. package/dist/entities/responses/reaction.d.ts.map +0 -1
  35. package/dist/entities/responses/reaction.js +0 -15
  36. package/dist/entities/responses/textMessage.d.ts +0 -15
  37. package/dist/entities/responses/textMessage.d.ts.map +0 -1
  38. package/dist/entities/responses/textMessage.js +0 -17
  39. package/dist/entities/responses/unpin.d.ts +0 -11
  40. package/dist/entities/responses/unpin.d.ts.map +0 -1
  41. package/dist/entities/responses/unpin.js +0 -14
  42. package/dist/entities/responses/videoMessage.d.ts +0 -16
  43. package/dist/entities/responses/videoMessage.d.ts.map +0 -1
  44. package/dist/entities/responses/videoMessage.js +0 -17
  45. package/dist/entities/states/actionStateBase.d.ts +0 -6
  46. package/dist/entities/states/actionStateBase.d.ts.map +0 -1
  47. package/dist/entities/states/actionStateBase.js +0 -10
  48. package/dist/entities/taskRecord.d.ts +0 -8
  49. package/dist/entities/taskRecord.d.ts.map +0 -1
  50. package/dist/entities/taskRecord.js +0 -11
  51. package/dist/helpers/builders/commandActionBuilder.d.ts +0 -69
  52. package/dist/helpers/builders/commandActionBuilder.d.ts.map +0 -1
  53. package/dist/helpers/builders/commandActionBuilder.js +0 -96
  54. package/dist/helpers/builders/scheduledActionBuilder.d.ts +0 -60
  55. package/dist/helpers/builders/scheduledActionBuilder.d.ts.map +0 -1
  56. package/dist/helpers/builders/scheduledActionBuilder.js +0 -82
  57. package/dist/helpers/inverseRecord.d.ts +0 -2
  58. package/dist/helpers/inverseRecord.d.ts.map +0 -1
  59. package/dist/helpers/inverseRecord.js +0 -6
  60. package/dist/helpers/noop.d.ts +0 -6
  61. package/dist/helpers/noop.d.ts.map +0 -1
  62. package/dist/helpers/noop.js +0 -14
  63. package/dist/helpers/reverseMap.d.ts +0 -2
  64. package/dist/helpers/reverseMap.d.ts.map +0 -1
  65. package/dist/helpers/reverseMap.js +0 -6
  66. package/dist/helpers/reverseRecord.d.ts +0 -2
  67. package/dist/helpers/reverseRecord.d.ts.map +0 -1
  68. package/dist/helpers/reverseRecord.js +0 -6
  69. package/dist/helpers/timeConvertions.d.ts +0 -5
  70. package/dist/helpers/timeConvertions.d.ts.map +0 -1
  71. package/dist/helpers/timeConvertions.js +0 -14
  72. package/dist/helpers/toArray.d.ts +0 -2
  73. package/dist/helpers/toArray.d.ts.map +0 -1
  74. package/dist/helpers/toArray.js +0 -6
  75. package/dist/index.d.ts +0 -10
  76. package/dist/index.d.ts.map +0 -1
  77. package/dist/index.js +0 -29
  78. package/dist/main.d.ts +0 -35
  79. package/dist/main.d.ts.map +0 -1
  80. package/dist/main.js +0 -43
  81. package/dist/services/jsonFileStorage.d.ts +0 -22
  82. package/dist/services/jsonFileStorage.d.ts.map +0 -1
  83. package/dist/services/jsonFileStorage.js +0 -102
  84. package/dist/services/logger.d.ts +0 -9
  85. package/dist/services/logger.d.ts.map +0 -1
  86. package/dist/services/logger.js +0 -28
  87. package/dist/services/taskScheduler.d.ts +0 -11
  88. package/dist/services/taskScheduler.d.ts.map +0 -1
  89. package/dist/services/taskScheduler.js +0 -33
  90. package/dist/services/telegramApi.d.ts +0 -36
  91. package/dist/services/telegramApi.d.ts.map +0 -1
  92. package/dist/services/telegramApi.js +0 -100
  93. package/dist/types/actionState.d.ts +0 -5
  94. package/dist/types/actionState.d.ts.map +0 -1
  95. package/dist/types/actionState.js +0 -2
  96. package/dist/types/actionWithState.d.ts +0 -9
  97. package/dist/types/actionWithState.d.ts.map +0 -1
  98. package/dist/types/actionWithState.js +0 -2
  99. package/dist/types/cachedValueAccessor.d.ts +0 -2
  100. package/dist/types/cachedValueAccessor.d.ts.map +0 -1
  101. package/dist/types/cachedValueAccessor.js +0 -2
  102. package/dist/types/commandCondition.d.ts +0 -4
  103. package/dist/types/commandCondition.d.ts.map +0 -1
  104. package/dist/types/commandCondition.js +0 -2
  105. package/dist/types/commandTrigger.d.ts +0 -3
  106. package/dist/types/commandTrigger.d.ts.map +0 -1
  107. package/dist/types/commandTrigger.js +0 -2
  108. package/dist/types/daysOfTheWeek.d.ts +0 -10
  109. package/dist/types/daysOfTheWeek.d.ts.map +0 -1
  110. package/dist/types/daysOfTheWeek.js +0 -13
  111. package/dist/types/handlers.d.ts +0 -17
  112. package/dist/types/handlers.d.ts.map +0 -1
  113. package/dist/types/handlers.js +0 -2
  114. package/dist/types/messageSendingOptions.d.ts +0 -7
  115. package/dist/types/messageSendingOptions.d.ts.map +0 -1
  116. package/dist/types/messageSendingOptions.js +0 -2
  117. package/dist/types/messageTypes.d.ts +0 -16
  118. package/dist/types/messageTypes.d.ts.map +0 -1
  119. package/dist/types/messageTypes.js +0 -17
  120. package/dist/types/replyMessage.d.ts +0 -8
  121. package/dist/types/replyMessage.d.ts.map +0 -1
  122. package/dist/types/replyMessage.js +0 -2
  123. package/dist/types/response.d.ts +0 -27
  124. package/dist/types/response.d.ts.map +0 -1
  125. package/dist/types/response.js +0 -10
  126. package/dist/types/storage.d.ts +0 -12
  127. package/dist/types/storage.d.ts.map +0 -1
  128. package/dist/types/storage.js +0 -2
  129. package/dist/types/timeValues.d.ts +0 -11
  130. package/dist/types/timeValues.d.ts.map +0 -1
  131. package/dist/types/timeValues.js +0 -2
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Logger = void 0;
4
- class JsonLogger {
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
- serializeError(error) {
7
- const plainObject = {};
8
- Object.getOwnPropertyNames(error).forEach(function (key) {
9
- plainObject[key] = error[key];
10
- });
11
- return JSON.stringify(plainObject);
12
- }
13
- logObjectWithTraceId(botName, traceId, chatName,
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- data) {
16
- data.botName = botName;
17
- data.traceId = traceId;
18
- data.chatName = chatName;
19
- console.log(data);
20
- }
21
- logWithTraceId(botName, traceId, chatName, text) {
22
- console.log(`{"botName":"${botName}","traceId":"${traceId}","chatName":"${chatName}","text":"${text}"}`);
23
- }
24
- errorWithTraceId(botName, traceId, chatName, errorObj, extraData) {
25
- console.error(`{"botName":"${botName}","traceId":"${traceId}","chatName":"${chatName}","error":${this.serializeError(errorObj)}${extraData ? `,"extraData":${JSON.stringify(extraData)}` : ''}}`);
26
- }
27
- }
28
- exports.Logger = new JsonLogger();
@@ -1,11 +0,0 @@
1
- import { TaskRecord } from '../entities/taskRecord';
2
- import { Milliseconds } from '../types/timeValues';
3
- declare class TaskScheduler {
4
- activeTasks: TaskRecord[];
5
- stopAll(): void;
6
- createTask(name: string, action: () => void, interval: Milliseconds, executeRightAway: boolean, ownerName: string): void;
7
- createOnetimeTask(name: string, action: () => void, delay: Milliseconds, ownerName: string): void;
8
- }
9
- export declare const Scheduler: TaskScheduler;
10
- export {};
11
- //# sourceMappingURL=taskScheduler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taskScheduler.d.ts","sourceRoot":"","sources":["../../services/taskScheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,cAAM,aAAa;IACf,WAAW,EAAE,UAAU,EAAE,CAAM;IAE/B,OAAO;IAMP,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,IAAI,EAClB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM;IAmBrB,iBAAiB,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,IAAI,EAClB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM;CAoBxB;AAED,eAAO,MAAM,SAAS,eAAsB,CAAC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Scheduler = void 0;
4
- const taskRecord_1 = require("../entities/taskRecord");
5
- const logger_1 = require("./logger");
6
- class TaskScheduler {
7
- constructor() {
8
- this.activeTasks = [];
9
- }
10
- stopAll() {
11
- this.activeTasks.forEach((task) => {
12
- clearInterval(task.taskId);
13
- });
14
- }
15
- createTask(name, action, interval, executeRightAway, ownerName) {
16
- const taskId = setInterval(action, interval);
17
- const task = new taskRecord_1.TaskRecord(name, taskId, interval);
18
- if (executeRightAway) {
19
- setImmediate(action);
20
- }
21
- logger_1.Logger.logWithTraceId(ownerName, `System:TaskScheduler-${ownerName}-${name}`, 'System', `Created task [${taskId}]${name}, that will run every ${interval}ms.`);
22
- this.activeTasks.push(task);
23
- }
24
- createOnetimeTask(name, action, delay, ownerName) {
25
- const actionWrapper = () => {
26
- logger_1.Logger.logWithTraceId(ownerName, `System:TaskScheduler-${ownerName}-${name}`, 'System', `Executing delayed oneshot [${taskId}]${name}`);
27
- action();
28
- };
29
- const taskId = setTimeout(actionWrapper, delay);
30
- logger_1.Logger.logWithTraceId(ownerName, `System:TaskScheduler-${ownerName}-${name}`, 'System', `Created oneshot task [${taskId}]${name}, that will run in ${delay}ms.`);
31
- }
32
- }
33
- exports.Scheduler = new TaskScheduler();
@@ -1,36 +0,0 @@
1
- import { ChatContext } from '../entities/context/chatContext';
2
- import { MessageContext } from '../entities/context/messageContext';
3
- import { IStorageClient } from '../types/storage';
4
- import { Reaction } from '../entities/responses/reaction';
5
- import { IncomingMessage } from '../entities/incomingMessage';
6
- import { BotResponse } from '../types/response';
7
- import { UnpinResponse } from '../entities/responses/unpin';
8
- import { TextMessage } from '../entities/responses/textMessage';
9
- import { VideoMessage } from '../entities/responses/videoMessage';
10
- import { ImageMessage } from '../entities/responses/imageMessage';
11
- import { Telegram } from 'telegraf/typings/telegram';
12
- import { ScheduledAction } from '../entities/actions/scheduledAction';
13
- import { IActionState } from '../types/actionState';
14
- import { CommandAction } from '../entities/actions/commandAction';
15
- export declare class TelegramApiService {
16
- isFlushing: boolean;
17
- messageQueue: BotResponse[];
18
- botName: string;
19
- telegram: Telegram;
20
- chats: Record<number, string>;
21
- storage: IStorageClient;
22
- interactions: IBotApiInteractions;
23
- constructor(botName: string, telegram: Telegram, storage: IStorageClient, chats: Record<string, number>);
24
- flushResponses(): Promise<void>;
25
- private pinIfShould;
26
- private processResponse;
27
- private enqueue;
28
- initializeContextForMessage<TActionState extends IActionState>(ctx: MessageContext<TActionState>, incomingMessage: IncomingMessage, command: CommandAction<TActionState>): MessageContext<TActionState>;
29
- initializeContextForChat<TActionState extends IActionState>(ctx: ChatContext<TActionState>, chatId: number, scheduledAction: ScheduledAction<TActionState>): ChatContext<TActionState>;
30
- }
31
- export interface IBotApiInteractions {
32
- respond: (response: TextMessage | VideoMessage | ImageMessage) => void;
33
- react: (reaction: Reaction) => void;
34
- unpin: (unpinMessage: UnpinResponse) => void;
35
- }
36
- //# sourceMappingURL=telegramApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telegramApi.d.ts","sourceRoot":"","sources":["../../services/telegramApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,qBAAa,kBAAkB;IAC3B,UAAU,UAAS;IACnB,YAAY,EAAE,WAAW,EAAE,CAAM;IAEjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,mBAAmB,CAAC;gBAG9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAc3B,cAAc;YA2BN,WAAW;YAqBX,eAAe;IA2E7B,OAAO,CAAC,OAAO;IAIf,2BAA2B,CAAC,YAAY,SAAS,YAAY,EACzD,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,EACjC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;IAWxC,wBAAwB,CAAC,YAAY,SAAS,YAAY,EACtD,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,CAAC,YAAY,CAAC;CAYrD;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,KAAK,IAAI,CAAC;IACvE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;CAChD"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TelegramApiService = void 0;
4
- const inverseRecord_1 = require("../helpers/inverseRecord");
5
- const logger_1 = require("./logger");
6
- const promises_1 = require("timers/promises");
7
- const TELEGRAM_RATELIMIT_DELAY = 35;
8
- class TelegramApiService {
9
- constructor(botName, telegram, storage, chats) {
10
- this.isFlushing = false;
11
- this.messageQueue = [];
12
- this.telegram = telegram;
13
- this.botName = botName;
14
- this.chats = (0, inverseRecord_1.inverseRecord)(chats);
15
- this.storage = storage;
16
- this.interactions = {
17
- react: (reaction) => this.enqueue(reaction),
18
- respond: (response) => this.enqueue(response),
19
- unpin: (unpinMessage) => this.enqueue(unpinMessage)
20
- };
21
- }
22
- async flushResponses() {
23
- if (this.isFlushing)
24
- return;
25
- this.isFlushing = true;
26
- while (this.messageQueue.length) {
27
- const message = this.messageQueue.pop();
28
- if (!message)
29
- break;
30
- try {
31
- await this.processResponse(message);
32
- await (0, promises_1.setTimeout)(TELEGRAM_RATELIMIT_DELAY);
33
- }
34
- catch (error) {
35
- logger_1.Logger.errorWithTraceId(this.botName, message.traceId, this.chats[message.chatId], error, message);
36
- }
37
- }
38
- this.isFlushing = false;
39
- }
40
- async pinIfShould(response, sentMessage) {
41
- if (response.shouldPin) {
42
- await this.telegram.pinChatMessage(response.chatId, sentMessage.message_id, { disable_notification: true });
43
- await this.storage.updateStateFor(response.action, response.chatId, async (state) => {
44
- state.pinnedMessages.push(sentMessage.message_id);
45
- });
46
- }
47
- }
48
- async processResponse(response) {
49
- let sentMessage;
50
- switch (response.kind) {
51
- case 'text':
52
- sentMessage = await this.telegram.sendMessage(response.chatId, response.content, {
53
- reply_to_message_id: response.replyId,
54
- parse_mode: 'MarkdownV2',
55
- disable_web_page_preview: response.disableWebPreview
56
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- });
58
- await this.pinIfShould(response, sentMessage);
59
- break;
60
- case 'image':
61
- sentMessage = await this.telegram.sendPhoto(response.chatId, response.content, response.replyId
62
- ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
- { reply_to_message_id: response.replyId }
64
- : undefined);
65
- await this.pinIfShould(response, sentMessage);
66
- break;
67
- case 'video':
68
- sentMessage = await this.telegram.sendVideo(response.chatId, response.content, response.replyId
69
- ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
- { reply_to_message_id: response.replyId }
71
- : undefined);
72
- await this.pinIfShould(response, sentMessage);
73
- break;
74
- case 'react':
75
- await this.telegram.setMessageReaction(response.chatId, response.messageId, [
76
- {
77
- type: 'emoji',
78
- emoji: response.emoji
79
- }
80
- ], true);
81
- return;
82
- case 'unpin':
83
- await this.telegram.unpinChatMessage(response.chatId, response.messageId);
84
- await this.storage.updateStateFor(response.action, response.chatId, async (state) => {
85
- state.pinnedMessages = state.pinnedMessages.filter((x) => x != response.messageId);
86
- });
87
- break;
88
- }
89
- }
90
- enqueue(response) {
91
- this.messageQueue.push(response);
92
- }
93
- initializeContextForMessage(ctx, incomingMessage, command) {
94
- return ctx.initializeMessageContext(this.botName, command, this.interactions, incomingMessage, this.storage);
95
- }
96
- initializeContextForChat(ctx, chatId, scheduledAction) {
97
- return ctx.initializeChatContext(this.botName, scheduledAction, this.interactions, chatId, this.chats[chatId], `Scheduled:${scheduledAction.key}:${chatId}`, this.storage);
98
- }
99
- }
100
- exports.TelegramApiService = TelegramApiService;
@@ -1,5 +0,0 @@
1
- export interface IActionState {
2
- lastExecutedDate: number;
3
- pinnedMessages: number[];
4
- }
5
- //# sourceMappingURL=actionState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionState.d.ts","sourceRoot":"","sources":["../../types/actionState.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- import { IActionState } from './actionState';
2
- export type ActionKey = string & {
3
- __brand: 'actionKey';
4
- };
5
- export interface IActionWithState {
6
- key: ActionKey;
7
- stateConstructor: () => IActionState;
8
- }
9
- //# sourceMappingURL=actionWithState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionWithState.d.ts","sourceRoot":"","sources":["../../types/actionWithState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACxC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- export type CachedValueAccessor = <TResult>(key: string) => Promise<TResult>;
2
- //# sourceMappingURL=cachedValueAccessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cachedValueAccessor.d.ts","sourceRoot":"","sources":["../../types/cachedValueAccessor.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +0,0 @@
1
- import { MessageContext } from '../entities/context/messageContext';
2
- import { IActionState } from './actionState';
3
- export type CommandCondition<TActionState extends IActionState> = (ctx: MessageContext<TActionState>) => Promise<boolean>;
4
- //# sourceMappingURL=commandCondition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandCondition.d.ts","sourceRoot":"","sources":["../../types/commandCondition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,gBAAgB,CAAC,YAAY,SAAS,YAAY,IAAI,CAC9D,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,KAChC,OAAO,CAAC,OAAO,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +0,0 @@
1
- import { MessageTypeValue } from './messageTypes';
2
- export type CommandTrigger = MessageTypeValue | string | RegExp;
3
- //# sourceMappingURL=commandTrigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandTrigger.d.ts","sourceRoot":"","sources":["../../types/commandTrigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +0,0 @@
1
- export declare enum Day {
2
- Sunday = 0,
3
- Monday = 1,
4
- Tuesday = 2,
5
- Wednesday = 3,
6
- Thursday = 4,
7
- Friday = 5,
8
- Saturday = 6
9
- }
10
- //# sourceMappingURL=daysOfTheWeek.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daysOfTheWeek.d.ts","sourceRoot":"","sources":["../../types/daysOfTheWeek.ts"],"names":[],"mappings":"AAAA,oBAAY,GAAG;IACX,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;CACf"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Day = void 0;
4
- var Day;
5
- (function (Day) {
6
- Day[Day["Sunday"] = 0] = "Sunday";
7
- Day[Day["Monday"] = 1] = "Monday";
8
- Day[Day["Tuesday"] = 2] = "Tuesday";
9
- Day[Day["Wednesday"] = 3] = "Wednesday";
10
- Day[Day["Thursday"] = 4] = "Thursday";
11
- Day[Day["Friday"] = 5] = "Friday";
12
- Day[Day["Saturday"] = 6] = "Saturday";
13
- })(Day || (exports.Day = Day = {}));
@@ -1,17 +0,0 @@
1
- import { ChatContext } from '../entities/context/chatContext';
2
- import { MessageContext } from '../entities/context/messageContext';
3
- import { IActionState } from './actionState';
4
- import { CachedValueAccessor } from './cachedValueAccessor';
5
- export type CommandHandler<TActionState extends IActionState> = (
6
- /** Context of action executed in chat, in response to a message. */
7
- ctx: MessageContext<TActionState>,
8
- /** State of an action being executed. */
9
- state: TActionState) => Promise<void>;
10
- export type ScheduledHandler<TActionState extends IActionState> = (
11
- /** Context of action executed in chat. */
12
- ctx: ChatContext<TActionState>,
13
- /** Function that will attempt to get value from cache. If there is no value found, corresponding cached state factory will be called. */
14
- getCached: CachedValueAccessor,
15
- /** State of an action being executed. */
16
- state: TActionState) => Promise<void>;
17
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,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,CAAC;AAEnB,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"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +0,0 @@
1
- export interface MessageSendingOptions {
2
- pin?: boolean;
3
- }
4
- export interface TextMessageSendingOptions extends MessageSendingOptions {
5
- disableWebPreview?: boolean;
6
- }
7
- //# sourceMappingURL=messageSendingOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageSendingOptions.d.ts","sourceRoot":"","sources":["../../types/messageSendingOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACpE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- export declare const MessageType: {
2
- readonly Text: "__msg:Text";
3
- readonly Sticker: "__msg:Sticker";
4
- readonly Animation: "__msg:Animation";
5
- readonly Document: "__msg:Document";
6
- readonly Voice: "__msg:Voice";
7
- readonly Audio: "__msg:Audio";
8
- readonly LeftChatMember: "__msg:LeftChatMember";
9
- readonly NewChatMember: "__msg:NewChatMember";
10
- readonly Poll: "__msg:Poll";
11
- readonly Location: "__msg:Location";
12
- readonly Photo: "__msg:Photo";
13
- readonly Unknown: "__msg:Unknown";
14
- };
15
- export type MessageTypeValue = (typeof MessageType)[keyof typeof MessageType];
16
- //# sourceMappingURL=messageTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../types/messageTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAad,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageType = void 0;
4
- exports.MessageType = {
5
- Text: '__msg:Text',
6
- Sticker: '__msg:Sticker',
7
- Animation: '__msg:Animation',
8
- Document: '__msg:Document',
9
- Voice: '__msg:Voice',
10
- Audio: '__msg:Audio',
11
- LeftChatMember: '__msg:LeftChatMember',
12
- NewChatMember: '__msg:NewChatMember',
13
- Poll: '__msg:Poll',
14
- Location: '__msg:Location',
15
- Photo: '__msg:Photo',
16
- Unknown: '__msg:Unknown'
17
- };
@@ -1,8 +0,0 @@
1
- export interface IReplyMessage<TType> {
2
- content: TType;
3
- chatId: number;
4
- replyId: number | undefined;
5
- traceId: number | string;
6
- disableWebPreview: boolean;
7
- }
8
- //# sourceMappingURL=replyMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replyMessage.d.ts","sourceRoot":"","sources":["../../types/replyMessage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,KAAK;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC9B"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,27 +0,0 @@
1
- import { ImageMessage } from '../entities/responses/imageMessage';
2
- import { Reaction } from '../entities/responses/reaction';
3
- import { TextMessage } from '../entities/responses/textMessage';
4
- import { UnpinResponse } from '../entities/responses/unpin';
5
- import { VideoMessage } from '../entities/responses/videoMessage';
6
- import { IActionWithState } from './actionWithState';
7
- export declare const BotResponseTypes: {
8
- readonly unpin: "unpin";
9
- readonly text: "text";
10
- readonly image: "image";
11
- readonly video: "video";
12
- readonly react: "react";
13
- };
14
- export type BotResponse = UnpinResponse | Reaction | TextMessage | VideoMessage | ImageMessage;
15
- export interface IChatResponse {
16
- kind: keyof typeof BotResponseTypes;
17
- chatId: number;
18
- traceId: number | string;
19
- action: IActionWithState;
20
- }
21
- export interface IReplyMessage<TType> extends IChatResponse {
22
- content: TType;
23
- replyId: number | undefined;
24
- disableWebPreview: boolean;
25
- shouldPin: boolean;
26
- }
27
- //# sourceMappingURL=response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../types/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,YAAY,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,OAAO,gBAAgB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa,CAAC,KAAK,CAAE,SAAQ,aAAa;IACvD,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACtB"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BotResponseTypes = void 0;
4
- exports.BotResponseTypes = {
5
- unpin: 'unpin',
6
- text: 'text',
7
- image: 'image',
8
- video: 'video',
9
- react: 'react'
10
- };
@@ -1,12 +0,0 @@
1
- import { ActionExecutionResult } from '../entities/actionExecutionResult';
2
- import { IActionState } from './actionState';
3
- import { ActionKey, IActionWithState } from './actionWithState';
4
- export interface IStorageClient {
5
- updateStateFor<TActionState extends IActionState>(action: IActionWithState, chatId: number, update: (state: TActionState) => Promise<void>): Promise<void>;
6
- close(): Promise<void>;
7
- load<TActionState extends IActionState>(key: ActionKey): Promise<Record<number, TActionState>>;
8
- saveMetadata(actions: IActionWithState[], botName: string): Promise<void>;
9
- getActionState<TActionState extends IActionState>(action: IActionWithState, chatId: number): Promise<TActionState>;
10
- saveActionExecutionResult(action: IActionWithState, chatId: number, transactionResult: ActionExecutionResult): Promise<void>;
11
- }
12
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../types/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,cAAc,CAAC,YAAY,SAAS,YAAY,EAC5C,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,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,CAAC,CAAC,CAAC;IACzC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,cAAc,CAAC,YAAY,SAAS,YAAY,EAC5C,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB,yBAAyB,CACrB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,qBAAqB,GACzC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +0,0 @@
1
- export type Milliseconds = number & {
2
- __brand: 'ms';
3
- };
4
- export type Seconds = number & {
5
- __brand: 's';
6
- };
7
- export type Hours = number & {
8
- __brand: 'h';
9
- };
10
- 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;
11
- //# sourceMappingURL=timeValues.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeValues.d.ts","sourceRoot":"","sources":["../../types/timeValues.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAE9C,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"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });