rubigram 1.0.1 → 1.1.0

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.
@@ -1,31 +1,58 @@
1
1
  import type { BotClient, Chat } from "../index.js";
2
2
  import type { ChatType, InlineKeyboard, ReplyKeyboard, Update } from "../index.js";
3
+ export type MetadataType = "Bold" | "Italic" | "Underline" | "Strike" | "Mono" | "Pre" | "Quote" | "Spoiler" | "Link" | "MentionText";
4
+ export interface MetadataPart {
5
+ type: MetadataType;
6
+ from_index: number;
7
+ length: number;
8
+ link_url?: string | undefined;
9
+ mention_text_user_id?: string | undefined;
10
+ }
11
+ export interface Metadata {
12
+ meta_data_parts: MetadataPart[];
13
+ }
3
14
  export interface ReplyOptions {
4
- reply_to_message_id?: string;
5
- inline_keyboard?: InlineKeyboard;
6
- reply_keyboard?: ReplyKeyboard;
7
- disable_notification?: boolean;
15
+ reply_to_message_id?: string | undefined;
16
+ inline_keyboard?: InlineKeyboard | undefined;
17
+ reply_keyboard?: ReplyKeyboard | undefined;
18
+ disable_notification?: boolean | undefined;
19
+ metadata?: Metadata | undefined;
20
+ }
21
+ export interface ReplyHtmlOptions extends Omit<ReplyOptions, "metadata"> {
22
+ }
23
+ export interface SendPollOptions extends Omit<ReplyOptions, "metadata"> {
24
+ }
25
+ export interface SendLocationOptions extends Omit<ReplyOptions, "metadata"> {
26
+ }
27
+ export interface SendContactOptions extends Omit<ReplyOptions, "metadata"> {
28
+ last_name?: string | undefined;
8
29
  }
9
30
  export declare class Context<S = any> {
10
31
  readonly client: BotClient;
11
32
  readonly update: Update;
12
33
  readonly chatId: string;
13
- readonly messageId?: string;
14
- readonly replyToMessageId?: string;
15
- readonly text?: string;
16
- readonly senderId?: string;
17
- readonly senderType?: ChatType;
18
- readonly chatType?: ChatType | string;
34
+ readonly messageId?: string | undefined;
35
+ readonly replyToMessageId?: string | undefined;
36
+ readonly text?: string | undefined;
37
+ readonly senderId?: string | undefined;
38
+ readonly senderType?: ChatType | undefined;
39
+ readonly chatType?: ChatType | string | undefined;
19
40
  readonly isMessage: boolean;
20
41
  session: S;
21
42
  constructor(client: BotClient, update: Update);
22
43
  get isGroup(): boolean;
23
44
  get isPrivate(): boolean;
45
+ private preparePayload;
24
46
  reply(text: string, options?: ReplyOptions): Promise<unknown>;
47
+ replyHtml(html: string, options?: ReplyHtmlOptions): Promise<unknown>;
25
48
  replyToSender(text: string, options?: Omit<ReplyOptions, "reply_to_message_id">): Promise<unknown>;
49
+ edit(newText: string, inline_keyboard?: InlineKeyboard, metadata?: Metadata): Promise<unknown>;
50
+ editHtml(html: string, inline_keyboard?: InlineKeyboard): Promise<unknown>;
26
51
  deleteMessage(messageIds: string | string[]): Promise<void>;
27
- edit(newText: string, inline_keyboard?: InlineKeyboard): Promise<unknown>;
28
52
  getChat(): Promise<Chat>;
29
53
  banChatMember(userId: string): Promise<unknown>;
54
+ sendPoll(question: string, options: string[], extraOptions?: SendPollOptions): Promise<unknown>;
55
+ sendLocation(latitude: number | string, longitude: number | string, options?: SendLocationOptions): Promise<unknown>;
56
+ sendContact(phone_number: string, first_name: string, last_name_or_options?: string | SendContactOptions, options?: SendContactOptions): Promise<unknown>;
30
57
  }
31
58
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAc,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAEd,aAAa,EACb,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG;IAC1B,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1C,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAG,CAAC,CAAC;IAEnB,YAAY,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EA6B5C;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,SAAS,IAAI,OAAO,CAKvB;IAEK,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,oBA+CnD;IAEK,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAM,oBAMxD;IAEK,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,iBAShD;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,cAAc,oBAgB3D;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAU7B;IAEK,aAAa,CAAC,MAAM,EAAE,MAAM,oBAajC;CACF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,93 @@
1
+ const TAG_MAP = {
2
+ b: "Bold",
3
+ strong: "Bold",
4
+ i: "Italic",
5
+ em: "Italic",
6
+ u: "Underline",
7
+ ins: "Underline",
8
+ s: "Strike",
9
+ strike: "Strike",
10
+ del: "Strike",
11
+ code: "Mono",
12
+ pre: "Pre",
13
+ blockquote: "Quote",
14
+ spoiler: "Spoiler",
15
+ "tg-spoiler": "Spoiler",
16
+ };
17
+ function parseHtml(html) {
18
+ if (!html)
19
+ return { text: "" };
20
+ let plainText = "";
21
+ const parts = [];
22
+ const stack = [];
23
+ const tagRegex = /<\/?([a-zA-Z0-9-]+)(?:\s+([^>]*))?>/g;
24
+ let lastIndex = 0;
25
+ let match;
26
+ while ((match = tagRegex.exec(html)) !== null) {
27
+ plainText += html.slice(lastIndex, match.index);
28
+ const tagName = match[1].toLowerCase();
29
+ const isClosing = match[0].startsWith("</");
30
+ if (!isClosing) {
31
+ let type = TAG_MAP[tagName];
32
+ let url;
33
+ let userId;
34
+ if (tagName === "a") {
35
+ const attr = match[2] || "";
36
+ const href = /href=["']([^"']+)["']/i.exec(attr);
37
+ const user = /user_id=["']([^"']+)["']/i.exec(attr);
38
+ if (user) {
39
+ type = "MentionText";
40
+ userId = user[1];
41
+ }
42
+ else if (href) {
43
+ type = "Link";
44
+ url = href[1];
45
+ }
46
+ }
47
+ if (type) {
48
+ const item = {
49
+ type,
50
+ start: plainText.length,
51
+ ...(url ? { url } : {}),
52
+ ...(userId ? { userId } : {}),
53
+ };
54
+ stack.push(item);
55
+ }
56
+ }
57
+ else {
58
+ const typeToMatch = TAG_MAP[tagName] || (tagName === "a" ? "Link" : null);
59
+ for (let i = stack.length - 1; i >= 0; i--) {
60
+ const current = stack[i];
61
+ if (current.type === typeToMatch ||
62
+ (tagName === "a" &&
63
+ (current.type === "Link" || current.type === "MentionText"))) {
64
+ const [open] = stack.splice(i, 1);
65
+ const len = plainText.length - open.start;
66
+ if (len > 0) {
67
+ const part = {
68
+ type: open.type,
69
+ from_index: open.start,
70
+ length: len,
71
+ ...(open.url ? { link_url: open.url } : {}),
72
+ ...(open.userId ? { mention_text_user_id: open.userId } : {}),
73
+ };
74
+ parts.push(part);
75
+ }
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ lastIndex = tagRegex.lastIndex;
81
+ }
82
+ plainText += html.slice(lastIndex);
83
+ const result = {
84
+ text: plainText,
85
+ ...(parts.length > 0
86
+ ? { metadata: { meta_data_parts: parts.slice(0, 30) } }
87
+ : {}),
88
+ };
89
+ return result;
90
+ }
1
91
  export class Context {
2
92
  client;
3
93
  update;
@@ -15,7 +105,6 @@ export class Context {
15
105
  this.update = update;
16
106
  const rawUpdate = update;
17
107
  const msg = update.new_message || update.updated_message;
18
- // استخراج مطمئن chat_id
19
108
  this.chatId = update.chat_id || rawUpdate.new_message?.chat_id || "";
20
109
  this.chatType =
21
110
  rawUpdate.chat_type ||
@@ -37,28 +126,23 @@ export class Context {
37
126
  }
38
127
  }
39
128
  get isGroup() {
40
- if (this.chatType === "Group" || this.chatType === "Channel") {
41
- return true;
42
- }
43
- return this.chatId.startsWith("g0") || this.chatId.startsWith("c0");
129
+ return (this.chatType === "Group" ||
130
+ this.chatType === "Channel" ||
131
+ this.chatId.startsWith("g0") ||
132
+ this.chatId.startsWith("c0"));
44
133
  }
45
134
  get isPrivate() {
46
- if (this.chatType === "User") {
47
- return true;
48
- }
49
- return this.chatId.startsWith("u0") || (!this.isGroup && !!this.chatId);
135
+ return (this.chatType === "User" ||
136
+ this.chatId.startsWith("u0") ||
137
+ (!this.isGroup && !!this.chatId));
50
138
  }
51
- async reply(text, options = {}) {
52
- if (!this.chatId) {
53
- throw new Error("Chat ID یافت نشد؛ امکان ارسال پیام وجود ندارد.");
54
- }
55
- const payload = {
56
- chat_id: this.chatId,
57
- text,
58
- };
59
- if (options.reply_to_message_id) {
139
+ preparePayload(payload, options) {
140
+ if (options.reply_to_message_id)
60
141
  payload.reply_to_message_id = options.reply_to_message_id;
61
- }
142
+ if (options.disable_notification !== undefined)
143
+ payload.disable_notification = options.disable_notification;
144
+ if (options.metadata)
145
+ payload.metadata = options.metadata;
62
146
  if (options.inline_keyboard) {
63
147
  payload.inline_keypad = {
64
148
  rows: options.inline_keyboard.rows.map((row) => ({
@@ -85,60 +169,138 @@ export class Context {
85
169
  };
86
170
  payload.chat_keypad_type = "New";
87
171
  }
88
- if (options.disable_notification !== undefined) {
89
- payload.disable_notification = options.disable_notification;
90
- }
172
+ return payload;
173
+ }
174
+ async reply(text, options = {}) {
175
+ if (!this.chatId)
176
+ throw new Error("Chat ID یافت نشد.");
177
+ const payload = this.preparePayload({ chat_id: this.chatId, text }, options);
91
178
  return this.client.call("sendMessage", payload);
92
179
  }
180
+ async replyHtml(html, options = {}) {
181
+ const { text, metadata } = parseHtml(html);
182
+ const replyOptions = {
183
+ ...options,
184
+ ...(metadata ? { metadata } : {}),
185
+ };
186
+ return this.reply(text, replyOptions);
187
+ }
93
188
  async replyToSender(text, options = {}) {
94
- return this.reply(text, {
189
+ const replyOptions = {
95
190
  ...options,
96
191
  ...(this.messageId ? { reply_to_message_id: this.messageId } : {}),
97
- });
98
- }
99
- async deleteMessage(messageIds) {
100
- const ids = Array.isArray(messageIds) ? messageIds : [messageIds];
101
- ids.forEach((id) => {
102
- return this.client.call("deleteMessage", {
103
- chat_id: this.chatId,
104
- message_id: id,
105
- });
106
- });
192
+ };
193
+ return this.reply(text, replyOptions);
107
194
  }
108
- async edit(newText, inline_keyboard) {
109
- if (!this.messageId) {
195
+ async edit(newText, inline_keyboard, metadata) {
196
+ if (!this.messageId)
110
197
  throw new Error("شناسه پیام برای ویرایش یافت نشد.");
111
- }
112
198
  const payload = {
113
199
  chat_id: this.chatId,
114
200
  message_id: this.messageId,
115
201
  text: newText,
116
202
  };
117
- if (inline_keyboard) {
203
+ if (inline_keyboard)
118
204
  payload.inline_keypad = inline_keyboard;
119
- }
205
+ if (metadata)
206
+ payload.metadata = metadata;
120
207
  return this.client.call("editMessageText", payload);
121
208
  }
209
+ async editHtml(html, inline_keyboard) {
210
+ const { text, metadata } = parseHtml(html);
211
+ return this.edit(text, inline_keyboard, metadata);
212
+ }
213
+ async deleteMessage(messageIds) {
214
+ const ids = Array.isArray(messageIds) ? messageIds : [messageIds];
215
+ for (const id of ids) {
216
+ await this.client.call("deleteMessage", {
217
+ chat_id: this.chatId,
218
+ message_id: id,
219
+ });
220
+ }
221
+ }
122
222
  async getChat() {
123
- if (!this.chatId) {
223
+ if (!this.chatId)
124
224
  throw new Error("شناسه چت یافت نشد.");
125
- }
126
- const payload = {
127
- chat_id: this.chatId,
128
- };
129
- return this.client.call("getChat", payload);
225
+ return this.client.call("getChat", { chat_id: this.chatId });
130
226
  }
131
227
  async banChatMember(userId) {
132
- if (!this.chatId || !userId) {
133
- throw new Error("شناسه گروه یا شناسه کاربر یافت نشد");
134
- }
228
+ if (!this.chatId || !userId)
229
+ throw new Error("شناسه گروه یا کاربر یافت نشد");
135
230
  if (this.isGroup) {
136
- const payload = {
231
+ return this.client.call("banChatMember", {
137
232
  chat_id: this.chatId,
138
233
  user_id: userId,
139
- };
140
- return this.client.call("banChatMember", payload);
234
+ });
235
+ }
236
+ }
237
+ async sendPoll(question, options, extraOptions = {}) {
238
+ if (!this.chatId)
239
+ throw new Error("Chat ID یافت نشد.");
240
+ const trimmedQuestion = question.trim();
241
+ if (!trimmedQuestion)
242
+ throw new Error("متن سوال نظرسنجی نمی‌تواند خالی باشد.");
243
+ const sanitizedOptions = options.map((opt) => opt.trim()).filter(Boolean);
244
+ if (sanitizedOptions.length < 2) {
245
+ throw new Error("نظرسنجی باید حداقل دارای ۲ گزینه معتبر باشد.");
246
+ }
247
+ if (sanitizedOptions.length > 10) {
248
+ throw new Error("تعداد گزینه‌های نظرسنجی نمی‌تواند بیش از ۱۰ مورد باشد.");
249
+ }
250
+ const payload = this.preparePayload({
251
+ chat_id: this.chatId,
252
+ question: trimmedQuestion,
253
+ options: sanitizedOptions,
254
+ }, extraOptions);
255
+ return this.client.call("sendPoll", payload);
256
+ }
257
+ async sendLocation(latitude, longitude, options = {}) {
258
+ if (!this.chatId)
259
+ throw new Error("Chat ID یافت نشد.");
260
+ const latNum = typeof latitude === "string" ? parseFloat(latitude) : latitude;
261
+ const lonNum = typeof longitude === "string" ? parseFloat(longitude) : longitude;
262
+ if (isNaN(latNum) || isNaN(lonNum)) {
263
+ throw new Error("مختصات جغرافیایی (latitude / longitude) نامعتبر است.");
141
264
  }
265
+ if (latNum < -90 || latNum > 90 || lonNum < -180 || lonNum > 180) {
266
+ throw new Error("محدوده مختصات جغرافیایی خارج از استاندارد جهانی است.");
267
+ }
268
+ const payload = this.preparePayload({
269
+ chat_id: this.chatId,
270
+ latitude: String(latNum),
271
+ longitude: String(lonNum),
272
+ }, options);
273
+ return this.client.call("sendLocation", payload);
274
+ }
275
+ async sendContact(phone_number, first_name, last_name_or_options, options = {}) {
276
+ if (!this.chatId)
277
+ throw new Error("Chat ID یافت نشد.");
278
+ const sanitizedPhone = phone_number.replace(/[\s\-()]/g, "");
279
+ if (!sanitizedPhone)
280
+ throw new Error("شماره تلفن نمی‌تواند خالی باشد.");
281
+ const sanitizedFirstName = first_name.trim();
282
+ if (!sanitizedFirstName)
283
+ throw new Error("نام مخاطب (first_name) الزامی است.");
284
+ let finalLastName = "";
285
+ let finalOptions = {};
286
+ if (typeof last_name_or_options === "string") {
287
+ finalLastName = last_name_or_options.trim();
288
+ finalOptions = options;
289
+ }
290
+ else if (last_name_or_options) {
291
+ finalOptions = last_name_or_options;
292
+ if (finalOptions.last_name) {
293
+ finalLastName = finalOptions.last_name.trim();
294
+ }
295
+ }
296
+ const basePayload = {
297
+ chat_id: this.chatId,
298
+ phone_number: sanitizedPhone,
299
+ first_name: sanitizedFirstName,
300
+ last_name: finalLastName,
301
+ };
302
+ const payload = this.preparePayload(basePayload, finalOptions);
303
+ return this.client.call("sendContact", payload);
142
304
  }
143
305
  }
144
306
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type MetadataType = "Bold" | "Italic" | "Mono" | "Underline" | "Strike" | "Spoiler" | "Link" | "MentionText" | "Pre" | "Quote";
2
+ export interface MetadataPart {
3
+ type: MetadataType;
4
+ from_index: number;
5
+ length: number;
6
+ link_url?: string;
7
+ mention_text_user_id?: string;
8
+ }
9
+ export interface Metadata {
10
+ meta_data_parts: MetadataPart[];
11
+ }
12
+ export interface ParsedHtmlResult {
13
+ text: string;
14
+ metadata?: Metadata;
15
+ }
16
+ /**
17
+ * پارس تگ‌های ساده HTML و استخراج متادیتاهای روبیکا
18
+ * تگ‌های پشتیبانی شده:
19
+ * <b>, <strong> -> Bold
20
+ * <i>, <em> -> Italic
21
+ * <u>, <ins> -> Underline
22
+ * <s>, <strike>, <del> -> Strike
23
+ * <code> -> Mono
24
+ * <pre> -> Pre
25
+ * <blockquote> -> Quote
26
+ * <tg-spoiler>, <spoiler> -> Spoiler
27
+ * <a href="..."> -> Link
28
+ * <a user_id="..."> -> MentionText
29
+ */
30
+ export declare function parseHtml(html: string): ParsedHtmlResult;
31
+ //# sourceMappingURL=html-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.d.ts","sourceRoot":"","sources":["../../src/utils/html-parser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,QAAQ,GACR,SAAS,GACT,MAAM,GACN,aAAa,GACb,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAiJxD"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * طول متن را بر اساس واحدهای UTF-16 کدگذاری شده محاسبه می‌کند (سازگار با API روبیکا)
3
+ */
4
+ function getUtf16Length(str) {
5
+ return str.length;
6
+ }
7
+ /**
8
+ * پارس تگ‌های ساده HTML و استخراج متادیتاهای روبیکا
9
+ * تگ‌های پشتیبانی شده:
10
+ * <b>, <strong> -> Bold
11
+ * <i>, <em> -> Italic
12
+ * <u>, <ins> -> Underline
13
+ * <s>, <strike>, <del> -> Strike
14
+ * <code> -> Mono
15
+ * <pre> -> Pre
16
+ * <blockquote> -> Quote
17
+ * <tg-spoiler>, <spoiler> -> Spoiler
18
+ * <a href="..."> -> Link
19
+ * <a user_id="..."> -> MentionText
20
+ */
21
+ export function parseHtml(html) {
22
+ if (!html) {
23
+ return { text: "" };
24
+ }
25
+ let plainText = "";
26
+ const parts = [];
27
+ const tagStack = [];
28
+ // ریجکس برای یافتن تگ‌های باز و بسته
29
+ const tagRegex = /<\/?([a-zA-Z0-9-]+)(?:\s+([^>]*))?>/g;
30
+ let lastIndex = 0;
31
+ let match;
32
+ while ((match = tagRegex.exec(html)) !== null) {
33
+ const fullTag = match[0];
34
+ const tagName = match[1].toLowerCase();
35
+ const attributesStr = match[2] || "";
36
+ const textBefore = html.slice(lastIndex, match.index);
37
+ if (textBefore) {
38
+ plainText += textBefore;
39
+ }
40
+ const isClosing = fullTag.startsWith("</");
41
+ if (!isClosing) {
42
+ // تگ باز شونده
43
+ let metaType = null;
44
+ let linkUrl;
45
+ let mentionUserId;
46
+ switch (tagName) {
47
+ case "b":
48
+ case "strong":
49
+ metaType = "Bold";
50
+ break;
51
+ case "i":
52
+ case "em":
53
+ metaType = "Italic";
54
+ break;
55
+ case "u":
56
+ case "ins":
57
+ metaType = "Underline";
58
+ break;
59
+ case "s":
60
+ case "strike":
61
+ case "del":
62
+ metaType = "Strike";
63
+ break;
64
+ case "code":
65
+ metaType = "Mono";
66
+ break;
67
+ case "pre":
68
+ metaType = "Pre";
69
+ break;
70
+ case "blockquote":
71
+ metaType = "Quote";
72
+ break;
73
+ case "spoiler":
74
+ case "tg-spoiler":
75
+ metaType = "Spoiler";
76
+ break;
77
+ case "a": {
78
+ metaType = "Link";
79
+ const hrefMatch = /href=["']([^"']+)["']/i.exec(attributesStr);
80
+ const userIdMatch = /user_id=["']([^"']+)["']/i.exec(attributesStr);
81
+ if (hrefMatch) {
82
+ linkUrl = hrefMatch[1];
83
+ }
84
+ if (userIdMatch) {
85
+ metaType = "MentionText";
86
+ mentionUserId = userIdMatch[1];
87
+ }
88
+ break;
89
+ }
90
+ }
91
+ if (metaType) {
92
+ const openTag = {
93
+ type: metaType,
94
+ startIndex: getUtf16Length(plainText),
95
+ // تنها اگر مقدار real داشته باشیم کلید رو اضافه می‌کنیم
96
+ ...(linkUrl ? { linkUrl } : {}),
97
+ ...(mentionUserId ? { mentionUserId } : {}),
98
+ };
99
+ tagStack.push(openTag);
100
+ }
101
+ }
102
+ else {
103
+ // تگ بسته شونده
104
+ // پیدا کردن نزدیک‌ترین تگ باز متناظر
105
+ for (let i = tagStack.length - 1; i >= 0; i--) {
106
+ const open = tagStack[i];
107
+ const matchTag = ((tagName === "b" || tagName === "strong") && open.type === "Bold") ||
108
+ ((tagName === "i" || tagName === "em") && open.type === "Italic") ||
109
+ ((tagName === "u" || tagName === "ins") &&
110
+ open.type === "Underline") ||
111
+ ((tagName === "s" || tagName === "strike" || tagName === "del") &&
112
+ open.type === "Strike") ||
113
+ (tagName === "code" && open.type === "Mono") ||
114
+ (tagName === "pre" && open.type === "Pre") ||
115
+ (tagName === "blockquote" && open.type === "Quote") ||
116
+ ((tagName === "spoiler" || tagName === "tg-spoiler") &&
117
+ open.type === "Spoiler") ||
118
+ (tagName === "a" &&
119
+ (open.type === "Link" || open.type === "MentionText"));
120
+ if (matchTag) {
121
+ const currentLength = getUtf16Length(plainText) - open.startIndex;
122
+ if (currentLength > 0) {
123
+ parts.push({
124
+ type: open.type,
125
+ from_index: open.startIndex,
126
+ length: currentLength,
127
+ ...(open.linkUrl ? { link_url: open.linkUrl } : {}),
128
+ ...(open.mentionUserId
129
+ ? { mention_text_user_id: open.mentionUserId }
130
+ : {}),
131
+ });
132
+ }
133
+ tagStack.splice(i, 1);
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ lastIndex = tagRegex.lastIndex;
139
+ }
140
+ // اضافه کردن باقی‌مانده متن
141
+ if (lastIndex < html.length) {
142
+ plainText += html.slice(lastIndex);
143
+ }
144
+ // روبیکا حداکثر ۳۰ متادیتا قبول می‌کند
145
+ const finalParts = parts.slice(0, 30);
146
+ return {
147
+ text: plainText,
148
+ ...(finalParts.length > 0
149
+ ? { metadata: { meta_data_parts: finalParts } }
150
+ : {}),
151
+ };
152
+ }
153
+ //# sourceMappingURL=html-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.js","sourceRoot":"","sources":["../../src/utils/html-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rubigram",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Modern, Type-Safe, and Modular Bot Framework for Rubika in Node.js & TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",