@imessaging/core 0.7.1 → 0.7.3
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/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/types.ts +34 -0
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -217,6 +217,25 @@ export type IncomingAttachment = {
|
|
|
217
217
|
sizeBytes?: number;
|
|
218
218
|
};
|
|
219
219
|
|
|
220
|
+
/**
|
|
221
|
+
* Адрес, вложенный в сообщение.
|
|
222
|
+
*
|
|
223
|
+
* Отдельным полем, а не поиском по тексту: половина адресов в тексте НЕ ЛЕЖИТ. Слово со скрытой
|
|
224
|
+
* гиперссылкой («откликнуться»), надпись на кнопке и предпросмотр страницы приходят сущностями
|
|
225
|
+
* разметки, и потребитель, разбирающий `text` регулярным выражением, их не увидит вовсе — а
|
|
226
|
+
* промах здесь выглядит не ошибкой, а вакансией без ссылки.
|
|
227
|
+
*
|
|
228
|
+
* Выбор адреса за потребителем: одному нужна площадка, другому форма выгрузки резюме, и решать за
|
|
229
|
+
* них здесь значит отдавать одному чужое.
|
|
230
|
+
*/
|
|
231
|
+
export type IncomingLink = {
|
|
232
|
+
url: string;
|
|
233
|
+
/** Что видит человек на месте адреса: слово гиперссылки или надпись на кнопке. */
|
|
234
|
+
label?: string;
|
|
235
|
+
/** Где адрес лежал. Разные места — разный смысл, и «кнопка» отличается от «упомянут в тексте». */
|
|
236
|
+
origin: "text" | "markup" | "button" | "preview";
|
|
237
|
+
};
|
|
238
|
+
|
|
220
239
|
/**
|
|
221
240
|
* Входящее сообщение — общий вид для всех каналов.
|
|
222
241
|
*
|
|
@@ -231,9 +250,24 @@ export type IncomingMessage = {
|
|
|
231
250
|
/** Кто написал. `null` — канал отправителя не называет (рассылка, служебное событие). */
|
|
232
251
|
senderId: string | null;
|
|
233
252
|
senderUsername?: string;
|
|
253
|
+
/** Как отправитель назван в канале: «Имя Фамилия» человека или название чата. */
|
|
254
|
+
senderName?: string;
|
|
234
255
|
messageId: string;
|
|
256
|
+
/** Общий у частей одного альбома: Telegram присылает его отдельными сообщениями. */
|
|
257
|
+
albumId?: string;
|
|
235
258
|
text: string;
|
|
259
|
+
/** Когда отправлено. Нет — канал время не сообщает. */
|
|
260
|
+
sentAt?: Date;
|
|
261
|
+
/** Когда правили последний раз. Нет — не правили. */
|
|
262
|
+
editedAt?: Date;
|
|
236
263
|
attachments: IncomingAttachment[];
|
|
264
|
+
/**
|
|
265
|
+
* Адреса из сообщения, в порядке появления.
|
|
266
|
+
*
|
|
267
|
+
* `undefined` — канал разметку не разбирает вовсе; пустой список — разобрал и не нашёл. Это
|
|
268
|
+
* РАЗНЫЕ вещи: первое молчит о своём незнании, второе утверждает, что адресов нет.
|
|
269
|
+
*/
|
|
270
|
+
links?: IncomingLink[];
|
|
237
271
|
replyToMessageId?: string;
|
|
238
272
|
threadId?: number;
|
|
239
273
|
/**
|