chz-telegram-bot 0.1.20 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builtin/helpAction.ts +1 -1
- package/bun.lock +307 -0
- package/dist/builtin/helpAction.js +1 -1
- package/dist/dtos/responses/imageMessage.d.ts +5 -4
- package/dist/dtos/responses/imageMessage.d.ts.map +1 -1
- package/dist/dtos/responses/imageMessage.js +2 -2
- package/dist/dtos/responses/textMessage.d.ts +5 -4
- package/dist/dtos/responses/textMessage.d.ts.map +1 -1
- package/dist/dtos/responses/textMessage.js +2 -2
- package/dist/dtos/responses/videoMessage.d.ts +5 -4
- package/dist/dtos/responses/videoMessage.d.ts.map +1 -1
- package/dist/dtos/responses/videoMessage.js +2 -2
- package/dist/entities/botInstance.d.ts +2 -0
- package/dist/entities/botInstance.d.ts.map +1 -1
- package/dist/entities/botInstance.js +23 -2
- package/dist/entities/context/chatContext.d.ts +25 -21
- package/dist/entities/context/chatContext.d.ts.map +1 -1
- package/dist/entities/context/chatContext.js +32 -38
- package/dist/entities/context/messageContext.d.ts +60 -28
- package/dist/entities/context/messageContext.d.ts.map +1 -1
- package/dist/entities/context/messageContext.js +79 -49
- package/dist/services/telegramApi.d.ts.map +1 -1
- package/dist/services/telegramApi.js +27 -11
- package/dist/types/replyInfo.d.ts +6 -0
- package/dist/types/replyInfo.d.ts.map +1 -0
- package/dist/types/replyInfo.js +10 -0
- package/dist/types/response.d.ts +3 -2
- package/dist/types/response.d.ts.map +1 -1
- package/dtos/responses/imageMessage.ts +6 -5
- package/dtos/responses/textMessage.ts +6 -5
- package/dtos/responses/videoMessage.ts +6 -5
- package/entities/botInstance.ts +44 -3
- package/entities/context/chatContext.ts +58 -72
- package/entities/context/messageContext.ts +133 -88
- package/package.json +30 -29
- package/services/telegramApi.ts +30 -14
- package/types/replyInfo.ts +9 -0
- package/types/response.ts +3 -2
package/services/telegramApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Message } from 'telegraf/types';
|
|
2
2
|
import { IStorageClient } from '../types/storage';
|
|
3
|
-
import { BotResponse,
|
|
3
|
+
import { BotResponse, IReplyResponse } from '../types/response';
|
|
4
4
|
import { Telegram } from 'telegraf/typings/telegram';
|
|
5
5
|
import { ILogger } from '../types/logger';
|
|
6
6
|
import { QueueItem, ResponseProcessingQueue } from './responseProcessingQueue';
|
|
@@ -60,7 +60,7 @@ export class TelegramApiService {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
private async pinIfShould<T>(
|
|
63
|
-
response:
|
|
63
|
+
response: IReplyResponse<T>,
|
|
64
64
|
sentMessage: Message
|
|
65
65
|
) {
|
|
66
66
|
if (response.shouldPin) {
|
|
@@ -89,11 +89,17 @@ export class TelegramApiService {
|
|
|
89
89
|
response.chatInfo.id,
|
|
90
90
|
response.content,
|
|
91
91
|
{
|
|
92
|
-
|
|
92
|
+
reply_parameters: response.replyInfo
|
|
93
|
+
? {
|
|
94
|
+
message_id: response.replyInfo.id,
|
|
95
|
+
quote: response.replyInfo.quote
|
|
96
|
+
}
|
|
97
|
+
: undefined,
|
|
93
98
|
parse_mode: 'MarkdownV2',
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
link_preview_options: {
|
|
100
|
+
is_disabled: response.disableWebPreview
|
|
101
|
+
}
|
|
102
|
+
}
|
|
97
103
|
);
|
|
98
104
|
|
|
99
105
|
await this.pinIfShould(response, sentMessage);
|
|
@@ -102,10 +108,15 @@ export class TelegramApiService {
|
|
|
102
108
|
sentMessage = await this.telegram.sendPhoto(
|
|
103
109
|
response.chatInfo.id,
|
|
104
110
|
response.content,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
111
|
+
{
|
|
112
|
+
reply_parameters: response.replyInfo
|
|
113
|
+
? {
|
|
114
|
+
message_id: response.replyInfo.id,
|
|
115
|
+
quote: response.replyInfo.quote
|
|
116
|
+
}
|
|
117
|
+
: undefined,
|
|
118
|
+
parse_mode: 'MarkdownV2'
|
|
119
|
+
}
|
|
109
120
|
);
|
|
110
121
|
|
|
111
122
|
await this.pinIfShould(response, sentMessage);
|
|
@@ -114,10 +125,15 @@ export class TelegramApiService {
|
|
|
114
125
|
sentMessage = await this.telegram.sendVideo(
|
|
115
126
|
response.chatInfo.id,
|
|
116
127
|
response.content,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
128
|
+
{
|
|
129
|
+
reply_parameters: response.replyInfo
|
|
130
|
+
? {
|
|
131
|
+
message_id: response.replyInfo.id,
|
|
132
|
+
quote: response.replyInfo.quote
|
|
133
|
+
}
|
|
134
|
+
: undefined,
|
|
135
|
+
parse_mode: 'MarkdownV2'
|
|
136
|
+
}
|
|
121
137
|
);
|
|
122
138
|
|
|
123
139
|
await this.pinIfShould(response, sentMessage);
|
package/types/response.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { TextMessage } from '../dtos/responses/textMessage';
|
|
|
7
7
|
import { UnpinResponse } from '../dtos/responses/unpin';
|
|
8
8
|
import { VideoMessage } from '../dtos/responses/videoMessage';
|
|
9
9
|
import { IActionState } from './actionState';
|
|
10
|
+
import { ReplyInfo } from './replyInfo';
|
|
10
11
|
import { IActionWithState } from './statefulAction';
|
|
11
12
|
import { TraceId } from './trace';
|
|
12
13
|
|
|
@@ -38,9 +39,9 @@ export interface IChatResponse {
|
|
|
38
39
|
readonly action: IActionWithState<IActionState>;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
export interface
|
|
42
|
+
export interface IReplyResponse<TType> extends IChatResponse {
|
|
42
43
|
readonly content: TType;
|
|
43
|
-
readonly
|
|
44
|
+
readonly replyInfo: ReplyInfo | undefined;
|
|
44
45
|
readonly disableWebPreview: boolean;
|
|
45
46
|
readonly shouldPin: boolean;
|
|
46
47
|
}
|