@wirecat/tg-cli 0.0.0 → 0.43.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.
Files changed (181) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +527 -0
  3. package/THIRD_PARTY_NOTICES +55 -0
  4. package/dist/app.d.ts +11 -0
  5. package/dist/app.d.ts.map +1 -0
  6. package/dist/app.js +16 -0
  7. package/dist/app.js.map +1 -0
  8. package/dist/bin/tg.d.ts +3 -0
  9. package/dist/bin/tg.d.ts.map +1 -0
  10. package/dist/bin/tg.js +18 -0
  11. package/dist/bin/tg.js.map +1 -0
  12. package/dist/bot/adapter.d.ts +9 -0
  13. package/dist/bot/adapter.d.ts.map +1 -0
  14. package/dist/bot/adapter.js +171 -0
  15. package/dist/bot/adapter.js.map +1 -0
  16. package/dist/bot/generated/definitions.d.ts +3 -0
  17. package/dist/bot/generated/definitions.d.ts.map +1 -0
  18. package/dist/bot/generated/definitions.js +19104 -0
  19. package/dist/bot/generated/definitions.js.map +1 -0
  20. package/dist/bot/generated/manifest.d.ts +3 -0
  21. package/dist/bot/generated/manifest.d.ts.map +1 -0
  22. package/dist/bot/generated/manifest.js +15354 -0
  23. package/dist/bot/generated/manifest.js.map +1 -0
  24. package/dist/bot/generated/schemas.d.ts +1407 -0
  25. package/dist/bot/generated/schemas.d.ts.map +1 -0
  26. package/dist/bot/generated/schemas.js +5118 -0
  27. package/dist/bot/generated/schemas.js.map +1 -0
  28. package/dist/bot/generated/types.d.ts +6884 -0
  29. package/dist/bot/generated/types.d.ts.map +1 -0
  30. package/dist/bot/generated/types.js +5 -0
  31. package/dist/bot/generated/types.js.map +1 -0
  32. package/dist/bot/map.d.ts +122 -0
  33. package/dist/bot/map.d.ts.map +1 -0
  34. package/dist/bot/map.js +193 -0
  35. package/dist/bot/map.js.map +1 -0
  36. package/dist/bot/proxy.d.ts +15 -0
  37. package/dist/bot/proxy.d.ts.map +1 -0
  38. package/dist/bot/proxy.js +64 -0
  39. package/dist/bot/proxy.js.map +1 -0
  40. package/dist/bot/transport.d.ts +42 -0
  41. package/dist/bot/transport.d.ts.map +1 -0
  42. package/dist/bot/transport.js +158 -0
  43. package/dist/bot/transport.js.map +1 -0
  44. package/dist/browser.d.ts +6 -0
  45. package/dist/browser.d.ts.map +1 -0
  46. package/dist/browser.js +18 -0
  47. package/dist/browser.js.map +1 -0
  48. package/dist/commands/bot-api.d.ts +3 -0
  49. package/dist/commands/bot-api.d.ts.map +1 -0
  50. package/dist/commands/bot-api.js +112 -0
  51. package/dist/commands/bot-api.js.map +1 -0
  52. package/dist/commands/bot.d.ts +7 -0
  53. package/dist/commands/bot.d.ts.map +1 -0
  54. package/dist/commands/bot.js +99 -0
  55. package/dist/commands/bot.js.map +1 -0
  56. package/dist/commands/context.d.ts +59 -0
  57. package/dist/commands/context.d.ts.map +1 -0
  58. package/dist/commands/context.js +176 -0
  59. package/dist/commands/context.js.map +1 -0
  60. package/dist/commands/proxy-config.d.ts +9 -0
  61. package/dist/commands/proxy-config.d.ts.map +1 -0
  62. package/dist/commands/proxy-config.js +63 -0
  63. package/dist/commands/proxy-config.js.map +1 -0
  64. package/dist/commands/session.d.ts +22 -0
  65. package/dist/commands/session.d.ts.map +1 -0
  66. package/dist/commands/session.js +191 -0
  67. package/dist/commands/session.js.map +1 -0
  68. package/dist/commands/setup.d.ts +3 -0
  69. package/dist/commands/setup.d.ts.map +1 -0
  70. package/dist/commands/setup.js +203 -0
  71. package/dist/commands/setup.js.map +1 -0
  72. package/dist/commands/update.d.ts +2 -0
  73. package/dist/commands/update.d.ts.map +1 -0
  74. package/dist/commands/update.js +35 -0
  75. package/dist/commands/update.js.map +1 -0
  76. package/dist/install/postinstall.d.ts +8 -0
  77. package/dist/install/postinstall.d.ts.map +1 -0
  78. package/dist/install/postinstall.js +62 -0
  79. package/dist/install/postinstall.js.map +1 -0
  80. package/dist/paths.d.ts +9 -0
  81. package/dist/paths.d.ts.map +1 -0
  82. package/dist/paths.js +11 -0
  83. package/dist/paths.js.map +1 -0
  84. package/dist/program.d.ts +8 -0
  85. package/dist/program.d.ts.map +1 -0
  86. package/dist/program.js +138 -0
  87. package/dist/program.js.map +1 -0
  88. package/dist/proxy.d.ts +31 -0
  89. package/dist/proxy.d.ts.map +1 -0
  90. package/dist/proxy.js +99 -0
  91. package/dist/proxy.js.map +1 -0
  92. package/dist/telegram/adapter.d.ts +432 -0
  93. package/dist/telegram/adapter.d.ts.map +1 -0
  94. package/dist/telegram/adapter.js +1898 -0
  95. package/dist/telegram/adapter.js.map +1 -0
  96. package/dist/telegram/bot-history.d.ts +18 -0
  97. package/dist/telegram/bot-history.d.ts.map +1 -0
  98. package/dist/telegram/bot-history.js +145 -0
  99. package/dist/telegram/bot-history.js.map +1 -0
  100. package/dist/telegram/comments.d.ts +18 -0
  101. package/dist/telegram/comments.d.ts.map +1 -0
  102. package/dist/telegram/comments.js +48 -0
  103. package/dist/telegram/comments.js.map +1 -0
  104. package/dist/telegram/credentials.d.ts +22 -0
  105. package/dist/telegram/credentials.d.ts.map +1 -0
  106. package/dist/telegram/credentials.js +49 -0
  107. package/dist/telegram/credentials.js.map +1 -0
  108. package/dist/telegram/errors.d.ts +6 -0
  109. package/dist/telegram/errors.d.ts.map +1 -0
  110. package/dist/telegram/errors.js +186 -0
  111. package/dist/telegram/errors.js.map +1 -0
  112. package/dist/telegram/folder-rules.d.ts +14 -0
  113. package/dist/telegram/folder-rules.d.ts.map +1 -0
  114. package/dist/telegram/folder-rules.js +23 -0
  115. package/dist/telegram/folder-rules.js.map +1 -0
  116. package/dist/telegram/format-html.d.ts +4 -0
  117. package/dist/telegram/format-html.d.ts.map +1 -0
  118. package/dist/telegram/format-html.js +29 -0
  119. package/dist/telegram/format-html.js.map +1 -0
  120. package/dist/telegram/format-markdown.d.ts +3 -0
  121. package/dist/telegram/format-markdown.d.ts.map +1 -0
  122. package/dist/telegram/format-markdown.js +160 -0
  123. package/dist/telegram/format-markdown.js.map +1 -0
  124. package/dist/telegram/join-requests.d.ts +15 -0
  125. package/dist/telegram/join-requests.d.ts.map +1 -0
  126. package/dist/telegram/join-requests.js +35 -0
  127. package/dist/telegram/join-requests.js.map +1 -0
  128. package/dist/telegram/map.d.ts +92 -0
  129. package/dist/telegram/map.d.ts.map +1 -0
  130. package/dist/telegram/map.js +471 -0
  131. package/dist/telegram/map.js.map +1 -0
  132. package/dist/telegram/poll-voters.d.ts +15 -0
  133. package/dist/telegram/poll-voters.d.ts.map +1 -0
  134. package/dist/telegram/poll-voters.js +31 -0
  135. package/dist/telegram/poll-voters.js.map +1 -0
  136. package/dist/telegram/polls.d.ts +5 -0
  137. package/dist/telegram/polls.d.ts.map +1 -0
  138. package/dist/telegram/polls.js +20 -0
  139. package/dist/telegram/polls.js.map +1 -0
  140. package/dist/telegram/profile.d.ts +9 -0
  141. package/dist/telegram/profile.d.ts.map +1 -0
  142. package/dist/telegram/profile.js +175 -0
  143. package/dist/telegram/profile.js.map +1 -0
  144. package/dist/telegram/proxy.d.ts +48 -0
  145. package/dist/telegram/proxy.d.ts.map +1 -0
  146. package/dist/telegram/proxy.js +108 -0
  147. package/dist/telegram/proxy.js.map +1 -0
  148. package/dist/telegram/registration.d.ts +31 -0
  149. package/dist/telegram/registration.d.ts.map +1 -0
  150. package/dist/telegram/registration.js +95 -0
  151. package/dist/telegram/registration.js.map +1 -0
  152. package/dist/telegram/send-as.d.ts +17 -0
  153. package/dist/telegram/send-as.d.ts.map +1 -0
  154. package/dist/telegram/send-as.js +67 -0
  155. package/dist/telegram/send-as.js.map +1 -0
  156. package/dist/telegram/stats.d.ts +13 -0
  157. package/dist/telegram/stats.d.ts.map +1 -0
  158. package/dist/telegram/stats.js +135 -0
  159. package/dist/telegram/stats.js.map +1 -0
  160. package/dist/telegram/storage.d.ts +4 -0
  161. package/dist/telegram/storage.d.ts.map +1 -0
  162. package/dist/telegram/storage.js +68 -0
  163. package/dist/telegram/storage.js.map +1 -0
  164. package/dist/telegram/upload.d.ts +9 -0
  165. package/dist/telegram/upload.d.ts.map +1 -0
  166. package/dist/telegram/upload.js +29 -0
  167. package/dist/telegram/upload.js.map +1 -0
  168. package/dist/update.d.ts +28 -0
  169. package/dist/update.d.ts.map +1 -0
  170. package/dist/update.js +56 -0
  171. package/dist/update.js.map +1 -0
  172. package/dist/version.d.ts +2 -0
  173. package/dist/version.d.ts.map +1 -0
  174. package/dist/version.js +2 -0
  175. package/dist/version.js.map +1 -0
  176. package/install/postinstall.mjs +3 -0
  177. package/install/windows.ps1 +161 -0
  178. package/package.json +71 -2
  179. package/skills/tg-cli/SKILL.md +489 -0
  180. package/spec/bot/LICENSE +21 -0
  181. package/spec/bot/README.md +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/telegram/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { BotAdapter, EventSink } from "@wirecat/cli-messaging/cli";
2
+ import type { ProxyServer } from "../proxy.js";
3
+ import type { ApiCredentials } from "./credentials.js";
4
+ export type BotHistoryReader = Required<Pick<BotAdapter, "historyBefore" | "close">>;
5
+ export interface BotHistoryOptions {
6
+ credentials: ApiCredentials;
7
+ sessionPath: string;
8
+ token: string;
9
+ from?: string;
10
+ newest: (chat: string) => Promise<string | undefined>;
11
+ pauseMs: number;
12
+ stop?: AbortSignal;
13
+ events?: EventSink;
14
+ track?: (reader: Pick<BotHistoryReader, "close">) => void;
15
+ proxy?: ProxyServer;
16
+ }
17
+ export declare const openBotHistory: (options: BotHistoryOptions) => Promise<BotHistoryReader>;
18
+ //# sourceMappingURL=bot-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-history.d.ts","sourceRoot":"","sources":["../../src/telegram/bot-history.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAA;AAEpF,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,cAAc,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACzD,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AA6BD,eAAO,MAAM,cAAc,YAAmB,iBAAiB,KAAG,OAAO,CAAC,gBAAgB,CAoHzF,CAAA"}
@@ -0,0 +1,145 @@
1
+ import { mkdirSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ import { setTimeout as sleep } from "node:timers/promises";
4
+ import { getMarkedPeerId, Long, MtPeerNotFoundError, TelegramClient } from "@mtcute/node";
5
+ import { links } from "@mtcute/node/utils.js";
6
+ import { CliError, isCliError } from "@wirecat/cli-core";
7
+ import { toCliError } from "./errors.js";
8
+ import { toHistoryChannel, toHistoryMessages } from "./map.js";
9
+ import { proxiedTransport } from "./proxy.js";
10
+ import { openSessionStorage } from "./storage.js";
11
+ const numberOf = (id, maximum = 2_147_483_647) => {
12
+ const number = Number(id);
13
+ if (!/^\d+$/.test(id) || !Number.isInteger(number) || number < 1 || number > maximum)
14
+ throw new CliError("validation_error", "a Telegram message number must be between 1 and 2147483647");
15
+ return number;
16
+ };
17
+ const channelNumber = (chat) => {
18
+ const id = Number(chat);
19
+ if (!/^-\d+$/.test(chat) || !Number.isSafeInteger(id) || id >= -1_000_000_000_000)
20
+ throw new CliError("validation_error", "bot store fetch supports channels and supergroups only; private chats and basic groups share " +
21
+ "one message numbering across all of the bot's chats");
22
+ return id;
23
+ };
24
+ const historyError = (error) => {
25
+ const mapped = toCliError(error, "`tg bot auth set`");
26
+ if (isCliError(mapped))
27
+ return mapped;
28
+ return new CliError(error instanceof Error && error.name === "AbortError" ? "cancelled" : "provider_error", "Telegram history read did not finish");
29
+ };
30
+ export const openBotHistory = async (options) => {
31
+ mkdirSync(dirname(options.sessionPath), { recursive: true, mode: 0o700 });
32
+ const proxied = options.proxy ? proxiedTransport(options.proxy) : undefined;
33
+ const client = new TelegramClient({
34
+ ...(proxied ? { transport: proxied.transport } : {}),
35
+ apiId: options.credentials.id,
36
+ apiHash: options.credentials.hash,
37
+ storage: await openSessionStorage(options.sessionPath),
38
+ // The storage manager has an exit hook of its own; the close is the command's (storage.ts `setup`).
39
+ storageOptions: { cleanup: false },
40
+ disableUpdates: true,
41
+ logLevel: 0,
42
+ });
43
+ client.log.mgr.handler = () => { };
44
+ let closing;
45
+ const close = () => (closing ??= client.destroy());
46
+ options.track?.({ close });
47
+ try {
48
+ const starting = client.start({ botToken: options.token, ...(options.stop ? { abortSignal: options.stop } : {}) });
49
+ const self = await (proxied ? Promise.race([starting, proxied.failed]) : starting);
50
+ if (!self.isBot || String(self.id) !== options.token.split(":", 1)[0])
51
+ throw new CliError("authentication_error", "the history session belongs to a different bot");
52
+ }
53
+ catch (error) {
54
+ await close();
55
+ throw historyError(error);
56
+ }
57
+ const channelOf = async (chatId) => {
58
+ try {
59
+ return await client.resolveChannel(chatId);
60
+ }
61
+ catch (error) {
62
+ if (!(error instanceof MtPeerNotFoundError))
63
+ throw error;
64
+ const id = -chatId - 1_000_000_000_000;
65
+ // A bot can resolve its joined channels with a zero hash, without reading updates.
66
+ const result = await client.call({ _: "channels.getChannels", id: [{ _: "inputChannel", channelId: id, accessHash: Long.ZERO }] }, { floodSleepThreshold: 0 });
67
+ const channel = toHistoryChannel(result.chats, id);
68
+ if (!channel)
69
+ throw new CliError("permission_error", "this bot cannot access that channel or supergroup");
70
+ return channel;
71
+ }
72
+ };
73
+ let pending;
74
+ return {
75
+ close,
76
+ historyBefore: async (chat, window) => {
77
+ try {
78
+ const chatId = channelNumber(chat);
79
+ const channel = await channelOf(chatId);
80
+ let before = window.before === undefined ? undefined : numberOf(window.before, 2_147_483_648);
81
+ if (pending?.chat === chat && pending.before === window.before)
82
+ before = pending.next;
83
+ if (before === undefined) {
84
+ let newest;
85
+ if (options.from !== undefined) {
86
+ let link;
87
+ try {
88
+ link = links.message.parse(options.from);
89
+ }
90
+ catch {
91
+ link = null;
92
+ }
93
+ if (!link || link.commentId !== undefined)
94
+ throw new CliError("validation_error", "--from takes a channel or supergroup message link, without comments");
95
+ const linkedId = "username" in link
96
+ ? getMarkedPeerId(await client.resolvePeer(link.username))
97
+ : -1_000_000_000_000 - link.channelId;
98
+ if (linkedId !== chatId)
99
+ throw new CliError("validation_error", "--from names a message in a different chat");
100
+ newest = String(link.id);
101
+ }
102
+ else
103
+ newest = await options.newest(chat);
104
+ if (newest === undefined)
105
+ throw new CliError("validation_error", "no newest message number is known for this chat — give --from <message link>, or keep a bot update first");
106
+ before = numberOf(newest) + 1;
107
+ }
108
+ let cursor = before;
109
+ while (cursor > 1) {
110
+ options.stop?.throwIfAborted();
111
+ const low = Math.max(1, cursor - Math.min(100, window.limit));
112
+ const ids = Array.from({ length: cursor - low }, (_, index) => ({
113
+ _: "inputMessageID",
114
+ id: cursor - index - 1,
115
+ }));
116
+ options.events?.({ event: "request", operation: "bot.history", counts: { ids: ids.length } });
117
+ const result = await client.call({ _: "channels.getMessages", channel, id: ids }, { floodSleepThreshold: 0 });
118
+ if (result._ === "messages.messagesNotModified")
119
+ throw new CliError("provider_error", "Telegram returned no message page for this id range");
120
+ const items = toHistoryMessages(result).sort((a, b) => Number(b.id) - Number(a.id));
121
+ options.events?.({
122
+ event: "response",
123
+ operation: "bot.history",
124
+ outcome: "ok",
125
+ counts: { messages: items.length },
126
+ });
127
+ if (items.length > 0) {
128
+ pending = undefined;
129
+ return { items, hasMore: low > 1 };
130
+ }
131
+ cursor = low;
132
+ pending = { chat, before: window.before, next: cursor };
133
+ if (cursor > 1)
134
+ await sleep(options.pauseMs, undefined, options.stop ? { signal: options.stop } : {});
135
+ }
136
+ pending = undefined;
137
+ return { items: [], hasMore: false };
138
+ }
139
+ catch (error) {
140
+ throw historyError(error);
141
+ }
142
+ },
143
+ };
144
+ };
145
+ //# sourceMappingURL=bot-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-history.js","sourceRoot":"","sources":["../../src/telegram/bot-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type TelegramClient, Message as TgMessage } from "@mtcute/node";
2
+ import type { Discussion } from "@wirecat/cli-messaging";
3
+ type Client = Pick<TelegramClient, "call" | "resolvePeer">;
4
+ /**
5
+ * Measured 2026-10-07: a post whose channel has no discussion group, and a post closed to comments,
6
+ * answer MSG_ID_INVALID — not the empty answer mtcute's own getDiscussionMessage expects.
7
+ */
8
+ export declare const discussionOf: (client: Client, channelId: number, postId: number) => Promise<Discussion>;
9
+ /** Newest first from Telegram, one more than asked to know whether older ones remain; answered oldest first. */
10
+ export declare const commentsOf: (client: Client, channelId: number, postId: number, { limit, before }: {
11
+ limit: number;
12
+ before?: number;
13
+ }) => Promise<{
14
+ items: TgMessage[];
15
+ hasMore: boolean;
16
+ }>;
17
+ export {};
18
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/telegram/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,cAAc,EAAE,OAAO,IAAI,SAAS,EAAM,MAAM,cAAc,CAAA;AAE/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,CAAA;AAQ1D;;;GAGG;AACH,eAAO,MAAM,YAAY,WAAkB,MAAM,aAAa,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,UAAU,CAcxG,CAAA;AAED,gHAAgH;AAChH,eAAO,MAAM,UAAU,WACb,MAAM,aACH,MAAM,UACT,MAAM,qBACK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KACpD,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAmBlD,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { getMarkedPeerId, Long, PeersIndex, Message as TgMessage, tl } from "@mtcute/node";
2
+ import { CliError } from "@wirecat/cli-core";
3
+ const noComments = () => new CliError("not_found", "this post takes no comments — the channel has no discussion, or the post is closed to them");
4
+ /**
5
+ * Measured 2026-10-07: a post whose channel has no discussion group, and a post closed to comments,
6
+ * answer MSG_ID_INVALID — not the empty answer mtcute's own getDiscussionMessage expects.
7
+ */
8
+ export const discussionOf = async (client, channelId, postId) => {
9
+ try {
10
+ const answer = await client.call({
11
+ _: "messages.getDiscussionMessage",
12
+ peer: await client.resolvePeer(channelId),
13
+ msgId: postId,
14
+ });
15
+ const [root] = answer.messages;
16
+ if (!root || root._ === "messageEmpty")
17
+ throw noComments();
18
+ return { chatId: String(getMarkedPeerId(root.peerId)), messageId: String(root.id) };
19
+ }
20
+ catch (error) {
21
+ if (tl.RpcError.is(error, "MSG_ID_INVALID"))
22
+ throw noComments();
23
+ throw error;
24
+ }
25
+ };
26
+ /** Newest first from Telegram, one more than asked to know whether older ones remain; answered oldest first. */
27
+ export const commentsOf = async (client, channelId, postId, { limit, before }) => {
28
+ const answer = await client.call({
29
+ _: "messages.getReplies",
30
+ peer: await client.resolvePeer(channelId),
31
+ msgId: postId,
32
+ offsetId: before ?? 0,
33
+ offsetDate: 0,
34
+ addOffset: 0,
35
+ limit: limit + 1,
36
+ maxId: 0,
37
+ minId: 0,
38
+ hash: Long.ZERO,
39
+ });
40
+ if (answer._ === "messages.messagesNotModified")
41
+ return { items: [], hasMore: false };
42
+ const peers = PeersIndex.from(answer);
43
+ const found = answer.messages
44
+ .filter((one) => one._ === "message")
45
+ .map((one) => new TgMessage(one, peers));
46
+ return { items: found.slice(0, limit).reverse(), hasMore: found.length > limit };
47
+ };
48
+ //# sourceMappingURL=comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/telegram/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAuB,OAAO,IAAI,SAAS,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAK5C,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,IAAI,QAAQ,CACV,WAAW,EACX,4FAA4F,CAC7F,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,MAAc,EAAE,SAAiB,EAAE,MAAc,EAAuB,EAAE;IAC3G,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC/B,CAAC,EAAE,+BAA+B;YAClC,IAAI,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YACzC,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,cAAc;YAAE,MAAM,UAAU,EAAE,CAAA;QAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAAE,MAAM,UAAU,EAAE,CAAA;QAC/D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,MAAc,EACd,SAAiB,EACjB,MAAc,EACd,EAAE,KAAK,EAAE,MAAM,EAAsC,EACF,EAAE;IACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC,EAAE,qBAAqB;QACxB,IAAI,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;QACzC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,KAAK,GAAG,CAAC;QAChB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,CAAC,KAAK,8BAA8B;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACrF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;SAC1B,MAAM,CAAC,CAAC,GAAG,EAAwB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC;SAC1D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAA;AAClF,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { type KeyringStore } from "@wirecat/cli-core";
2
+ /** The app registration from my.telegram.org. Every user brings their own (`NEED-3`). */
3
+ export interface ApiCredentials {
4
+ id: number;
5
+ hash: string;
6
+ }
7
+ export interface ApiCredentialOptions {
8
+ profile: string;
9
+ env?: NodeJS.ProcessEnv;
10
+ keyring?: KeyringStore;
11
+ warn?: (message: string) => void;
12
+ }
13
+ export declare const parseApiId: (typed: string) => number;
14
+ export declare const parseApiHash: (typed: string) => string;
15
+ /** `TG_API_ID` and `TG_API_HASH` outrank the keyring, for CI, as `MAX_TOKEN` does in max-cli. */
16
+ export declare const apiCredentials: ({ profile, env, keyring, warn }: ApiCredentialOptions) => {
17
+ read: () => ApiCredentials | undefined;
18
+ /** Where they are read from — never the values. */
19
+ source: () => "environment" | "keyring" | "file" | undefined;
20
+ write: (credentials: ApiCredentials) => void;
21
+ };
22
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/telegram/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG5E,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MAK1C,CAAA;AAED,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,MAI5C,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,cAAc,oCAAmD,oBAAoB;IAY9F,IAAI,QAAM,cAAc,GAAG,SAAS;IASpC,mDAAmD;IACnD,MAAM,QAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAK1D,KAAK,gBAAgB,cAAc,KAAG,IAAI;CAI7C,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { CliError, Credentials } from "@wirecat/cli-core";
2
+ import { APP, isolated, pathsFor } from "../paths.js";
3
+ export const parseApiId = (typed) => {
4
+ const trimmed = typed.trim();
5
+ if (!/^\d{1,12}$/.test(trimmed))
6
+ throw new CliError("validation_error", "api_id is a number from my.telegram.org/apps");
7
+ return Number(trimmed);
8
+ };
9
+ export const parseApiHash = (typed) => {
10
+ const trimmed = typed.trim();
11
+ if (trimmed === "")
12
+ throw new CliError("validation_error", "api_hash is empty");
13
+ return trimmed;
14
+ };
15
+ /** `TG_API_ID` and `TG_API_HASH` outrank the keyring, for CI, as `MAX_TOKEN` does in max-cli. */
16
+ export const apiCredentials = ({ profile, env = process.env, keyring, warn }) => {
17
+ const store = new Credentials({
18
+ configDir: pathsFor(env).config,
19
+ service: APP,
20
+ isolated: isolated(env),
21
+ env,
22
+ ...(keyring ? { keyring } : {}),
23
+ ...(warn ? { warn } : {}),
24
+ });
25
+ const account = `${profile}:api`;
26
+ return {
27
+ read: () => {
28
+ if (env.TG_API_ID && env.TG_API_HASH) {
29
+ return { id: parseApiId(env.TG_API_ID), hash: parseApiHash(env.TG_API_HASH) };
30
+ }
31
+ const stored = store.read(account);
32
+ if (!stored)
33
+ return undefined;
34
+ const { id, hash } = JSON.parse(stored.secret);
35
+ return { id, hash };
36
+ },
37
+ /** Where they are read from — never the values. */
38
+ source: () => {
39
+ if (env.TG_API_ID && env.TG_API_HASH)
40
+ return "environment";
41
+ const stored = store.read(account);
42
+ return stored ? (stored.source === "keyring" ? "keyring" : "file") : undefined;
43
+ },
44
+ write: (credentials) => {
45
+ store.write(account, JSON.stringify(credentials));
46
+ },
47
+ };
48
+ };
49
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/telegram/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAerD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAA;IACxF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;IAC/E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAwB,EAAE,EAAE;IACpG,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM;QAC/B,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;QACvB,GAAG;QACH,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,GAAG,OAAO,MAAM,CAAA;IAEhC,OAAO;QACL,IAAI,EAAE,GAA+B,EAAE;YACrC,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAA;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAC7B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAmB,CAAA;YAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QACD,mDAAmD;QACnD,MAAM,EAAE,GAAmD,EAAE;YAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW;gBAAE,OAAO,aAAa,CAAA;YAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,CAAC;QACD,KAAK,EAAE,CAAC,WAA2B,EAAQ,EAAE;YAC3C,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;QACnD,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Telegram's refusals as the closed list of codes a script branches on. Only the error's name
3
+ * travels into the message — never a parameter the caller passed, which may be somebody's text.
4
+ */
5
+ export declare const toCliError: (error: unknown, login?: string) => unknown;
6
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/telegram/errors.ts"],"names":[],"mappings":"AAwIA;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,qBAAiC,OAmEzE,CAAA"}