@mtkruto/node 0.1.132 → 0.1.133
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/esm/3_types.d.ts +3 -0
- package/esm/3_types.js +3 -0
- package/esm/4_constants.d.ts +2 -2
- package/esm/4_constants.js +2 -2
- package/esm/client/0_utilities.d.ts +2 -2
- package/esm/client/0_utilities.js +3 -5
- package/esm/client/3_types.d.ts +10 -5
- package/esm/client/4_composer.d.ts +4 -4
- package/esm/client/4_composer.js +13 -1
- package/esm/client/5_client.d.ts +36 -36
- package/esm/client/5_client.js +181 -177
- package/esm/tl/2_types.d.ts +313 -24
- package/esm/tl/2_types.js +982 -46
- package/esm/tl/3_functions.d.ts +95 -32
- package/esm/tl/3_functions.js +227 -66
- package/esm/types/0_chat_photo.d.ts +22 -21
- package/esm/types/0_giveaway_parameters.d.ts +9 -0
- package/esm/types/0_giveaway_parameters.js +9 -0
- package/esm/types/0_message_entity.d.ts +93 -74
- package/esm/types/0_reaction.d.ts +13 -10
- package/esm/types/0_reaction.js +16 -1
- package/esm/types/1_bot_command_scope.d.ts +32 -27
- package/esm/types/1_chat_p.d.ts +76 -68
- package/esm/types/1_giveaway.d.ts +8 -0
- package/esm/types/1_giveaway.js +7 -0
- package/esm/types/1_keyboard_button.d.ts +62 -56
- package/esm/types/1_keyboard_button.js +3 -0
- package/esm/types/1_message_reaction.d.ts +14 -0
- package/esm/types/1_message_reaction.js +22 -0
- package/esm/types/1_user.d.ts +2 -2
- package/esm/types/2_inline_keyboard_button.d.ts +44 -37
- package/esm/types/3_message.d.ts +170 -113
- package/esm/types/3_message.js +218 -121
- package/esm/types/4_chat.d.ts +32 -29
- package/package.json +1 -1
- package/script/3_types.d.ts +3 -0
- package/script/3_types.js +3 -0
- package/script/4_constants.d.ts +2 -2
- package/script/4_constants.js +2 -2
- package/script/client/0_utilities.d.ts +2 -2
- package/script/client/0_utilities.js +3 -5
- package/script/client/3_types.d.ts +10 -5
- package/script/client/4_composer.d.ts +4 -4
- package/script/client/4_composer.js +13 -1
- package/script/client/5_client.d.ts +36 -36
- package/script/client/5_client.js +180 -176
- package/script/tl/2_types.d.ts +313 -24
- package/script/tl/2_types.js +1169 -217
- package/script/tl/3_functions.d.ts +95 -32
- package/script/tl/3_functions.js +241 -77
- package/script/types/0_chat_photo.d.ts +22 -21
- package/script/types/0_giveaway_parameters.d.ts +9 -0
- package/script/types/0_giveaway_parameters.js +13 -0
- package/script/types/0_message_entity.d.ts +93 -74
- package/script/types/0_reaction.d.ts +13 -10
- package/script/types/0_reaction.js +19 -0
- package/script/types/1_bot_command_scope.d.ts +32 -27
- package/script/types/1_chat_p.d.ts +76 -68
- package/script/types/1_giveaway.d.ts +8 -0
- package/script/types/1_giveaway.js +11 -0
- package/script/types/1_keyboard_button.d.ts +62 -56
- package/script/types/1_keyboard_button.js +3 -0
- package/script/types/1_message_reaction.d.ts +14 -0
- package/script/types/1_message_reaction.js +26 -0
- package/script/types/1_user.d.ts +2 -2
- package/script/types/2_inline_keyboard_button.d.ts +44 -37
- package/script/types/3_message.d.ts +170 -113
- package/script/types/3_message.js +220 -122
- package/script/types/4_chat.d.ts +32 -29
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.constructMessage = void 0;
|
|
3
|
+
exports.constructMessage = exports.assertMessageType = void 0;
|
|
4
4
|
const _0_deps_js_1 = require("../0_deps.js");
|
|
5
5
|
const _1_utilities_js_1 = require("../1_utilities.js");
|
|
6
6
|
const _2_tl_js_1 = require("../2_tl.js");
|
|
@@ -15,19 +15,69 @@ const _0_reply_keyboard_remove_js_1 = require("./0_reply_keyboard_remove.js");
|
|
|
15
15
|
const _0_venue_js_1 = require("./0_venue.js");
|
|
16
16
|
const _0_voice_js_1 = require("./0_voice.js");
|
|
17
17
|
const _1_animation_js_1 = require("./1_animation.js");
|
|
18
|
-
const _1_reply_quote_js_1 = require("./1_reply_quote.js");
|
|
19
18
|
const _1_chat_p_js_1 = require("./1_chat_p.js");
|
|
20
19
|
const _1_document_js_1 = require("./1_document.js");
|
|
20
|
+
const _1_reply_quote_js_1 = require("./1_reply_quote.js");
|
|
21
21
|
const _1_photo_js_1 = require("./1_photo.js");
|
|
22
22
|
const _1_poll_js_1 = require("./1_poll.js");
|
|
23
23
|
const _1_sticker_js_1 = require("./1_sticker.js");
|
|
24
24
|
const _1_user_js_1 = require("./1_user.js");
|
|
25
25
|
const _1_video_note_js_1 = require("./1_video_note.js");
|
|
26
26
|
const _1_video_js_1 = require("./1_video.js");
|
|
27
|
+
const _1_message_reaction_js_1 = require("./1_message_reaction.js");
|
|
28
|
+
const _1_giveaway_js_1 = require("./1_giveaway.js");
|
|
27
29
|
const _2_game_js_1 = require("./2_game.js");
|
|
28
30
|
const _2_reply_keyboard_markup_js_1 = require("./2_reply_keyboard_markup.js");
|
|
29
31
|
const _3_inline_keyboard_markup_js_1 = require("./3_inline_keyboard_markup.js");
|
|
30
32
|
const d = (0, _0_deps_js_1.debug)("types/Message");
|
|
33
|
+
const keys = {
|
|
34
|
+
text: ["text"],
|
|
35
|
+
photo: ["photo"],
|
|
36
|
+
document: ["document"],
|
|
37
|
+
video: ["video"],
|
|
38
|
+
sticker: ["sticker"],
|
|
39
|
+
animation: ["animation"],
|
|
40
|
+
voice: ["voice"],
|
|
41
|
+
audio: ["audio"],
|
|
42
|
+
dice: ["dice"],
|
|
43
|
+
videoNote: ["videoNote"],
|
|
44
|
+
contact: ["contact"],
|
|
45
|
+
game: ["game"],
|
|
46
|
+
poll: ["poll"],
|
|
47
|
+
venue: ["venue"],
|
|
48
|
+
location: ["location"],
|
|
49
|
+
newChatMembers: ["newChatMembers"],
|
|
50
|
+
leftChatMember: ["leftChatMember"],
|
|
51
|
+
newChatTitle: ["newChatTitle"],
|
|
52
|
+
newChatPhoto: ["newChatPhoto"],
|
|
53
|
+
deletedChatPhoto: ["deletedChatPhoto"],
|
|
54
|
+
groupCreated: ["groupCreated", "newChatMembers"],
|
|
55
|
+
supergroupCreated: ["supergroupCreated"],
|
|
56
|
+
channelCreated: ["channelCreated"],
|
|
57
|
+
newAutoDeleteTime: ["newAutoDeleteTime"],
|
|
58
|
+
chatMigratedTo: ["chatMigratedTo"],
|
|
59
|
+
chatMigratedFrom: ["chatMigratedFrom"],
|
|
60
|
+
pinnedMessage: ["pinnedMessage"],
|
|
61
|
+
userShared: ["userShared"],
|
|
62
|
+
writeAccessAllowed: ["writeAccessAllowed"],
|
|
63
|
+
forumTopicCreated: ["forumTopicCreated"],
|
|
64
|
+
forumTopicEdited: ["forumTopicEdited"],
|
|
65
|
+
forumTopicClosed: ["forumTopicClosed"],
|
|
66
|
+
forumTopicReopened: ["forumTopicReopened"],
|
|
67
|
+
videoChatScheduled: ["videoChatScheduled"],
|
|
68
|
+
videoChatStarted: ["videoChatStarted"],
|
|
69
|
+
videoChatEnded: ["videoChatEnded"],
|
|
70
|
+
giveaway: ["giveaway"],
|
|
71
|
+
};
|
|
72
|
+
function assertMessageType(message, type) {
|
|
73
|
+
for (const key of keys[type]) {
|
|
74
|
+
if (!(key in message) || message[key] === undefined) {
|
|
75
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return message;
|
|
79
|
+
}
|
|
80
|
+
exports.assertMessageType = assertMessageType;
|
|
31
81
|
async function getSender(message_, getEntity) {
|
|
32
82
|
if (message_.from_id instanceof _2_tl_js_1.types.PeerUser) {
|
|
33
83
|
const entity = await getEntity(message_.from_id);
|
|
@@ -74,116 +124,142 @@ async function constructServiceMessage(message_, chat, getEntity, getMessage) {
|
|
|
74
124
|
};
|
|
75
125
|
Object.assign(message, await getSender(message_, getEntity));
|
|
76
126
|
if (message_.action instanceof _2_tl_js_1.types.MessageActionChatAddUser) {
|
|
77
|
-
|
|
127
|
+
const newChatMembers = new Array();
|
|
78
128
|
for (const user_ of message_.action.users) {
|
|
79
129
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: user_ }));
|
|
80
130
|
if (entity) {
|
|
81
131
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
82
|
-
|
|
132
|
+
newChatMembers.push(user);
|
|
83
133
|
}
|
|
84
134
|
else {
|
|
85
135
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
86
136
|
}
|
|
87
137
|
}
|
|
138
|
+
return { ...message, newChatMembers };
|
|
88
139
|
}
|
|
89
140
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatDeleteUser) {
|
|
90
141
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: message_.action.user_id }));
|
|
91
142
|
if (entity) {
|
|
92
143
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
93
|
-
|
|
144
|
+
const leftChatMember = user;
|
|
145
|
+
return { ...message, leftChatMember };
|
|
94
146
|
}
|
|
95
147
|
else {
|
|
96
148
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
97
149
|
}
|
|
98
150
|
}
|
|
99
151
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatEditTitle) {
|
|
100
|
-
|
|
152
|
+
const newChatTitle = message_.action.title;
|
|
153
|
+
return { ...message, newChatTitle };
|
|
101
154
|
}
|
|
102
155
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatEditPhoto) {
|
|
103
|
-
|
|
156
|
+
const newChatPhoto = (0, _1_photo_js_1.constructPhoto)(message_.action.photo[_2_tl_js_1.as](_2_tl_js_1.types.Photo));
|
|
157
|
+
return { ...message, newChatPhoto };
|
|
104
158
|
}
|
|
105
159
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatDeletePhoto) {
|
|
106
|
-
|
|
160
|
+
const deletedChatPhoto = true;
|
|
161
|
+
return { ...message, deletedChatPhoto };
|
|
107
162
|
}
|
|
108
163
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatCreate) {
|
|
109
|
-
|
|
110
|
-
|
|
164
|
+
const groupCreated = true;
|
|
165
|
+
const newChatMembers = new Array();
|
|
111
166
|
for (const user_ of message_.action.users) {
|
|
112
167
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: user_ }));
|
|
113
168
|
if (entity) {
|
|
114
169
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
115
|
-
|
|
170
|
+
newChatMembers.push(user);
|
|
116
171
|
}
|
|
117
172
|
else {
|
|
118
173
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
119
174
|
}
|
|
120
175
|
}
|
|
176
|
+
return { ...message, groupCreated, newChatMembers };
|
|
121
177
|
}
|
|
122
178
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChannelCreate) {
|
|
123
179
|
if (message.chat.type == "channel") {
|
|
124
|
-
|
|
180
|
+
const channelCreated = true;
|
|
181
|
+
return { ...message, channelCreated };
|
|
125
182
|
}
|
|
126
183
|
else if (message.chat.type == "supergroup") {
|
|
127
|
-
|
|
184
|
+
const supergroupCreated = true;
|
|
185
|
+
return { ...message, supergroupCreated };
|
|
128
186
|
}
|
|
129
187
|
else {
|
|
130
188
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
131
189
|
}
|
|
132
190
|
}
|
|
133
191
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatMigrateTo) {
|
|
134
|
-
|
|
192
|
+
const chatMigratedTo = _1_utilities_js_1.ZERO_CHANNEL_ID + Number(-message_.action.channel_id);
|
|
193
|
+
return { ...message, chatMigratedTo };
|
|
135
194
|
}
|
|
136
195
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChannelMigrateFrom) {
|
|
137
|
-
|
|
196
|
+
const chatMigratedFrom = Number(-message_.action.chat_id);
|
|
197
|
+
return { ...message, chatMigratedFrom };
|
|
138
198
|
}
|
|
139
199
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionPinMessage) {
|
|
140
200
|
const { replyToMessage } = await getReply(message_, chat, getMessage);
|
|
141
|
-
|
|
201
|
+
if (!replyToMessage) {
|
|
202
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
203
|
+
}
|
|
204
|
+
const pinnedMessage = replyToMessage;
|
|
205
|
+
return { ...message, pinnedMessage };
|
|
142
206
|
}
|
|
143
207
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionRequestedPeer) {
|
|
144
|
-
const user = message_.action.
|
|
145
|
-
|
|
208
|
+
const user = message_.action.peers[0][_2_tl_js_1.as](_2_tl_js_1.types.PeerUser);
|
|
209
|
+
const userShared = { requestId: message_.action.button_id, userId: Number(user.user_id) };
|
|
210
|
+
return { ...message, userShared };
|
|
146
211
|
}
|
|
147
212
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionBotAllowed) {
|
|
148
213
|
const webAppName = message_.action.app ? message_.action.app[_2_tl_js_1.as](_2_tl_js_1.types.BotApp).title : undefined;
|
|
149
|
-
|
|
214
|
+
const writeAccessAllowed = { webAppName };
|
|
215
|
+
return { ...message, writeAccessAllowed };
|
|
150
216
|
}
|
|
151
217
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionTopicCreate) {
|
|
152
|
-
|
|
218
|
+
const forumTopicCreated = {
|
|
153
219
|
name: message_.action.title,
|
|
154
220
|
iconColor: "#" + message_.action.icon_color.toString(16).padStart(6, "0"),
|
|
155
221
|
iconCutsomEmojiId: message_.action.icon_emoji_id ? String(message_.action.icon_emoji_id) : undefined,
|
|
156
222
|
};
|
|
223
|
+
return { ...message, forumTopicCreated };
|
|
157
224
|
}
|
|
158
225
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionTopicEdit) {
|
|
159
226
|
if (message_.action.closed) {
|
|
160
|
-
|
|
227
|
+
const forumTopicClosed = true;
|
|
228
|
+
return { ...message, forumTopicClosed };
|
|
161
229
|
}
|
|
162
230
|
else if (message_.action.title || message_.action.icon_emoji_id) {
|
|
163
|
-
|
|
164
|
-
name: message_.action.title,
|
|
231
|
+
const forumTopicEdited = {
|
|
232
|
+
name: message_.action.title ?? "",
|
|
165
233
|
iconCutsomEmojiId: message_.action.icon_emoji_id ? String(message_.action.icon_emoji_id) : undefined,
|
|
166
234
|
};
|
|
235
|
+
return { ...message, forumTopicEdited };
|
|
167
236
|
}
|
|
168
237
|
else {
|
|
169
|
-
|
|
238
|
+
const forumTopicReopened = true;
|
|
239
|
+
return { ...message, forumTopicReopened };
|
|
170
240
|
}
|
|
171
241
|
}
|
|
172
242
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionGroupCallScheduled) {
|
|
173
|
-
|
|
243
|
+
const videoChatScheduled = { startDate: new Date(message_.action.schedule_date * 1000) };
|
|
244
|
+
return { ...message, videoChatScheduled };
|
|
174
245
|
}
|
|
175
246
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionGroupCall) {
|
|
176
247
|
if (message_.action.duration) {
|
|
177
|
-
|
|
248
|
+
const videoChatEnded = { duration: message_.action.duration };
|
|
249
|
+
return { ...message, videoChatEnded };
|
|
178
250
|
}
|
|
179
251
|
else {
|
|
180
|
-
|
|
252
|
+
const videoChatStarted = true;
|
|
253
|
+
return { ...message, videoChatStarted };
|
|
181
254
|
}
|
|
182
255
|
}
|
|
183
256
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionSetMessagesTTL) {
|
|
184
|
-
|
|
257
|
+
const newAutoDeleteTime = message_.action.period || 0;
|
|
258
|
+
return { ...message, newAutoDeleteTime };
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
185
262
|
}
|
|
186
|
-
return (0, _1_utilities_js_1.cleanObject)(message);
|
|
187
263
|
}
|
|
188
264
|
async function constructMessage(message_, getEntity, getMessage, getStickerSetName, getReply_ = true) {
|
|
189
265
|
if (!(message_ instanceof _2_tl_js_1.types.Message) && !(message_ instanceof _2_tl_js_1.types.MessageService)) {
|
|
@@ -235,6 +311,10 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
235
311
|
isTopicMessage: false,
|
|
236
312
|
hasProtectedContent: message_.noforwards || false,
|
|
237
313
|
};
|
|
314
|
+
if (message_.reactions) {
|
|
315
|
+
const recentReactions = message_.reactions.recent_reactions ?? [];
|
|
316
|
+
message.reactions = message_.reactions.results.map((v) => (0, _1_message_reaction_js_1.constructMessageReaction)(v, recentReactions));
|
|
317
|
+
}
|
|
238
318
|
if (message_.reply_to instanceof _2_tl_js_1.types.MessageReplyHeader && message_.reply_to.reply_to_msg_id) {
|
|
239
319
|
if (message_.reply_to.quote) {
|
|
240
320
|
message.replyQuote = (0, _1_reply_quote_js_1.constructReplyQuote)(message_.reply_to.quote_text, message_.reply_to.quote_offset, message_.reply_to.quote_entities);
|
|
@@ -245,31 +325,6 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
245
325
|
Object.assign(message, await getReply(message_, chat_, getMessage));
|
|
246
326
|
}
|
|
247
327
|
Object.assign(message, await getSender(message_, getEntity));
|
|
248
|
-
if (message_.media instanceof _2_tl_js_1.types.MessageMediaPhoto || message_.media instanceof _2_tl_js_1.types.MessageMediaDocument) {
|
|
249
|
-
message.hasMediaSpoiler = message_.media.spoiler || false;
|
|
250
|
-
}
|
|
251
|
-
if (message_.grouped_id != undefined) {
|
|
252
|
-
message.mediaGroupId = String(message_.grouped_id);
|
|
253
|
-
}
|
|
254
|
-
if (message_.message) {
|
|
255
|
-
if (message_.media == undefined) {
|
|
256
|
-
message.text = message_.message;
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
message.caption = message_.message;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
if (message_.entities != undefined) {
|
|
263
|
-
if (message_.media == undefined) {
|
|
264
|
-
message.entities = message_.entities.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => v);
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
message.captionEntities = message_.entities.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => v);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
if (message_.edit_date != undefined) {
|
|
271
|
-
message.editDate = new Date(message_.edit_date * 1000);
|
|
272
|
-
}
|
|
273
328
|
if (message_.reply_markup) {
|
|
274
329
|
if (message_.reply_markup instanceof _2_tl_js_1.types.ReplyKeyboardMarkup) {
|
|
275
330
|
message.replyMarkup = (0, _2_reply_keyboard_markup_js_1.constructReplyKeyboardMarkup)(message_.reply_markup);
|
|
@@ -324,82 +379,125 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
324
379
|
}
|
|
325
380
|
}
|
|
326
381
|
}
|
|
327
|
-
if (message_.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
382
|
+
if (message_.grouped_id != undefined) {
|
|
383
|
+
message.mediaGroupId = String(message_.grouped_id);
|
|
384
|
+
}
|
|
385
|
+
if (message_.edit_date != undefined) {
|
|
386
|
+
message.editDate = new Date(message_.edit_date * 1000);
|
|
387
|
+
}
|
|
388
|
+
if (message_.message && message_.media === undefined) {
|
|
389
|
+
return {
|
|
390
|
+
...message,
|
|
391
|
+
text: message_.message,
|
|
392
|
+
entities: message_.entities?.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => !!v) ?? [],
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
const messageMedia = {
|
|
396
|
+
...message,
|
|
397
|
+
caption: message_.message,
|
|
398
|
+
captionEntities: message_.entities?.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => !!v) ?? [],
|
|
399
|
+
};
|
|
400
|
+
if (message_.media instanceof _2_tl_js_1.types.MessageMediaPhoto || message_.media instanceof _2_tl_js_1.types.MessageMediaDocument) {
|
|
401
|
+
messageMedia.hasMediaSpoiler = message_.media.spoiler || false;
|
|
402
|
+
}
|
|
403
|
+
let m = null;
|
|
404
|
+
if (message_.media instanceof _2_tl_js_1.types.MessageMediaPhoto) {
|
|
405
|
+
if (!message_.media.photo) {
|
|
406
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
332
407
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
if (audio.voice) {
|
|
363
|
-
message.voice = (0, _0_voice_js_1.constructVoice)(document, audio, getFileId(_0__file_id_js_1.FileType.Voice), fileUniqueId);
|
|
364
|
-
}
|
|
365
|
-
else {
|
|
366
|
-
message.audio = (0, _0_audio_js_1.constructAudio)(document, audio, getFileId(_0__file_id_js_1.FileType.Audio), fileUniqueId);
|
|
367
|
-
}
|
|
408
|
+
const photo = (0, _1_photo_js_1.constructPhoto)(message_.media.photo[_2_tl_js_1.as](_2_tl_js_1.types.Photo));
|
|
409
|
+
m = { ...messageMedia, photo };
|
|
410
|
+
}
|
|
411
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaDice) {
|
|
412
|
+
const dice = (0, _0_dice_js_1.constructDice)(message_.media);
|
|
413
|
+
m = { ...message, dice };
|
|
414
|
+
}
|
|
415
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaDocument) {
|
|
416
|
+
const { document } = message_.media;
|
|
417
|
+
if (document instanceof _2_tl_js_1.types.Document) {
|
|
418
|
+
const getFileId = (type) => new _0__file_id_js_1.FileID(null, null, type, document.dc_id, {
|
|
419
|
+
mediaId: document.id,
|
|
420
|
+
accessHash: document.access_hash,
|
|
421
|
+
fileReference: document.file_reference,
|
|
422
|
+
}).encode();
|
|
423
|
+
const fileUniqueId = new _0__file_id_js_1.FileUniqueID(_0__file_id_js_1.FileUniqueType.Document, { mediaId: document.id }).encode();
|
|
424
|
+
const animated = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeAnimated);
|
|
425
|
+
const audio = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeAudio);
|
|
426
|
+
const fileName = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeFilename);
|
|
427
|
+
const sticker = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeSticker);
|
|
428
|
+
const video = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeVideo);
|
|
429
|
+
if (animated) {
|
|
430
|
+
const animation = (0, _1_animation_js_1.constructAnimation)(document, video, fileName, getFileId(_0__file_id_js_1.FileType.Animation), fileUniqueId);
|
|
431
|
+
m = { ...messageMedia, animation };
|
|
432
|
+
}
|
|
433
|
+
else if (video) {
|
|
434
|
+
if (video.round_message) {
|
|
435
|
+
const videoNote = (0, _1_video_note_js_1.constructVideoNote)(document, video, getFileId(_0__file_id_js_1.FileType.VideoNote), fileUniqueId);
|
|
436
|
+
m = { ...message, videoNote };
|
|
368
437
|
}
|
|
369
|
-
else
|
|
370
|
-
|
|
438
|
+
else {
|
|
439
|
+
const video_ = (0, _1_video_js_1.constructVideo)(document, video, fileName?.file_name, getFileId(_0__file_id_js_1.FileType.Video), fileUniqueId);
|
|
440
|
+
m = { ...messageMedia, video: video_ };
|
|
371
441
|
}
|
|
372
|
-
|
|
373
|
-
|
|
442
|
+
}
|
|
443
|
+
else if (audio) {
|
|
444
|
+
if (audio.voice) {
|
|
445
|
+
const voice = (0, _0_voice_js_1.constructVoice)(document, audio, getFileId(_0__file_id_js_1.FileType.Voice), fileUniqueId);
|
|
446
|
+
m = { ...messageMedia, voice };
|
|
374
447
|
}
|
|
375
448
|
else {
|
|
376
|
-
|
|
449
|
+
const audio_ = (0, _0_audio_js_1.constructAudio)(document, audio, getFileId(_0__file_id_js_1.FileType.Audio), fileUniqueId);
|
|
450
|
+
m = { ...messageMedia, audio: audio_ };
|
|
377
451
|
}
|
|
378
452
|
}
|
|
453
|
+
else if (sticker) {
|
|
454
|
+
const sticker = await (0, _1_sticker_js_1.constructSticker)(document, getFileId(_0__file_id_js_1.FileType.Sticker), fileUniqueId, getStickerSetName);
|
|
455
|
+
m = { ...message, sticker };
|
|
456
|
+
}
|
|
457
|
+
else if (fileName) {
|
|
458
|
+
const document_ = (0, _1_document_js_1.constructDocument)(document, fileName, getFileId(_0__file_id_js_1.FileType.Document), fileUniqueId);
|
|
459
|
+
m = { ...messageMedia, document: document_ };
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
const document_ = (0, _1_document_js_1.constructDocument)(document, new _2_tl_js_1.types.DocumentAttributeFilename({ file_name: "Unknown" }), getFileId(_0__file_id_js_1.FileType.Document), fileUniqueId);
|
|
463
|
+
m = { ...messageMedia, document: document_ };
|
|
464
|
+
}
|
|
379
465
|
}
|
|
380
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaContact) {
|
|
381
|
-
message.contact = (0, _0_contact_js_1.constructContact)(message_.media);
|
|
382
|
-
}
|
|
383
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGame) {
|
|
384
|
-
message.game = (0, _2_game_js_1.constructGame)(message_.media);
|
|
385
|
-
}
|
|
386
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaPoll) {
|
|
387
|
-
message.poll = (0, _1_poll_js_1.constructPoll)(message_.media);
|
|
388
|
-
}
|
|
389
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaVenue) {
|
|
390
|
-
message.venue = (0, _0_venue_js_1.constructVenue)(message_.media);
|
|
391
|
-
}
|
|
392
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGeo || message_.media instanceof _2_tl_js_1.types.MessageMediaGeoLive) {
|
|
393
|
-
message.location = (0, _0_location_js_1.constructLocation)(message_.media);
|
|
394
|
-
}
|
|
395
|
-
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaWebPage) {
|
|
396
|
-
//
|
|
397
|
-
}
|
|
398
|
-
else {
|
|
399
|
-
// not implemented
|
|
400
|
-
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
401
|
-
}
|
|
402
466
|
}
|
|
403
|
-
|
|
467
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaContact) {
|
|
468
|
+
const contact = (0, _0_contact_js_1.constructContact)(message_.media);
|
|
469
|
+
m = { ...messageMedia, contact };
|
|
470
|
+
}
|
|
471
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGame) {
|
|
472
|
+
const game = (0, _2_game_js_1.constructGame)(message_.media);
|
|
473
|
+
m = { ...message, game };
|
|
474
|
+
}
|
|
475
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaPoll) {
|
|
476
|
+
const poll = (0, _1_poll_js_1.constructPoll)(message_.media);
|
|
477
|
+
m = { ...message, poll };
|
|
478
|
+
}
|
|
479
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaVenue) {
|
|
480
|
+
const venue = (0, _0_venue_js_1.constructVenue)(message_.media);
|
|
481
|
+
m = { ...message, venue };
|
|
482
|
+
}
|
|
483
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGeo || message_.media instanceof _2_tl_js_1.types.MessageMediaGeoLive) {
|
|
484
|
+
const location = (0, _0_location_js_1.constructLocation)(message_.media);
|
|
485
|
+
m = { ...message, location };
|
|
486
|
+
}
|
|
487
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaWebPage) {
|
|
488
|
+
(0, _1_utilities_js_1.UNREACHABLE)(); // TODO: implement
|
|
489
|
+
}
|
|
490
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGiveaway) {
|
|
491
|
+
const giveaway = (0, _1_giveaway_js_1.constructGiveaway)(message_.media);
|
|
492
|
+
m = { ...message, giveaway };
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
// not implemented
|
|
496
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
497
|
+
}
|
|
498
|
+
if (m == null) {
|
|
499
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
500
|
+
}
|
|
501
|
+
return (0, _1_utilities_js_1.cleanObject)(m);
|
|
404
502
|
}
|
|
405
503
|
exports.constructMessage = constructMessage;
|
package/script/types/4_chat.d.ts
CHANGED
|
@@ -1,34 +1,37 @@
|
|
|
1
1
|
import { enums, types } from "../2_tl.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ChatPChannel, ChatPGroup, ChatPPrivate, ChatPSupergroup } from "./1_chat_p.js";
|
|
3
|
+
import { ChatPhotoChat, ChatPhotoUser } from "./0_chat_photo.js";
|
|
4
4
|
import { Message, MessageGetter } from "./3_message.js";
|
|
5
5
|
import { StickerSetNameGetter } from "./1_sticker.js";
|
|
6
6
|
import { EntityGetter } from "./1__getters.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
interface Channel extends Base, ChatP.Channel {
|
|
14
|
-
also?: string[];
|
|
15
|
-
photo?: ChatPhoto.Chat;
|
|
16
|
-
}
|
|
17
|
-
interface Supergroup extends Base, ChatP.Supergroup {
|
|
18
|
-
also?: string[];
|
|
19
|
-
photo?: ChatPhoto.Chat;
|
|
20
|
-
}
|
|
21
|
-
interface Group extends Base, ChatP.Group {
|
|
22
|
-
photo?: ChatPhoto.Chat;
|
|
23
|
-
}
|
|
24
|
-
interface Private extends Base, ChatP.Private {
|
|
25
|
-
also?: string[];
|
|
26
|
-
photo?: ChatPhoto.User;
|
|
27
|
-
}
|
|
7
|
+
/** @unlisted */
|
|
8
|
+
export interface ChatBase {
|
|
9
|
+
order: string;
|
|
10
|
+
lastMessage?: Omit<Message, "replyToMessage">;
|
|
11
|
+
pinned: number;
|
|
28
12
|
}
|
|
29
|
-
|
|
30
|
-
export
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
/** @unlisted */
|
|
14
|
+
export interface ChatChannel extends ChatBase, ChatPChannel {
|
|
15
|
+
also?: string[];
|
|
16
|
+
photo?: ChatPhotoChat;
|
|
17
|
+
}
|
|
18
|
+
/** @unlisted */
|
|
19
|
+
export interface ChatSupergroup extends ChatBase, ChatPSupergroup {
|
|
20
|
+
also?: string[];
|
|
21
|
+
photo?: ChatPhotoChat;
|
|
22
|
+
}
|
|
23
|
+
/** @unlisted */
|
|
24
|
+
export interface ChatGroup extends ChatBase, ChatPGroup {
|
|
25
|
+
photo?: ChatPhotoChat;
|
|
26
|
+
}
|
|
27
|
+
/** @unlisted */
|
|
28
|
+
export interface ChatPrivate extends ChatBase, ChatPPrivate {
|
|
29
|
+
also?: string[];
|
|
30
|
+
photo?: ChatPhotoUser;
|
|
31
|
+
}
|
|
32
|
+
export type Chat = ChatChannel | ChatSupergroup | ChatGroup | ChatPrivate;
|
|
33
|
+
export declare function getChatOrder(lastMessage: Omit<Message, "replyToMessage"> | undefined, pinned: number): string;
|
|
34
|
+
export declare function constructChat(dialog: enums.Dialog, dialogs: types.messages.Dialogs | types.messages.DialogsSlice, pinnedChats: number[], getEntity: EntityGetter, getMessage: MessageGetter, getStickerSetName: StickerSetNameGetter): Promise<Chat>;
|
|
35
|
+
export declare function constructChat2(entity: types.User | types.Chat | types.ChatForbidden | types.Channel | types.ChannelForbidden, pinned: number, lastMessage: Omit<Message, "replyToMessage"> | undefined): Chat;
|
|
36
|
+
export declare function constructChat3(chatId: number, pinned: number, lastMessage: Omit<Message, "replyToMessage"> | undefined, getEntity: EntityGetter): Promise<Chat | null>;
|
|
37
|
+
export declare function constructChat4(chatId: number, pinned: number, lastMessageId: number, getEntity: EntityGetter, getMessage: MessageGetter): Promise<Chat | null>;
|