koztv-blog-tools 1.2.5 → 1.2.6
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/dist/index.js +37 -1
- package/dist/index.mjs +37 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -374,6 +374,42 @@ var import_sessions = require("telegram/sessions");
|
|
|
374
374
|
var fs = __toESM(require("fs"));
|
|
375
375
|
var path = __toESM(require("path"));
|
|
376
376
|
var readline = __toESM(require("readline"));
|
|
377
|
+
function entitiesToMarkdown(text, entities) {
|
|
378
|
+
if (!entities || entities.length === 0) return text;
|
|
379
|
+
const sorted = [...entities].sort((a, b) => b.offset - a.offset);
|
|
380
|
+
let result = text;
|
|
381
|
+
for (const entity of sorted) {
|
|
382
|
+
const start = entity.offset;
|
|
383
|
+
const end = entity.offset + entity.length;
|
|
384
|
+
const content = result.substring(start, end);
|
|
385
|
+
let replacement = content;
|
|
386
|
+
if (entity instanceof import_telegram.Api.MessageEntityBold) {
|
|
387
|
+
replacement = `**${content}**`;
|
|
388
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityItalic) {
|
|
389
|
+
replacement = `*${content}*`;
|
|
390
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityCode) {
|
|
391
|
+
replacement = `\`${content}\``;
|
|
392
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityPre) {
|
|
393
|
+
replacement = `\`\`\`
|
|
394
|
+
${content}
|
|
395
|
+
\`\`\``;
|
|
396
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityStrike) {
|
|
397
|
+
replacement = `~~${content}~~`;
|
|
398
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityUnderline) {
|
|
399
|
+
replacement = `**${content}**`;
|
|
400
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityTextUrl) {
|
|
401
|
+
replacement = `[${content}](${entity.url})`;
|
|
402
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityUrl) {
|
|
403
|
+
replacement = content;
|
|
404
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityMention) {
|
|
405
|
+
replacement = content;
|
|
406
|
+
} else if (entity instanceof import_telegram.Api.MessageEntityHashtag) {
|
|
407
|
+
replacement = content;
|
|
408
|
+
}
|
|
409
|
+
result = result.substring(0, start) + replacement + result.substring(end);
|
|
410
|
+
}
|
|
411
|
+
return result;
|
|
412
|
+
}
|
|
377
413
|
async function defaultReadline(prompt) {
|
|
378
414
|
const rl = readline.createInterface({
|
|
379
415
|
input: process.stdin,
|
|
@@ -537,7 +573,7 @@ async function exportTelegramChannel(options) {
|
|
|
537
573
|
}
|
|
538
574
|
}
|
|
539
575
|
}
|
|
540
|
-
const content = message.message || "";
|
|
576
|
+
const content = entitiesToMarkdown(message.message || "", message.entities);
|
|
541
577
|
const link = channelMeta.username ? `https://t.me/${channelMeta.username}/${msgId}` : "";
|
|
542
578
|
const post = {
|
|
543
579
|
msgId,
|
package/dist/index.mjs
CHANGED
|
@@ -317,6 +317,42 @@ import { StringSession } from "telegram/sessions";
|
|
|
317
317
|
import * as fs from "fs";
|
|
318
318
|
import * as path from "path";
|
|
319
319
|
import * as readline from "readline";
|
|
320
|
+
function entitiesToMarkdown(text, entities) {
|
|
321
|
+
if (!entities || entities.length === 0) return text;
|
|
322
|
+
const sorted = [...entities].sort((a, b) => b.offset - a.offset);
|
|
323
|
+
let result = text;
|
|
324
|
+
for (const entity of sorted) {
|
|
325
|
+
const start = entity.offset;
|
|
326
|
+
const end = entity.offset + entity.length;
|
|
327
|
+
const content = result.substring(start, end);
|
|
328
|
+
let replacement = content;
|
|
329
|
+
if (entity instanceof Api.MessageEntityBold) {
|
|
330
|
+
replacement = `**${content}**`;
|
|
331
|
+
} else if (entity instanceof Api.MessageEntityItalic) {
|
|
332
|
+
replacement = `*${content}*`;
|
|
333
|
+
} else if (entity instanceof Api.MessageEntityCode) {
|
|
334
|
+
replacement = `\`${content}\``;
|
|
335
|
+
} else if (entity instanceof Api.MessageEntityPre) {
|
|
336
|
+
replacement = `\`\`\`
|
|
337
|
+
${content}
|
|
338
|
+
\`\`\``;
|
|
339
|
+
} else if (entity instanceof Api.MessageEntityStrike) {
|
|
340
|
+
replacement = `~~${content}~~`;
|
|
341
|
+
} else if (entity instanceof Api.MessageEntityUnderline) {
|
|
342
|
+
replacement = `**${content}**`;
|
|
343
|
+
} else if (entity instanceof Api.MessageEntityTextUrl) {
|
|
344
|
+
replacement = `[${content}](${entity.url})`;
|
|
345
|
+
} else if (entity instanceof Api.MessageEntityUrl) {
|
|
346
|
+
replacement = content;
|
|
347
|
+
} else if (entity instanceof Api.MessageEntityMention) {
|
|
348
|
+
replacement = content;
|
|
349
|
+
} else if (entity instanceof Api.MessageEntityHashtag) {
|
|
350
|
+
replacement = content;
|
|
351
|
+
}
|
|
352
|
+
result = result.substring(0, start) + replacement + result.substring(end);
|
|
353
|
+
}
|
|
354
|
+
return result;
|
|
355
|
+
}
|
|
320
356
|
async function defaultReadline(prompt) {
|
|
321
357
|
const rl = readline.createInterface({
|
|
322
358
|
input: process.stdin,
|
|
@@ -480,7 +516,7 @@ async function exportTelegramChannel(options) {
|
|
|
480
516
|
}
|
|
481
517
|
}
|
|
482
518
|
}
|
|
483
|
-
const content = message.message || "";
|
|
519
|
+
const content = entitiesToMarkdown(message.message || "", message.entities);
|
|
484
520
|
const link = channelMeta.username ? `https://t.me/${channelMeta.username}/${msgId}` : "";
|
|
485
521
|
const post = {
|
|
486
522
|
msgId,
|