agent-messenger 2.12.0 → 2.12.2

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 (121) hide show
  1. package/.claude-plugin/README.md +11 -1
  2. package/.claude-plugin/marketplace.json +14 -1
  3. package/.claude-plugin/plugin.json +4 -2
  4. package/CONTRIBUTING.md +12 -0
  5. package/README.md +30 -4
  6. package/dist/package.json +10 -2
  7. package/dist/src/cli.d.ts.map +1 -1
  8. package/dist/src/cli.js +3 -0
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/platforms/kakaotalk/client.d.ts +22 -0
  11. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
  12. package/dist/src/platforms/kakaotalk/client.js +93 -7
  13. package/dist/src/platforms/kakaotalk/client.js.map +1 -1
  14. package/dist/src/platforms/kakaotalk/listener.d.ts +4 -7
  15. package/dist/src/platforms/kakaotalk/listener.d.ts.map +1 -1
  16. package/dist/src/platforms/kakaotalk/listener.js +43 -72
  17. package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
  18. package/dist/src/platforms/telegrambot/cli.d.ts +5 -0
  19. package/dist/src/platforms/telegrambot/cli.d.ts.map +1 -0
  20. package/dist/src/platforms/telegrambot/cli.js +29 -0
  21. package/dist/src/platforms/telegrambot/cli.js.map +1 -0
  22. package/dist/src/platforms/telegrambot/client.d.ts +85 -0
  23. package/dist/src/platforms/telegrambot/client.d.ts.map +1 -0
  24. package/dist/src/platforms/telegrambot/client.js +282 -0
  25. package/dist/src/platforms/telegrambot/client.js.map +1 -0
  26. package/dist/src/platforms/telegrambot/commands/auth.d.ts +31 -0
  27. package/dist/src/platforms/telegrambot/commands/auth.d.ts.map +1 -0
  28. package/dist/src/platforms/telegrambot/commands/auth.js +173 -0
  29. package/dist/src/platforms/telegrambot/commands/auth.js.map +1 -0
  30. package/dist/src/platforms/telegrambot/commands/chat.d.ts +25 -0
  31. package/dist/src/platforms/telegrambot/commands/chat.d.ts.map +1 -0
  32. package/dist/src/platforms/telegrambot/commands/chat.js +69 -0
  33. package/dist/src/platforms/telegrambot/commands/chat.js.map +1 -0
  34. package/dist/src/platforms/telegrambot/commands/index.d.ts +6 -0
  35. package/dist/src/platforms/telegrambot/commands/index.d.ts.map +1 -0
  36. package/dist/src/platforms/telegrambot/commands/index.js +6 -0
  37. package/dist/src/platforms/telegrambot/commands/index.js.map +1 -0
  38. package/dist/src/platforms/telegrambot/commands/message.d.ts +39 -0
  39. package/dist/src/platforms/telegrambot/commands/message.d.ts.map +1 -0
  40. package/dist/src/platforms/telegrambot/commands/message.js +145 -0
  41. package/dist/src/platforms/telegrambot/commands/message.js.map +1 -0
  42. package/dist/src/platforms/telegrambot/commands/reaction.d.ts +16 -0
  43. package/dist/src/platforms/telegrambot/commands/reaction.d.ts.map +1 -0
  44. package/dist/src/platforms/telegrambot/commands/reaction.js +49 -0
  45. package/dist/src/platforms/telegrambot/commands/reaction.js.map +1 -0
  46. package/dist/src/platforms/telegrambot/commands/shared.d.ts +12 -0
  47. package/dist/src/platforms/telegrambot/commands/shared.d.ts.map +1 -0
  48. package/dist/src/platforms/telegrambot/commands/shared.js +21 -0
  49. package/dist/src/platforms/telegrambot/commands/shared.js.map +1 -0
  50. package/dist/src/platforms/telegrambot/commands/whoami.d.ts +17 -0
  51. package/dist/src/platforms/telegrambot/commands/whoami.d.ts.map +1 -0
  52. package/dist/src/platforms/telegrambot/commands/whoami.js +30 -0
  53. package/dist/src/platforms/telegrambot/commands/whoami.js.map +1 -0
  54. package/dist/src/platforms/telegrambot/credential-manager.d.ts +17 -0
  55. package/dist/src/platforms/telegrambot/credential-manager.d.ts.map +1 -0
  56. package/dist/src/platforms/telegrambot/credential-manager.js +113 -0
  57. package/dist/src/platforms/telegrambot/credential-manager.js.map +1 -0
  58. package/dist/src/platforms/telegrambot/index.d.ts +7 -0
  59. package/dist/src/platforms/telegrambot/index.d.ts.map +1 -0
  60. package/dist/src/platforms/telegrambot/index.js +5 -0
  61. package/dist/src/platforms/telegrambot/index.js.map +1 -0
  62. package/dist/src/platforms/telegrambot/listener.d.ts +30 -0
  63. package/dist/src/platforms/telegrambot/listener.d.ts.map +1 -0
  64. package/dist/src/platforms/telegrambot/listener.js +186 -0
  65. package/dist/src/platforms/telegrambot/listener.js.map +1 -0
  66. package/dist/src/platforms/telegrambot/types.d.ts +256 -0
  67. package/dist/src/platforms/telegrambot/types.d.ts.map +1 -0
  68. package/dist/src/platforms/telegrambot/types.js +96 -0
  69. package/dist/src/platforms/telegrambot/types.js.map +1 -0
  70. package/docs/content/docs/cli/meta.json +1 -0
  71. package/docs/content/docs/cli/telegrambot.mdx +149 -0
  72. package/docs/content/docs/index.mdx +10 -9
  73. package/docs/content/docs/quick-start.mdx +2 -0
  74. package/docs/content/docs/sdk/meta.json +1 -0
  75. package/docs/content/docs/sdk/telegrambot.mdx +216 -0
  76. package/e2e/config.ts +24 -0
  77. package/e2e/helpers.ts +1 -0
  78. package/e2e/telegrambot.e2e.test.ts +185 -0
  79. package/examples/telegrambot-listen.ts +54 -0
  80. package/package.json +10 -2
  81. package/scripts/postbuild.ts +1 -0
  82. package/skills/agent-channeltalk/SKILL.md +1 -1
  83. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  84. package/skills/agent-discord/SKILL.md +1 -1
  85. package/skills/agent-discordbot/SKILL.md +1 -1
  86. package/skills/agent-instagram/SKILL.md +1 -1
  87. package/skills/agent-kakaotalk/SKILL.md +12 -5
  88. package/skills/agent-line/SKILL.md +1 -1
  89. package/skills/agent-slack/SKILL.md +1 -1
  90. package/skills/agent-slackbot/SKILL.md +1 -1
  91. package/skills/agent-teams/SKILL.md +1 -1
  92. package/skills/agent-telegram/SKILL.md +1 -1
  93. package/skills/agent-telegrambot/SKILL.md +357 -0
  94. package/skills/agent-webex/SKILL.md +1 -1
  95. package/skills/agent-wechatbot/SKILL.md +1 -1
  96. package/skills/agent-whatsapp/SKILL.md +1 -1
  97. package/skills/agent-whatsappbot/SKILL.md +1 -1
  98. package/src/cli.ts +4 -0
  99. package/src/platforms/kakaotalk/client-listener-integration.test.ts +411 -0
  100. package/src/platforms/kakaotalk/client.test.ts +3 -0
  101. package/src/platforms/kakaotalk/client.ts +108 -9
  102. package/src/platforms/kakaotalk/listener.test.ts +155 -149
  103. package/src/platforms/kakaotalk/listener.ts +46 -80
  104. package/src/platforms/telegrambot/cli.ts +34 -0
  105. package/src/platforms/telegrambot/client.test.ts +454 -0
  106. package/src/platforms/telegrambot/client.ts +404 -0
  107. package/src/platforms/telegrambot/commands/auth.test.ts +244 -0
  108. package/src/platforms/telegrambot/commands/auth.ts +220 -0
  109. package/src/platforms/telegrambot/commands/chat.ts +96 -0
  110. package/src/platforms/telegrambot/commands/index.ts +5 -0
  111. package/src/platforms/telegrambot/commands/message.ts +235 -0
  112. package/src/platforms/telegrambot/commands/reaction.ts +70 -0
  113. package/src/platforms/telegrambot/commands/shared.ts +32 -0
  114. package/src/platforms/telegrambot/commands/whoami.ts +45 -0
  115. package/src/platforms/telegrambot/credential-manager.test.ts +196 -0
  116. package/src/platforms/telegrambot/credential-manager.ts +141 -0
  117. package/src/platforms/telegrambot/index.ts +44 -0
  118. package/src/platforms/telegrambot/listener.test.ts +398 -0
  119. package/src/platforms/telegrambot/listener.ts +198 -0
  120. package/src/platforms/telegrambot/types.test.ts +128 -0
  121. package/src/platforms/telegrambot/types.ts +282 -0
@@ -0,0 +1,31 @@
1
+ import { Command } from 'commander';
2
+ import { TelegramBotCredentialManager } from '../credential-manager.js';
3
+ import type { ClientFactory } from './shared.js';
4
+ interface ActionOptions {
5
+ pretty?: boolean;
6
+ bot?: string;
7
+ _credManager?: TelegramBotCredentialManager;
8
+ _clientFactory?: ClientFactory;
9
+ }
10
+ interface ActionResult {
11
+ success?: boolean;
12
+ error?: string;
13
+ bot_id?: string;
14
+ bot_name?: string;
15
+ username?: string;
16
+ valid?: boolean;
17
+ bots?: Array<{
18
+ bot_id: string;
19
+ bot_name: string;
20
+ is_current: boolean;
21
+ }>;
22
+ }
23
+ export declare function setAction(token: string, options: ActionOptions): Promise<ActionResult>;
24
+ export declare function clearAction(options: ActionOptions): Promise<ActionResult>;
25
+ export declare function statusAction(options: ActionOptions): Promise<ActionResult>;
26
+ export declare function listAction(options: ActionOptions): Promise<ActionResult>;
27
+ export declare function useAction(botId: string, options: ActionOptions): Promise<ActionResult>;
28
+ export declare function removeAction(botId: string, options: ActionOptions): Promise<ActionResult>;
29
+ export declare const authCommand: Command;
30
+ export {};
31
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,4BAA4B,CAAA;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAA;CAC/B;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAC,CAAA;CACH;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B5F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAsChF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAe9E;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAkB5F;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAa/F;AAED,eAAO,MAAM,WAAW,SAwDrB,CAAA"}
@@ -0,0 +1,173 @@
1
+ import { Command } from 'commander';
2
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
3
+ import { formatOutput } from '../../../shared/utils/output.js';
4
+ import { TelegramBotClient } from '../client.js';
5
+ import { TelegramBotCredentialManager } from '../credential-manager.js';
6
+ export async function setAction(token, options) {
7
+ try {
8
+ const client = options._clientFactory ? options._clientFactory() : new TelegramBotClient();
9
+ await client.login({ token });
10
+ const me = await client.getMe();
11
+ if (!me.is_bot) {
12
+ return { error: 'Token does not belong to a bot account.' };
13
+ }
14
+ const botId = options.bot || me.username || String(me.id);
15
+ const botName = me.username ?? me.first_name;
16
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
17
+ await credManager.setCredentials({
18
+ token,
19
+ bot_id: botId,
20
+ bot_name: botName,
21
+ });
22
+ return {
23
+ success: true,
24
+ bot_id: botId,
25
+ bot_name: botName,
26
+ username: me.username,
27
+ };
28
+ }
29
+ catch (error) {
30
+ return { error: error.message };
31
+ }
32
+ }
33
+ export async function clearAction(options) {
34
+ try {
35
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
36
+ await credManager.clearCredentials();
37
+ return { success: true };
38
+ }
39
+ catch (error) {
40
+ return { error: error.message };
41
+ }
42
+ }
43
+ export async function statusAction(options) {
44
+ try {
45
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
46
+ const creds = await credManager.getCredentials(options.bot);
47
+ if (!creds) {
48
+ return {
49
+ valid: false,
50
+ error: options.bot
51
+ ? `Bot "${options.bot}" not found. Run "auth list" to see available bots.`
52
+ : 'No credentials configured. Run "auth set <token>" first.',
53
+ };
54
+ }
55
+ let valid = false;
56
+ let botName = creds.bot_name;
57
+ let username;
58
+ try {
59
+ const client = options._clientFactory ? options._clientFactory() : new TelegramBotClient();
60
+ await client.login({ token: creds.token });
61
+ const me = await client.getMe();
62
+ valid = me.is_bot === true;
63
+ botName = me.username ?? me.first_name;
64
+ username = me.username;
65
+ }
66
+ catch {
67
+ valid = false;
68
+ }
69
+ return {
70
+ valid,
71
+ bot_id: creds.bot_id,
72
+ bot_name: botName,
73
+ username,
74
+ };
75
+ }
76
+ catch (error) {
77
+ return { error: error.message };
78
+ }
79
+ }
80
+ export async function listAction(options) {
81
+ try {
82
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
83
+ const all = await credManager.listAll();
84
+ return {
85
+ bots: all.map((b) => ({
86
+ bot_id: b.bot_id,
87
+ bot_name: b.bot_name,
88
+ is_current: b.is_current,
89
+ })),
90
+ };
91
+ }
92
+ catch (error) {
93
+ return { error: error.message };
94
+ }
95
+ }
96
+ export async function useAction(botId, options) {
97
+ try {
98
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
99
+ const found = await credManager.setCurrent(botId);
100
+ if (!found) {
101
+ return { error: `Bot "${botId}" not found. Run "auth list" to see available bots.` };
102
+ }
103
+ const creds = await credManager.getCredentials();
104
+ return {
105
+ success: true,
106
+ bot_id: creds?.bot_id,
107
+ bot_name: creds?.bot_name,
108
+ };
109
+ }
110
+ catch (error) {
111
+ return { error: error.message };
112
+ }
113
+ }
114
+ export async function removeAction(botId, options) {
115
+ try {
116
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
117
+ const removed = await credManager.removeBot(botId);
118
+ if (!removed) {
119
+ return { error: `Bot "${botId}" not found. Run "auth list" to see available bots.` };
120
+ }
121
+ return { success: true };
122
+ }
123
+ catch (error) {
124
+ return { error: error.message };
125
+ }
126
+ }
127
+ export const authCommand = new Command('auth')
128
+ .description('Bot authentication commands')
129
+ .addCommand(new Command('set')
130
+ .description('Set bot token (validates against Telegram API)')
131
+ .argument('<token>', 'Bot token from @BotFather')
132
+ .option('--bot <id>', 'Bot identifier for switching later')
133
+ .option('--pretty', 'Pretty print JSON output')
134
+ .action(async (token, opts) => {
135
+ cliOutput(await setAction(token, opts), opts.pretty);
136
+ }))
137
+ .addCommand(new Command('clear')
138
+ .description('Clear all stored credentials')
139
+ .option('--pretty', 'Pretty print JSON output')
140
+ .action(async (opts) => {
141
+ cliOutput(await clearAction(opts), opts.pretty);
142
+ }))
143
+ .addCommand(new Command('status')
144
+ .description('Show authentication status')
145
+ .option('--bot <id>', 'Check specific bot (default: current)')
146
+ .option('--pretty', 'Pretty print JSON output')
147
+ .action(async (opts) => {
148
+ const result = await statusAction(opts);
149
+ console.log(formatOutput(result, opts.pretty));
150
+ if (!result.valid)
151
+ process.exit(1);
152
+ }))
153
+ .addCommand(new Command('list')
154
+ .description('List all stored bots')
155
+ .option('--pretty', 'Pretty print JSON output')
156
+ .action(async (opts) => {
157
+ cliOutput(await listAction(opts), opts.pretty);
158
+ }))
159
+ .addCommand(new Command('use')
160
+ .description('Switch active bot')
161
+ .argument('<bot>', 'Bot ID')
162
+ .option('--pretty', 'Pretty print JSON output')
163
+ .action(async (botId, opts) => {
164
+ cliOutput(await useAction(botId, opts), opts.pretty);
165
+ }))
166
+ .addCommand(new Command('remove')
167
+ .description('Remove a stored bot')
168
+ .argument('<bot>', 'Bot ID')
169
+ .option('--pretty', 'Pretty print JSON output')
170
+ .action(async (botId, opts) => {
171
+ cliOutput(await removeAction(botId, opts), opts.pretty);
172
+ }));
173
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Command } from 'commander';
2
+ import type { BotOption } from './shared.js';
3
+ interface ChatResult {
4
+ id?: number;
5
+ type?: string;
6
+ title?: string;
7
+ username?: string;
8
+ first_name?: string;
9
+ last_name?: string;
10
+ description?: string;
11
+ invite_link?: string;
12
+ member_count?: number;
13
+ is_forum?: boolean;
14
+ member?: {
15
+ user_id: number;
16
+ username?: string;
17
+ status: string;
18
+ };
19
+ error?: string;
20
+ }
21
+ export declare function infoAction(chat: string, options: BotOption): Promise<ChatResult>;
22
+ export declare function memberAction(chat: string, userId: string, options: BotOption): Promise<ChatResult>;
23
+ export declare const chatCommand: Command;
24
+ export {};
25
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BtF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxG;AAED,eAAO,MAAM,WAAW,SAsBrB,CAAA"}
@@ -0,0 +1,69 @@
1
+ import { Command } from 'commander';
2
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
3
+ import { getClient, parseChatId } from './shared.js';
4
+ export async function infoAction(chat, options) {
5
+ try {
6
+ const client = await getClient(options);
7
+ const info = await client.getChat(parseChatId(chat));
8
+ let memberCount = info.member_count;
9
+ if (memberCount === undefined && (info.type === 'group' || info.type === 'supergroup' || info.type === 'channel')) {
10
+ try {
11
+ memberCount = await client.getChatMemberCount(info.id);
12
+ }
13
+ catch {
14
+ memberCount = undefined;
15
+ }
16
+ }
17
+ return {
18
+ id: info.id,
19
+ type: info.type,
20
+ title: info.title,
21
+ username: info.username,
22
+ first_name: info.first_name,
23
+ last_name: info.last_name,
24
+ description: info.description,
25
+ invite_link: info.invite_link,
26
+ member_count: memberCount,
27
+ is_forum: info.is_forum,
28
+ };
29
+ }
30
+ catch (error) {
31
+ return { error: error.message };
32
+ }
33
+ }
34
+ export async function memberAction(chat, userId, options) {
35
+ try {
36
+ const client = await getClient(options);
37
+ const member = await client.getChatMember(parseChatId(chat), Number(userId));
38
+ return {
39
+ member: {
40
+ user_id: member.user.id,
41
+ username: member.user.username,
42
+ status: member.status,
43
+ },
44
+ };
45
+ }
46
+ catch (error) {
47
+ return { error: error.message };
48
+ }
49
+ }
50
+ export const chatCommand = new Command('chat')
51
+ .description('Chat commands')
52
+ .addCommand(new Command('info')
53
+ .description('Get chat information')
54
+ .argument('<chat>', 'Chat ID or @username')
55
+ .option('--bot <id>', 'Use specific bot')
56
+ .option('--pretty', 'Pretty print JSON output')
57
+ .action(async (chat, opts) => {
58
+ cliOutput(await infoAction(chat, opts), opts.pretty);
59
+ }))
60
+ .addCommand(new Command('member')
61
+ .description('Get chat member info')
62
+ .argument('<chat>', 'Chat ID or @username')
63
+ .argument('<user-id>', 'User ID (numeric)')
64
+ .option('--bot <id>', 'Use specific bot')
65
+ .option('--pretty', 'Pretty print JSON output')
66
+ .action(async (chat, userId, opts) => {
67
+ cliOutput(await memberAction(chat, userId, opts), opts.pretty);
68
+ }));
69
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { authCommand } from './auth.js';
2
+ export { chatCommand } from './chat.js';
3
+ export { messageCommand } from './message.js';
4
+ export { reactionCommand } from './reaction.js';
5
+ export { whoamiCommand } from './whoami.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { authCommand } from './auth.js';
2
+ export { chatCommand } from './chat.js';
3
+ export { messageCommand } from './message.js';
4
+ export { reactionCommand } from './reaction.js';
5
+ export { whoamiCommand } from './whoami.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { Command } from 'commander';
2
+ import type { BotOption } from './shared.js';
3
+ interface MessageOutput {
4
+ message_id: number;
5
+ chat_id: number;
6
+ text?: string;
7
+ from?: string;
8
+ date: number;
9
+ edit_date?: number;
10
+ reply_to?: number;
11
+ }
12
+ interface MessageResult {
13
+ message?: MessageOutput;
14
+ deleted?: number;
15
+ error?: string;
16
+ }
17
+ export declare function sendAction(chat: string, text: string, options: BotOption & {
18
+ parseMode?: 'HTML' | 'Markdown' | 'MarkdownV2';
19
+ replyTo?: string;
20
+ silent?: boolean;
21
+ threadId?: string;
22
+ }): Promise<MessageResult>;
23
+ export declare function updateAction(chat: string, messageId: string, text: string, options: BotOption & {
24
+ parseMode?: 'HTML' | 'Markdown' | 'MarkdownV2';
25
+ }): Promise<MessageResult>;
26
+ export declare function deleteAction(chat: string, messageId: string, options: BotOption & {
27
+ force?: boolean;
28
+ }): Promise<MessageResult>;
29
+ export declare function forwardAction(toChat: string, fromChat: string, messageId: string, options: BotOption & {
30
+ silent?: boolean;
31
+ threadId?: string;
32
+ }): Promise<MessageResult>;
33
+ export declare function uploadAction(chat: string, filePath: string, options: BotOption & {
34
+ caption?: string;
35
+ parseMode?: 'HTML' | 'Markdown' | 'MarkdownV2';
36
+ }): Promise<MessageResult>;
37
+ export declare const messageCommand: Command;
38
+ export {};
39
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAeD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GACA,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAA;CAAE,GACtE,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAA;CAAE,GACxF,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,eAAO,MAAM,cAAc,SAmGxB,CAAA"}
@@ -0,0 +1,145 @@
1
+ import { resolve } from 'node:path';
2
+ import { Command } from 'commander';
3
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
4
+ import { getClient, parseChatId } from './shared.js';
5
+ function formatMessage(msg) {
6
+ const fromName = msg.from?.username ?? msg.from?.first_name ?? msg.sender_chat?.title;
7
+ return {
8
+ message_id: msg.message_id,
9
+ chat_id: msg.chat.id,
10
+ text: msg.text ?? msg.caption,
11
+ from: fromName,
12
+ date: msg.date,
13
+ edit_date: msg.edit_date,
14
+ reply_to: msg.reply_to_message?.message_id,
15
+ };
16
+ }
17
+ export async function sendAction(chat, text, options) {
18
+ try {
19
+ const client = await getClient(options);
20
+ const message = await client.sendMessage(parseChatId(chat), text, {
21
+ parse_mode: options.parseMode,
22
+ reply_to_message_id: options.replyTo ? Number(options.replyTo) : undefined,
23
+ disable_notification: options.silent,
24
+ message_thread_id: options.threadId ? Number(options.threadId) : undefined,
25
+ });
26
+ return { message: formatMessage(message) };
27
+ }
28
+ catch (error) {
29
+ return { error: error.message };
30
+ }
31
+ }
32
+ export async function updateAction(chat, messageId, text, options) {
33
+ try {
34
+ const client = await getClient(options);
35
+ const result = await client.editMessageText({ chat_id: parseChatId(chat), message_id: Number(messageId) }, text, {
36
+ parse_mode: options.parseMode,
37
+ });
38
+ if (result === true) {
39
+ return { error: 'editMessageText returned true; expected a Message object for chat-message edits.' };
40
+ }
41
+ return { message: formatMessage(result) };
42
+ }
43
+ catch (error) {
44
+ return { error: error.message };
45
+ }
46
+ }
47
+ export async function deleteAction(chat, messageId, options) {
48
+ if (!options.force) {
49
+ return { error: 'Use --force to confirm deletion' };
50
+ }
51
+ try {
52
+ const client = await getClient(options);
53
+ await client.deleteMessage(parseChatId(chat), Number(messageId));
54
+ return { deleted: Number(messageId) };
55
+ }
56
+ catch (error) {
57
+ return { error: error.message };
58
+ }
59
+ }
60
+ export async function forwardAction(toChat, fromChat, messageId, options) {
61
+ try {
62
+ const client = await getClient(options);
63
+ const message = await client.forwardMessage(parseChatId(toChat), parseChatId(fromChat), Number(messageId), {
64
+ disable_notification: options.silent,
65
+ message_thread_id: options.threadId ? Number(options.threadId) : undefined,
66
+ });
67
+ return { message: formatMessage(message) };
68
+ }
69
+ catch (error) {
70
+ return { error: error.message };
71
+ }
72
+ }
73
+ export async function uploadAction(chat, filePath, options) {
74
+ try {
75
+ const client = await getClient(options);
76
+ const message = await client.sendDocument(parseChatId(chat), resolve(filePath), {
77
+ caption: options.caption,
78
+ parse_mode: options.parseMode,
79
+ });
80
+ return { message: formatMessage(message) };
81
+ }
82
+ catch (error) {
83
+ return { error: error.message };
84
+ }
85
+ }
86
+ export const messageCommand = new Command('message')
87
+ .description('Message commands')
88
+ .addCommand(new Command('send')
89
+ .description('Send a text message')
90
+ .argument('<chat>', 'Chat ID or @username')
91
+ .argument('<text>', 'Message text')
92
+ .option('--parse-mode <mode>', 'Parse mode: HTML | Markdown | MarkdownV2')
93
+ .option('--reply-to <id>', 'Reply to message ID')
94
+ .option('--silent', 'Send silently (no notification)')
95
+ .option('--thread-id <id>', 'Forum topic thread ID')
96
+ .option('--bot <id>', 'Use specific bot')
97
+ .option('--pretty', 'Pretty print JSON output')
98
+ .action(async (chat, text, opts) => {
99
+ cliOutput(await sendAction(chat, text, opts), opts.pretty);
100
+ }))
101
+ .addCommand(new Command('update')
102
+ .description("Edit a message (bot's own messages only)")
103
+ .argument('<chat>', 'Chat ID or @username')
104
+ .argument('<message-id>', 'Message ID')
105
+ .argument('<text>', 'New message text')
106
+ .option('--parse-mode <mode>', 'Parse mode: HTML | Markdown | MarkdownV2')
107
+ .option('--bot <id>', 'Use specific bot')
108
+ .option('--pretty', 'Pretty print JSON output')
109
+ .action(async (chat, messageId, text, opts) => {
110
+ cliOutput(await updateAction(chat, messageId, text, opts), opts.pretty);
111
+ }))
112
+ .addCommand(new Command('delete')
113
+ .description('Delete a message')
114
+ .argument('<chat>', 'Chat ID or @username')
115
+ .argument('<message-id>', 'Message ID')
116
+ .option('--force', 'Confirm deletion')
117
+ .option('--bot <id>', 'Use specific bot')
118
+ .option('--pretty', 'Pretty print JSON output')
119
+ .action(async (chat, messageId, opts) => {
120
+ cliOutput(await deleteAction(chat, messageId, opts), opts.pretty);
121
+ }))
122
+ .addCommand(new Command('forward')
123
+ .description('Forward a message from one chat to another')
124
+ .argument('<to-chat>', 'Destination chat ID or @username')
125
+ .argument('<from-chat>', 'Source chat ID or @username')
126
+ .argument('<message-id>', 'Message ID to forward')
127
+ .option('--silent', 'Forward silently')
128
+ .option('--thread-id <id>', 'Destination forum topic thread ID')
129
+ .option('--bot <id>', 'Use specific bot')
130
+ .option('--pretty', 'Pretty print JSON output')
131
+ .action(async (toChat, fromChat, messageId, opts) => {
132
+ cliOutput(await forwardAction(toChat, fromChat, messageId, opts), opts.pretty);
133
+ }))
134
+ .addCommand(new Command('upload')
135
+ .description('Upload a document to a chat')
136
+ .argument('<chat>', 'Chat ID or @username')
137
+ .argument('<file-path>', 'File path')
138
+ .option('--caption <text>', 'Caption for the document')
139
+ .option('--parse-mode <mode>', 'Caption parse mode: HTML | Markdown | MarkdownV2')
140
+ .option('--bot <id>', 'Use specific bot')
141
+ .option('--pretty', 'Pretty print JSON output')
142
+ .action(async (chat, filePath, opts) => {
143
+ cliOutput(await uploadAction(chat, filePath, opts), opts.pretty);
144
+ }));
145
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Command } from 'commander';
2
+ import type { BotOption } from './shared.js';
3
+ interface ReactionResult {
4
+ success?: boolean;
5
+ chat_id?: number | string;
6
+ message_id?: number;
7
+ emoji?: string;
8
+ error?: string;
9
+ }
10
+ export declare function setAction(chat: string, messageId: string, emoji: string, options: BotOption & {
11
+ big?: boolean;
12
+ }): Promise<ReactionResult>;
13
+ export declare function clearAction(chat: string, messageId: string, options: BotOption): Promise<ReactionResult>;
14
+ export declare const reactionCommand: Command;
15
+ export {};
16
+ //# sourceMappingURL=reaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAQ9G;AAED,eAAO,MAAM,eAAe,SAyBzB,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { Command } from 'commander';
2
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
3
+ import { getClient, parseChatId } from './shared.js';
4
+ export async function setAction(chat, messageId, emoji, options) {
5
+ try {
6
+ const client = await getClient(options);
7
+ const reaction = [{ type: 'emoji', emoji }];
8
+ await client.setMessageReaction(parseChatId(chat), Number(messageId), reaction, {
9
+ is_big: options.big,
10
+ });
11
+ return { success: true, chat_id: parseChatId(chat), message_id: Number(messageId), emoji };
12
+ }
13
+ catch (error) {
14
+ return { error: error.message };
15
+ }
16
+ }
17
+ export async function clearAction(chat, messageId, options) {
18
+ try {
19
+ const client = await getClient(options);
20
+ await client.setMessageReaction(parseChatId(chat), Number(messageId), []);
21
+ return { success: true, chat_id: parseChatId(chat), message_id: Number(messageId) };
22
+ }
23
+ catch (error) {
24
+ return { error: error.message };
25
+ }
26
+ }
27
+ export const reactionCommand = new Command('reaction')
28
+ .description('Reaction commands')
29
+ .addCommand(new Command('set')
30
+ .description('Set a reaction on a message (replaces existing)')
31
+ .argument('<chat>', 'Chat ID or @username')
32
+ .argument('<message-id>', 'Message ID')
33
+ .argument('<emoji>', 'Emoji (e.g. 👍)')
34
+ .option('--big', 'Show big animation for the reaction')
35
+ .option('--bot <id>', 'Use specific bot')
36
+ .option('--pretty', 'Pretty print JSON output')
37
+ .action(async (chat, messageId, emoji, opts) => {
38
+ cliOutput(await setAction(chat, messageId, emoji, opts), opts.pretty);
39
+ }))
40
+ .addCommand(new Command('clear')
41
+ .description('Clear all reactions from a message')
42
+ .argument('<chat>', 'Chat ID or @username')
43
+ .argument('<message-id>', 'Message ID')
44
+ .option('--bot <id>', 'Use specific bot')
45
+ .option('--pretty', 'Pretty print JSON output')
46
+ .action(async (chat, messageId, opts) => {
47
+ cliOutput(await clearAction(chat, messageId, opts), opts.pretty);
48
+ }));
49
+ //# sourceMappingURL=reaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reaction.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/reaction.ts"],"names":[],"mappings":"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"}