@mtkruto/node 0.1.132 → 0.1.134
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_errors.d.ts +519 -510
- package/esm/3_errors.js +521 -509
- package/esm/3_types.d.ts +19 -7
- package/esm/3_types.js +19 -7
- package/esm/4_constants.d.ts +2 -2
- package/esm/4_constants.js +2 -2
- package/esm/4_errors.d.ts +7 -12
- package/esm/4_errors.js +6 -7
- package/esm/5_client.d.ts +3 -3
- package/esm/5_client.js +3 -3
- package/esm/client/0_utilities.d.ts +30 -2
- package/esm/client/0_utilities.js +13 -5
- package/esm/client/1_composer.d.ts +30 -0
- package/esm/client/{4_composer.js → 1_composer.js} +15 -2
- package/esm/client/2_client_plain.d.ts +1 -1
- package/esm/client/2_client_plain.js +1 -1
- package/esm/client/{3_types.d.ts → 3_params.d.ts} +68 -172
- package/esm/client/3_params.js +1 -0
- package/esm/client/{5_client.d.ts → 4_client.d.ts} +89 -57
- package/esm/client/{5_client.js → 4_client.js} +499 -308
- package/esm/client/5_composer.d.ts +4 -0
- package/esm/client/5_composer.js +3 -0
- package/esm/storage/0_storage.d.ts +4 -1
- package/esm/storage/0_storage.js +36 -7
- package/esm/storage/1_storage_indexed_db.d.ts +6 -2
- package/esm/storage/1_storage_indexed_db.js +7 -5
- package/esm/storage/1_storage_local_storage.d.ts +1 -1
- package/esm/storage/1_storage_local_storage.js +1 -1
- package/esm/storage/1_storage_memory.d.ts +1 -1
- package/esm/storage/1_storage_memory.js +1 -1
- package/esm/storage/1_storage_session_storage.d.ts +1 -1
- package/esm/storage/1_storage_session_storage.js +1 -1
- 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/tl/3_utilities.d.ts +1 -0
- package/esm/tl/3_utilities.js +14 -0
- package/esm/tl/6_message.js +1 -1
- package/esm/types/0_authorization_state.d.ts +5 -0
- package/esm/types/0_authorization_state.js +1 -0
- package/esm/types/0_chat_photo.d.ts +22 -21
- package/esm/types/0_connection_state.d.ts +17 -0
- package/esm/types/0_connection_state.js +1 -0
- package/esm/types/0_giveaway_parameters.d.ts +9 -0
- package/esm/types/0_giveaway_parameters.js +9 -0
- package/esm/types/0_login_url.d.ts +0 -4
- package/esm/types/0_mask_position.d.ts +0 -4
- package/esm/types/0_message_entity.d.ts +91 -74
- package/esm/types/0_message_identifier.d.ts +4 -0
- package/esm/types/0_message_identifier.js +1 -0
- package/esm/types/0_network_statistics_entry.d.ts +4 -0
- package/esm/types/0_network_statistics_entry.js +1 -0
- package/esm/types/0_reaction.d.ts +14 -10
- package/esm/types/0_reaction.js +29 -1
- package/esm/types/1__getters.d.ts +3 -0
- package/esm/types/1_bot_command_scope.d.ts +32 -27
- package/esm/types/1_chat_p.d.ts +77 -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 +41 -57
- 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_network_statistics.d.ts +5 -0
- package/esm/types/1_network_statistics.js +1 -0
- package/esm/types/1_poll.d.ts +0 -13
- package/esm/types/1_reaction_count.d.ts +7 -0
- package/esm/types/1_reaction_count.js +6 -0
- package/esm/types/1_user.d.ts +2 -2
- package/esm/types/2_game.d.ts +0 -7
- package/esm/types/2_inline_keyboard_button.d.ts +36 -37
- package/esm/types/2_inline_query.d.ts +0 -6
- package/esm/types/2_message_interactions.d.ts +8 -0
- package/esm/types/2_message_interactions.js +1 -0
- package/esm/types/2_message_reaction_count.d.ts +8 -0
- package/esm/types/2_message_reaction_count.js +1 -0
- package/esm/types/2_reply_keyboard_markup.d.ts +0 -7
- package/esm/types/3_inline_keyboard_markup.d.ts +0 -2
- package/esm/types/4_message.d.ts +457 -0
- package/esm/types/{3_message.js → 4_message.js} +216 -129
- package/{script/types/4_callback_query.d.ts → esm/types/5_callback_query.d.ts} +1 -1
- package/esm/types/5_chat.d.ts +37 -0
- package/esm/types/{4_chat.js → 5_chat.js} +2 -2
- package/esm/types/6_update.d.ts +134 -0
- package/esm/types/6_update.js +1 -0
- package/package.json +1 -1
- package/script/3_errors.d.ts +519 -510
- package/script/3_errors.js +533 -520
- package/script/3_types.d.ts +19 -7
- package/script/3_types.js +19 -7
- package/script/4_constants.d.ts +2 -2
- package/script/4_constants.js +2 -2
- package/script/4_errors.d.ts +7 -12
- package/script/4_errors.js +5 -6
- package/script/5_client.d.ts +3 -3
- package/script/5_client.js +3 -3
- package/script/client/0_utilities.d.ts +30 -2
- package/script/client/0_utilities.js +15 -6
- package/script/client/1_composer.d.ts +30 -0
- package/script/client/{4_composer.js → 1_composer.js} +17 -4
- package/script/client/2_client_plain.d.ts +1 -1
- package/script/client/2_client_plain.js +2 -2
- package/script/client/{3_types.d.ts → 3_params.d.ts} +68 -172
- package/script/client/3_params.js +2 -0
- package/script/client/{5_client.d.ts → 4_client.d.ts} +89 -57
- package/script/client/{5_client.js → 4_client.js} +505 -314
- package/script/client/5_composer.d.ts +4 -0
- package/script/client/{6_composer.js → 5_composer.js} +2 -2
- package/script/storage/0_storage.d.ts +4 -1
- package/script/storage/0_storage.js +36 -7
- package/script/storage/1_storage_indexed_db.d.ts +6 -2
- package/script/storage/1_storage_indexed_db.js +7 -5
- package/script/storage/1_storage_local_storage.d.ts +1 -1
- package/script/storage/1_storage_local_storage.js +1 -1
- package/script/storage/1_storage_memory.d.ts +1 -1
- package/script/storage/1_storage_memory.js +1 -1
- package/script/storage/1_storage_session_storage.d.ts +1 -1
- package/script/storage/1_storage_session_storage.js +1 -1
- 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/tl/3_utilities.d.ts +1 -0
- package/script/tl/3_utilities.js +16 -1
- package/script/tl/6_message.js +1 -1
- package/script/types/0_authorization_state.d.ts +5 -0
- package/script/types/0_authorization_state.js +2 -0
- package/script/types/0_chat_photo.d.ts +22 -21
- package/script/types/0_connection_state.d.ts +17 -0
- package/script/types/0_connection_state.js +2 -0
- package/script/types/0_giveaway_parameters.d.ts +9 -0
- package/script/types/0_giveaway_parameters.js +13 -0
- package/script/types/0_login_url.d.ts +0 -4
- package/script/types/0_mask_position.d.ts +0 -4
- package/script/types/0_message_entity.d.ts +91 -74
- package/script/types/0_message_identifier.d.ts +4 -0
- package/script/types/0_message_identifier.js +2 -0
- package/script/types/0_network_statistics_entry.d.ts +4 -0
- package/script/types/0_network_statistics_entry.js +2 -0
- package/script/types/0_reaction.d.ts +14 -10
- package/script/types/0_reaction.js +33 -0
- package/script/types/1__getters.d.ts +3 -0
- package/script/types/1_bot_command_scope.d.ts +32 -27
- package/script/types/1_chat_p.d.ts +77 -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 +41 -57
- 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_network_statistics.d.ts +5 -0
- package/script/types/1_network_statistics.js +2 -0
- package/script/types/1_poll.d.ts +0 -13
- package/script/types/1_reaction_count.d.ts +7 -0
- package/script/types/1_reaction_count.js +10 -0
- package/script/types/1_user.d.ts +2 -2
- package/script/types/2_game.d.ts +0 -7
- package/script/types/2_inline_keyboard_button.d.ts +36 -37
- package/script/types/2_inline_query.d.ts +0 -6
- package/script/types/2_message_interactions.d.ts +8 -0
- package/script/types/2_message_interactions.js +2 -0
- package/script/types/2_message_reaction_count.d.ts +8 -0
- package/script/types/2_message_reaction_count.js +2 -0
- package/script/types/2_reply_keyboard_markup.d.ts +0 -7
- package/script/types/3_inline_keyboard_markup.d.ts +0 -2
- package/script/types/4_message.d.ts +457 -0
- package/script/types/{3_message.js → 4_message.js} +218 -130
- package/{esm/types/4_callback_query.d.ts → script/types/5_callback_query.d.ts} +1 -1
- package/script/types/5_chat.d.ts +37 -0
- package/script/types/{4_chat.js → 5_chat.js} +3 -3
- package/script/types/6_update.d.ts +134 -0
- package/script/types/6_update.js +2 -0
- package/esm/client/3_types.js +0 -11
- package/esm/client/4_composer.d.ts +0 -31
- package/esm/client/6_composer.d.ts +0 -4
- package/esm/client/6_composer.js +0 -3
- package/esm/types/3_message.d.ts +0 -182
- package/esm/types/4_chat.d.ts +0 -34
- package/script/client/3_types.js +0 -15
- package/script/client/4_composer.d.ts +0 -31
- package/script/client/6_composer.d.ts +0 -4
- package/script/types/3_message.d.ts +0 -182
- package/script/types/4_chat.d.ts +0 -34
- /package/esm/client/{1_client_abstract.d.ts → 0_client_abstract.d.ts} +0 -0
- /package/esm/client/{1_client_abstract.js → 0_client_abstract.js} +0 -0
- /package/esm/types/{0_audio.d.ts → 1_audio.d.ts} +0 -0
- /package/esm/types/{0_audio.js → 1_audio.js} +0 -0
- /package/esm/types/{4_callback_query.js → 5_callback_query.js} +0 -0
- /package/script/client/{1_client_abstract.d.ts → 0_client_abstract.d.ts} +0 -0
- /package/script/client/{1_client_abstract.js → 0_client_abstract.js} +0 -0
- /package/script/types/{0_audio.d.ts → 1_audio.d.ts} +0 -0
- /package/script/types/{0_audio.js → 1_audio.js} +0 -0
- /package/script/types/{4_callback_query.js → 5_callback_query.js} +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
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");
|
|
7
7
|
const _0__file_id_js_1 = require("./0__file_id.js");
|
|
8
|
-
const _0_audio_js_1 = require("./0_audio.js");
|
|
9
8
|
const _0_contact_js_1 = require("./0_contact.js");
|
|
10
9
|
const _0_dice_js_1 = require("./0_dice.js");
|
|
11
10
|
const _0_force_reply_js_1 = require("./0_force_reply.js");
|
|
@@ -15,11 +14,14 @@ const _0_reply_keyboard_remove_js_1 = require("./0_reply_keyboard_remove.js");
|
|
|
15
14
|
const _0_venue_js_1 = require("./0_venue.js");
|
|
16
15
|
const _0_voice_js_1 = require("./0_voice.js");
|
|
17
16
|
const _1_animation_js_1 = require("./1_animation.js");
|
|
18
|
-
const
|
|
17
|
+
const _1_audio_js_1 = require("./1_audio.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_giveaway_js_1 = require("./1_giveaway.js");
|
|
21
|
+
const _1_message_reaction_js_1 = require("./1_message_reaction.js");
|
|
21
22
|
const _1_photo_js_1 = require("./1_photo.js");
|
|
22
23
|
const _1_poll_js_1 = require("./1_poll.js");
|
|
24
|
+
const _1_reply_quote_js_1 = require("./1_reply_quote.js");
|
|
23
25
|
const _1_sticker_js_1 = require("./1_sticker.js");
|
|
24
26
|
const _1_user_js_1 = require("./1_user.js");
|
|
25
27
|
const _1_video_note_js_1 = require("./1_video_note.js");
|
|
@@ -28,6 +30,55 @@ 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
|
+
unsupported: ["unsupported"],
|
|
72
|
+
};
|
|
73
|
+
function assertMessageType(message, type) {
|
|
74
|
+
for (const key of keys[type]) {
|
|
75
|
+
if (!(key in message) || message[key] === undefined) {
|
|
76
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return message;
|
|
80
|
+
}
|
|
81
|
+
exports.assertMessageType = assertMessageType;
|
|
31
82
|
async function getSender(message_, getEntity) {
|
|
32
83
|
if (message_.from_id instanceof _2_tl_js_1.types.PeerUser) {
|
|
33
84
|
const entity = await getEntity(message_.from_id);
|
|
@@ -74,116 +125,133 @@ async function constructServiceMessage(message_, chat, getEntity, getMessage) {
|
|
|
74
125
|
};
|
|
75
126
|
Object.assign(message, await getSender(message_, getEntity));
|
|
76
127
|
if (message_.action instanceof _2_tl_js_1.types.MessageActionChatAddUser) {
|
|
77
|
-
|
|
128
|
+
const newChatMembers = new Array();
|
|
78
129
|
for (const user_ of message_.action.users) {
|
|
79
130
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: user_ }));
|
|
80
131
|
if (entity) {
|
|
81
132
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
82
|
-
|
|
133
|
+
newChatMembers.push(user);
|
|
83
134
|
}
|
|
84
135
|
else {
|
|
85
136
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
86
137
|
}
|
|
87
138
|
}
|
|
139
|
+
return { ...message, newChatMembers };
|
|
88
140
|
}
|
|
89
141
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatDeleteUser) {
|
|
90
142
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: message_.action.user_id }));
|
|
91
143
|
if (entity) {
|
|
92
144
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
else {
|
|
96
|
-
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
145
|
+
const leftChatMember = user;
|
|
146
|
+
return { ...message, leftChatMember };
|
|
97
147
|
}
|
|
98
148
|
}
|
|
99
149
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatEditTitle) {
|
|
100
|
-
|
|
150
|
+
const newChatTitle = message_.action.title;
|
|
151
|
+
return { ...message, newChatTitle };
|
|
101
152
|
}
|
|
102
153
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatEditPhoto) {
|
|
103
|
-
|
|
154
|
+
const newChatPhoto = (0, _1_photo_js_1.constructPhoto)(message_.action.photo[_2_tl_js_1.as](_2_tl_js_1.types.Photo));
|
|
155
|
+
return { ...message, newChatPhoto };
|
|
104
156
|
}
|
|
105
157
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatDeletePhoto) {
|
|
106
|
-
|
|
158
|
+
const deletedChatPhoto = true;
|
|
159
|
+
return { ...message, deletedChatPhoto };
|
|
107
160
|
}
|
|
108
161
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatCreate) {
|
|
109
|
-
|
|
110
|
-
|
|
162
|
+
const groupCreated = true;
|
|
163
|
+
const newChatMembers = new Array();
|
|
111
164
|
for (const user_ of message_.action.users) {
|
|
112
165
|
const entity = await getEntity(new _2_tl_js_1.types.PeerUser({ user_id: user_ }));
|
|
113
166
|
if (entity) {
|
|
114
167
|
const user = (0, _1_user_js_1.constructUser)(entity);
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
168
|
+
newChatMembers.push(user);
|
|
119
169
|
}
|
|
120
170
|
}
|
|
171
|
+
return { ...message, groupCreated, newChatMembers };
|
|
121
172
|
}
|
|
122
173
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChannelCreate) {
|
|
123
174
|
if (message.chat.type == "channel") {
|
|
124
|
-
|
|
175
|
+
const channelCreated = true;
|
|
176
|
+
return { ...message, channelCreated };
|
|
125
177
|
}
|
|
126
178
|
else if (message.chat.type == "supergroup") {
|
|
127
|
-
|
|
179
|
+
const supergroupCreated = true;
|
|
180
|
+
return { ...message, supergroupCreated };
|
|
128
181
|
}
|
|
129
182
|
else {
|
|
130
|
-
|
|
183
|
+
// UNREACHABLE();
|
|
131
184
|
}
|
|
132
185
|
}
|
|
133
186
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChatMigrateTo) {
|
|
134
|
-
|
|
187
|
+
const chatMigratedTo = _1_utilities_js_1.ZERO_CHANNEL_ID + Number(-message_.action.channel_id);
|
|
188
|
+
return { ...message, chatMigratedTo };
|
|
135
189
|
}
|
|
136
190
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionChannelMigrateFrom) {
|
|
137
|
-
|
|
191
|
+
const chatMigratedFrom = Number(-message_.action.chat_id);
|
|
192
|
+
return { ...message, chatMigratedFrom };
|
|
138
193
|
}
|
|
139
194
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionPinMessage) {
|
|
140
195
|
const { replyToMessage } = await getReply(message_, chat, getMessage);
|
|
141
|
-
|
|
196
|
+
if (replyToMessage) {
|
|
197
|
+
const pinnedMessage = replyToMessage;
|
|
198
|
+
return { ...message, pinnedMessage };
|
|
199
|
+
}
|
|
142
200
|
}
|
|
143
201
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionRequestedPeer) {
|
|
144
|
-
const user = message_.action.
|
|
145
|
-
|
|
202
|
+
const user = message_.action.peers[0][_2_tl_js_1.as](_2_tl_js_1.types.PeerUser);
|
|
203
|
+
const userShared = { requestId: message_.action.button_id, userId: Number(user.user_id) };
|
|
204
|
+
return { ...message, userShared };
|
|
146
205
|
}
|
|
147
206
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionBotAllowed) {
|
|
148
207
|
const webAppName = message_.action.app ? message_.action.app[_2_tl_js_1.as](_2_tl_js_1.types.BotApp).title : undefined;
|
|
149
|
-
|
|
208
|
+
const writeAccessAllowed = { webAppName };
|
|
209
|
+
return { ...message, writeAccessAllowed };
|
|
150
210
|
}
|
|
151
211
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionTopicCreate) {
|
|
152
|
-
|
|
212
|
+
const forumTopicCreated = {
|
|
153
213
|
name: message_.action.title,
|
|
154
214
|
iconColor: "#" + message_.action.icon_color.toString(16).padStart(6, "0"),
|
|
155
215
|
iconCutsomEmojiId: message_.action.icon_emoji_id ? String(message_.action.icon_emoji_id) : undefined,
|
|
156
216
|
};
|
|
217
|
+
return { ...message, forumTopicCreated };
|
|
157
218
|
}
|
|
158
219
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionTopicEdit) {
|
|
159
220
|
if (message_.action.closed) {
|
|
160
|
-
|
|
221
|
+
const forumTopicClosed = true;
|
|
222
|
+
return { ...message, forumTopicClosed };
|
|
161
223
|
}
|
|
162
224
|
else if (message_.action.title || message_.action.icon_emoji_id) {
|
|
163
|
-
|
|
164
|
-
name: message_.action.title,
|
|
225
|
+
const forumTopicEdited = {
|
|
226
|
+
name: message_.action.title ?? "",
|
|
165
227
|
iconCutsomEmojiId: message_.action.icon_emoji_id ? String(message_.action.icon_emoji_id) : undefined,
|
|
166
228
|
};
|
|
229
|
+
return { ...message, forumTopicEdited };
|
|
167
230
|
}
|
|
168
231
|
else {
|
|
169
|
-
|
|
232
|
+
const forumTopicReopened = true;
|
|
233
|
+
return { ...message, forumTopicReopened };
|
|
170
234
|
}
|
|
171
235
|
}
|
|
172
236
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionGroupCallScheduled) {
|
|
173
|
-
|
|
237
|
+
const videoChatScheduled = { startDate: new Date(message_.action.schedule_date * 1000) };
|
|
238
|
+
return { ...message, videoChatScheduled };
|
|
174
239
|
}
|
|
175
240
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionGroupCall) {
|
|
176
241
|
if (message_.action.duration) {
|
|
177
|
-
|
|
242
|
+
const videoChatEnded = { duration: message_.action.duration };
|
|
243
|
+
return { ...message, videoChatEnded };
|
|
178
244
|
}
|
|
179
245
|
else {
|
|
180
|
-
|
|
246
|
+
const videoChatStarted = true;
|
|
247
|
+
return { ...message, videoChatStarted };
|
|
181
248
|
}
|
|
182
249
|
}
|
|
183
250
|
else if (message_.action instanceof _2_tl_js_1.types.MessageActionSetMessagesTTL) {
|
|
184
|
-
|
|
251
|
+
const newAutoDeleteTime = message_.action.period || 0;
|
|
252
|
+
return { ...message, newAutoDeleteTime };
|
|
185
253
|
}
|
|
186
|
-
return
|
|
254
|
+
return { ...message, unsupported: true };
|
|
187
255
|
}
|
|
188
256
|
async function constructMessage(message_, getEntity, getMessage, getStickerSetName, getReply_ = true) {
|
|
189
257
|
if (!(message_ instanceof _2_tl_js_1.types.Message) && !(message_ instanceof _2_tl_js_1.types.MessageService)) {
|
|
@@ -232,9 +300,14 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
232
300
|
link,
|
|
233
301
|
date: new Date(message_.date * 1000),
|
|
234
302
|
views: message_.views,
|
|
303
|
+
forwards: message_.forwards,
|
|
235
304
|
isTopicMessage: false,
|
|
236
305
|
hasProtectedContent: message_.noforwards || false,
|
|
237
306
|
};
|
|
307
|
+
if (message_.reactions) {
|
|
308
|
+
const recentReactions = message_.reactions.recent_reactions ?? [];
|
|
309
|
+
message.reactions = message_.reactions.results.map((v) => (0, _1_message_reaction_js_1.constructMessageReaction)(v, recentReactions));
|
|
310
|
+
}
|
|
238
311
|
if (message_.reply_to instanceof _2_tl_js_1.types.MessageReplyHeader && message_.reply_to.reply_to_msg_id) {
|
|
239
312
|
if (message_.reply_to.quote) {
|
|
240
313
|
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 +318,6 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
245
318
|
Object.assign(message, await getReply(message_, chat_, getMessage));
|
|
246
319
|
}
|
|
247
320
|
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
321
|
if (message_.reply_markup) {
|
|
274
322
|
if (message_.reply_markup instanceof _2_tl_js_1.types.ReplyKeyboardMarkup) {
|
|
275
323
|
message.replyMarkup = (0, _2_reply_keyboard_markup_js_1.constructReplyKeyboardMarkup)(message_.reply_markup);
|
|
@@ -324,82 +372,122 @@ async function constructMessage(message_, getEntity, getMessage, getStickerSetNa
|
|
|
324
372
|
}
|
|
325
373
|
}
|
|
326
374
|
}
|
|
327
|
-
if (message_.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
375
|
+
if (message_.grouped_id != undefined) {
|
|
376
|
+
message.mediaGroupId = String(message_.grouped_id);
|
|
377
|
+
}
|
|
378
|
+
if (message_.edit_date != undefined) {
|
|
379
|
+
message.editDate = new Date(message_.edit_date * 1000);
|
|
380
|
+
}
|
|
381
|
+
if (message_.message && message_.media === undefined) {
|
|
382
|
+
return {
|
|
383
|
+
...message,
|
|
384
|
+
text: message_.message,
|
|
385
|
+
entities: message_.entities?.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => !!v) ?? [],
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
const messageMedia = {
|
|
389
|
+
...message,
|
|
390
|
+
caption: message_.message,
|
|
391
|
+
captionEntities: message_.entities?.map(_0_message_entity_js_1.constructMessageEntity).filter((v) => !!v) ?? [],
|
|
392
|
+
};
|
|
393
|
+
if (message_.media instanceof _2_tl_js_1.types.MessageMediaPhoto || message_.media instanceof _2_tl_js_1.types.MessageMediaDocument) {
|
|
394
|
+
messageMedia.hasMediaSpoiler = message_.media.spoiler || false;
|
|
395
|
+
}
|
|
396
|
+
let m = null;
|
|
397
|
+
if (message_.media instanceof _2_tl_js_1.types.MessageMediaPhoto) {
|
|
398
|
+
if (!message_.media.photo) {
|
|
399
|
+
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
332
400
|
}
|
|
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
|
-
}
|
|
401
|
+
const photo = (0, _1_photo_js_1.constructPhoto)(message_.media.photo[_2_tl_js_1.as](_2_tl_js_1.types.Photo));
|
|
402
|
+
m = { ...messageMedia, photo };
|
|
403
|
+
}
|
|
404
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaDice) {
|
|
405
|
+
const dice = (0, _0_dice_js_1.constructDice)(message_.media);
|
|
406
|
+
m = { ...message, dice };
|
|
407
|
+
}
|
|
408
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaDocument) {
|
|
409
|
+
const { document } = message_.media;
|
|
410
|
+
if (document instanceof _2_tl_js_1.types.Document) {
|
|
411
|
+
const getFileId = (type) => new _0__file_id_js_1.FileID(null, null, type, document.dc_id, {
|
|
412
|
+
mediaId: document.id,
|
|
413
|
+
accessHash: document.access_hash,
|
|
414
|
+
fileReference: document.file_reference,
|
|
415
|
+
}).encode();
|
|
416
|
+
const fileUniqueId = new _0__file_id_js_1.FileUniqueID(_0__file_id_js_1.FileUniqueType.Document, { mediaId: document.id }).encode();
|
|
417
|
+
const animated = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeAnimated);
|
|
418
|
+
const audio = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeAudio);
|
|
419
|
+
const fileName = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeFilename);
|
|
420
|
+
const sticker = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeSticker);
|
|
421
|
+
const video = document.attributes.find((v) => v instanceof _2_tl_js_1.types.DocumentAttributeVideo);
|
|
422
|
+
if (animated) {
|
|
423
|
+
const animation = (0, _1_animation_js_1.constructAnimation)(document, video, fileName, getFileId(_0__file_id_js_1.FileType.Animation), fileUniqueId);
|
|
424
|
+
m = { ...messageMedia, animation };
|
|
425
|
+
}
|
|
426
|
+
else if (video) {
|
|
427
|
+
if (video.round_message) {
|
|
428
|
+
const videoNote = (0, _1_video_note_js_1.constructVideoNote)(document, video, getFileId(_0__file_id_js_1.FileType.VideoNote), fileUniqueId);
|
|
429
|
+
m = { ...message, videoNote };
|
|
368
430
|
}
|
|
369
|
-
else
|
|
370
|
-
|
|
431
|
+
else {
|
|
432
|
+
const video_ = (0, _1_video_js_1.constructVideo)(document, video, fileName?.file_name, getFileId(_0__file_id_js_1.FileType.Video), fileUniqueId);
|
|
433
|
+
m = { ...messageMedia, video: video_ };
|
|
371
434
|
}
|
|
372
|
-
|
|
373
|
-
|
|
435
|
+
}
|
|
436
|
+
else if (audio) {
|
|
437
|
+
if (audio.voice) {
|
|
438
|
+
const voice = (0, _0_voice_js_1.constructVoice)(document, audio, getFileId(_0__file_id_js_1.FileType.Voice), fileUniqueId);
|
|
439
|
+
m = { ...messageMedia, voice };
|
|
374
440
|
}
|
|
375
441
|
else {
|
|
376
|
-
|
|
442
|
+
const audio_ = (0, _1_audio_js_1.constructAudio)(document, audio, getFileId(_0__file_id_js_1.FileType.Audio), fileUniqueId);
|
|
443
|
+
m = { ...messageMedia, audio: audio_ };
|
|
377
444
|
}
|
|
378
445
|
}
|
|
446
|
+
else if (sticker) {
|
|
447
|
+
const sticker = await (0, _1_sticker_js_1.constructSticker)(document, getFileId(_0__file_id_js_1.FileType.Sticker), fileUniqueId, getStickerSetName);
|
|
448
|
+
m = { ...message, sticker };
|
|
449
|
+
}
|
|
450
|
+
else if (fileName) {
|
|
451
|
+
const document_ = (0, _1_document_js_1.constructDocument)(document, fileName, getFileId(_0__file_id_js_1.FileType.Document), fileUniqueId);
|
|
452
|
+
m = { ...messageMedia, document: document_ };
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
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);
|
|
456
|
+
m = { ...messageMedia, document: document_ };
|
|
457
|
+
}
|
|
379
458
|
}
|
|
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
459
|
}
|
|
403
|
-
|
|
460
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaContact) {
|
|
461
|
+
const contact = (0, _0_contact_js_1.constructContact)(message_.media);
|
|
462
|
+
m = { ...messageMedia, contact };
|
|
463
|
+
}
|
|
464
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGame) {
|
|
465
|
+
const game = (0, _2_game_js_1.constructGame)(message_.media);
|
|
466
|
+
m = { ...message, game };
|
|
467
|
+
}
|
|
468
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaPoll) {
|
|
469
|
+
const poll = (0, _1_poll_js_1.constructPoll)(message_.media);
|
|
470
|
+
m = { ...message, poll };
|
|
471
|
+
}
|
|
472
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaVenue) {
|
|
473
|
+
const venue = (0, _0_venue_js_1.constructVenue)(message_.media);
|
|
474
|
+
m = { ...message, venue };
|
|
475
|
+
}
|
|
476
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGeo || message_.media instanceof _2_tl_js_1.types.MessageMediaGeoLive) {
|
|
477
|
+
const location = (0, _0_location_js_1.constructLocation)(message_.media);
|
|
478
|
+
m = { ...message, location };
|
|
479
|
+
}
|
|
480
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaWebPage) {
|
|
481
|
+
// TODO: implement
|
|
482
|
+
}
|
|
483
|
+
else if (message_.media instanceof _2_tl_js_1.types.MessageMediaGiveaway) {
|
|
484
|
+
const giveaway = (0, _1_giveaway_js_1.constructGiveaway)(message_.media);
|
|
485
|
+
m = { ...message, giveaway };
|
|
486
|
+
}
|
|
487
|
+
if (m == null) {
|
|
488
|
+
const unsupported = true;
|
|
489
|
+
m = { ...message, unsupported };
|
|
490
|
+
}
|
|
491
|
+
return (0, _1_utilities_js_1.cleanObject)(m);
|
|
404
492
|
}
|
|
405
493
|
exports.constructMessage = constructMessage;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { types } from "../2_tl.js";
|
|
2
2
|
import { EntityGetter } from "./1__getters.js";
|
|
3
3
|
import { User } from "./1_user.js";
|
|
4
|
-
import { Message, MessageGetter } from "./
|
|
4
|
+
import { Message, MessageGetter } from "./4_message.js";
|
|
5
5
|
export interface CallbackQuery {
|
|
6
6
|
id: string;
|
|
7
7
|
from: User;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { enums, types } from "../2_tl.js";
|
|
2
|
+
import { ChatPhotoChat, ChatPhotoUser } from "./0_chat_photo.js";
|
|
3
|
+
import { EntityGetter } from "./1__getters.js";
|
|
4
|
+
import { ChatPChannel, ChatPGroup, ChatPPrivate, ChatPSupergroup } from "./1_chat_p.js";
|
|
5
|
+
import { StickerSetNameGetter } from "./1_sticker.js";
|
|
6
|
+
import { Message, MessageGetter } from "./4_message.js";
|
|
7
|
+
/** @unlisted */
|
|
8
|
+
export interface ChatBase {
|
|
9
|
+
order: string;
|
|
10
|
+
lastMessage?: Omit<Message, "replyToMessage">;
|
|
11
|
+
pinned: number;
|
|
12
|
+
}
|
|
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>;
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.constructChat4 = exports.constructChat3 = exports.constructChat2 = exports.constructChat = exports.getChatOrder = void 0;
|
|
4
4
|
const _1_utilities_js_1 = require("../1_utilities.js");
|
|
5
5
|
const _2_tl_js_1 = require("../2_tl.js");
|
|
6
|
-
const _1_chat_p_js_1 = require("./1_chat_p.js");
|
|
7
6
|
const _0_chat_photo_js_1 = require("./0_chat_photo.js");
|
|
8
|
-
const
|
|
7
|
+
const _1_chat_p_js_1 = require("./1_chat_p.js");
|
|
8
|
+
const _4_message_js_1 = require("./4_message.js");
|
|
9
9
|
function getChatPAlsoPhoto(entity) {
|
|
10
10
|
let chatP;
|
|
11
11
|
let also = undefined;
|
|
@@ -46,7 +46,7 @@ async function constructChat(dialog, dialogs, pinnedChats, getEntity, getMessage
|
|
|
46
46
|
(0, _1_utilities_js_1.UNREACHABLE)();
|
|
47
47
|
}
|
|
48
48
|
const pinned = pinnedChats.indexOf((0, _2_tl_js_1.peerToChatId)(dialog.peer));
|
|
49
|
-
const lastMessage = await (0,
|
|
49
|
+
const lastMessage = await (0, _4_message_js_1.constructMessage)(topMessage_, getEntity, getMessage, getStickerSetName, false);
|
|
50
50
|
const order = getChatOrder(lastMessage, pinned);
|
|
51
51
|
const userId = "user_id" in dialog.peer ? dialog.peer.user_id : null;
|
|
52
52
|
const chatId = "chat_id" in dialog.peer ? dialog.peer.chat_id : null;
|