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.
- package/.claude-plugin/README.md +11 -1
- package/.claude-plugin/marketplace.json +14 -1
- package/.claude-plugin/plugin.json +4 -2
- package/CONTRIBUTING.md +12 -0
- package/README.md +30 -4
- package/dist/package.json +10 -2
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +3 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/platforms/kakaotalk/client.d.ts +22 -0
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +93 -7
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/listener.d.ts +4 -7
- package/dist/src/platforms/kakaotalk/listener.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/listener.js +43 -72
- package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
- package/dist/src/platforms/telegrambot/cli.d.ts +5 -0
- package/dist/src/platforms/telegrambot/cli.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/cli.js +29 -0
- package/dist/src/platforms/telegrambot/cli.js.map +1 -0
- package/dist/src/platforms/telegrambot/client.d.ts +85 -0
- package/dist/src/platforms/telegrambot/client.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/client.js +282 -0
- package/dist/src/platforms/telegrambot/client.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/auth.d.ts +31 -0
- package/dist/src/platforms/telegrambot/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/auth.js +173 -0
- package/dist/src/platforms/telegrambot/commands/auth.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/chat.d.ts +25 -0
- package/dist/src/platforms/telegrambot/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/chat.js +69 -0
- package/dist/src/platforms/telegrambot/commands/chat.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/index.d.ts +6 -0
- package/dist/src/platforms/telegrambot/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/index.js +6 -0
- package/dist/src/platforms/telegrambot/commands/index.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/message.d.ts +39 -0
- package/dist/src/platforms/telegrambot/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/message.js +145 -0
- package/dist/src/platforms/telegrambot/commands/message.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/reaction.d.ts +16 -0
- package/dist/src/platforms/telegrambot/commands/reaction.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/reaction.js +49 -0
- package/dist/src/platforms/telegrambot/commands/reaction.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/shared.d.ts +12 -0
- package/dist/src/platforms/telegrambot/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/shared.js +21 -0
- package/dist/src/platforms/telegrambot/commands/shared.js.map +1 -0
- package/dist/src/platforms/telegrambot/commands/whoami.d.ts +17 -0
- package/dist/src/platforms/telegrambot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/commands/whoami.js +30 -0
- package/dist/src/platforms/telegrambot/commands/whoami.js.map +1 -0
- package/dist/src/platforms/telegrambot/credential-manager.d.ts +17 -0
- package/dist/src/platforms/telegrambot/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/credential-manager.js +113 -0
- package/dist/src/platforms/telegrambot/credential-manager.js.map +1 -0
- package/dist/src/platforms/telegrambot/index.d.ts +7 -0
- package/dist/src/platforms/telegrambot/index.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/index.js +5 -0
- package/dist/src/platforms/telegrambot/index.js.map +1 -0
- package/dist/src/platforms/telegrambot/listener.d.ts +30 -0
- package/dist/src/platforms/telegrambot/listener.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/listener.js +186 -0
- package/dist/src/platforms/telegrambot/listener.js.map +1 -0
- package/dist/src/platforms/telegrambot/types.d.ts +256 -0
- package/dist/src/platforms/telegrambot/types.d.ts.map +1 -0
- package/dist/src/platforms/telegrambot/types.js +96 -0
- package/dist/src/platforms/telegrambot/types.js.map +1 -0
- package/docs/content/docs/cli/meta.json +1 -0
- package/docs/content/docs/cli/telegrambot.mdx +149 -0
- package/docs/content/docs/index.mdx +10 -9
- package/docs/content/docs/quick-start.mdx +2 -0
- package/docs/content/docs/sdk/meta.json +1 -0
- package/docs/content/docs/sdk/telegrambot.mdx +216 -0
- package/e2e/config.ts +24 -0
- package/e2e/helpers.ts +1 -0
- package/e2e/telegrambot.e2e.test.ts +185 -0
- package/examples/telegrambot-listen.ts +54 -0
- package/package.json +10 -2
- package/scripts/postbuild.ts +1 -0
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +1 -1
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +12 -5
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +1 -1
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +1 -1
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-telegrambot/SKILL.md +357 -0
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/cli.ts +4 -0
- package/src/platforms/kakaotalk/client-listener-integration.test.ts +411 -0
- package/src/platforms/kakaotalk/client.test.ts +3 -0
- package/src/platforms/kakaotalk/client.ts +108 -9
- package/src/platforms/kakaotalk/listener.test.ts +155 -149
- package/src/platforms/kakaotalk/listener.ts +46 -80
- package/src/platforms/telegrambot/cli.ts +34 -0
- package/src/platforms/telegrambot/client.test.ts +454 -0
- package/src/platforms/telegrambot/client.ts +404 -0
- package/src/platforms/telegrambot/commands/auth.test.ts +244 -0
- package/src/platforms/telegrambot/commands/auth.ts +220 -0
- package/src/platforms/telegrambot/commands/chat.ts +96 -0
- package/src/platforms/telegrambot/commands/index.ts +5 -0
- package/src/platforms/telegrambot/commands/message.ts +235 -0
- package/src/platforms/telegrambot/commands/reaction.ts +70 -0
- package/src/platforms/telegrambot/commands/shared.ts +32 -0
- package/src/platforms/telegrambot/commands/whoami.ts +45 -0
- package/src/platforms/telegrambot/credential-manager.test.ts +196 -0
- package/src/platforms/telegrambot/credential-manager.ts +141 -0
- package/src/platforms/telegrambot/index.ts +44 -0
- package/src/platforms/telegrambot/listener.test.ts +398 -0
- package/src/platforms/telegrambot/listener.ts +198 -0
- package/src/platforms/telegrambot/types.test.ts +128 -0
- package/src/platforms/telegrambot/types.ts +282 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export interface TelegramBotEntry {
|
|
3
|
+
bot_id: string;
|
|
4
|
+
bot_name: string;
|
|
5
|
+
token: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TelegramBotConfig {
|
|
8
|
+
current: {
|
|
9
|
+
bot_id: string;
|
|
10
|
+
} | null;
|
|
11
|
+
bots: Record<string, TelegramBotEntry>;
|
|
12
|
+
}
|
|
13
|
+
export interface TelegramBotCredentials {
|
|
14
|
+
token: string;
|
|
15
|
+
bot_id: string;
|
|
16
|
+
bot_name: string;
|
|
17
|
+
}
|
|
18
|
+
export declare class TelegramBotError extends Error {
|
|
19
|
+
code: string;
|
|
20
|
+
constructor(message: string, code: string);
|
|
21
|
+
}
|
|
22
|
+
export interface TelegramBotUser {
|
|
23
|
+
id: number;
|
|
24
|
+
is_bot: boolean;
|
|
25
|
+
first_name: string;
|
|
26
|
+
last_name?: string;
|
|
27
|
+
username?: string;
|
|
28
|
+
language_code?: string;
|
|
29
|
+
is_premium?: boolean;
|
|
30
|
+
can_join_groups?: boolean;
|
|
31
|
+
can_read_all_group_messages?: boolean;
|
|
32
|
+
supports_inline_queries?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface TelegramChat {
|
|
35
|
+
id: number;
|
|
36
|
+
type: 'private' | 'group' | 'supergroup' | 'channel';
|
|
37
|
+
title?: string;
|
|
38
|
+
username?: string;
|
|
39
|
+
first_name?: string;
|
|
40
|
+
last_name?: string;
|
|
41
|
+
is_forum?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface TelegramChatFullInfo extends TelegramChat {
|
|
44
|
+
bio?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
invite_link?: string;
|
|
47
|
+
pinned_message?: TelegramMessage;
|
|
48
|
+
permissions?: Record<string, boolean>;
|
|
49
|
+
member_count?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface TelegramChatMember {
|
|
52
|
+
user: TelegramBotUser;
|
|
53
|
+
status: 'creator' | 'administrator' | 'member' | 'restricted' | 'left' | 'kicked';
|
|
54
|
+
is_anonymous?: boolean;
|
|
55
|
+
custom_title?: string;
|
|
56
|
+
until_date?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface TelegramMessageEntity {
|
|
59
|
+
type: string;
|
|
60
|
+
offset: number;
|
|
61
|
+
length: number;
|
|
62
|
+
url?: string;
|
|
63
|
+
user?: TelegramBotUser;
|
|
64
|
+
language?: string;
|
|
65
|
+
custom_emoji_id?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface TelegramPhotoSize {
|
|
68
|
+
file_id: string;
|
|
69
|
+
file_unique_id: string;
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
file_size?: number;
|
|
73
|
+
}
|
|
74
|
+
export interface TelegramDocument {
|
|
75
|
+
file_id: string;
|
|
76
|
+
file_unique_id: string;
|
|
77
|
+
thumbnail?: TelegramPhotoSize;
|
|
78
|
+
file_name?: string;
|
|
79
|
+
mime_type?: string;
|
|
80
|
+
file_size?: number;
|
|
81
|
+
}
|
|
82
|
+
export interface TelegramMessage {
|
|
83
|
+
message_id: number;
|
|
84
|
+
message_thread_id?: number;
|
|
85
|
+
date: number;
|
|
86
|
+
chat: TelegramChat;
|
|
87
|
+
from?: TelegramBotUser;
|
|
88
|
+
sender_chat?: TelegramChat;
|
|
89
|
+
text?: string;
|
|
90
|
+
caption?: string;
|
|
91
|
+
entities?: TelegramMessageEntity[];
|
|
92
|
+
caption_entities?: TelegramMessageEntity[];
|
|
93
|
+
reply_to_message?: TelegramMessage;
|
|
94
|
+
edit_date?: number;
|
|
95
|
+
photo?: TelegramPhotoSize[];
|
|
96
|
+
document?: TelegramDocument;
|
|
97
|
+
is_topic_message?: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface TelegramReactionType {
|
|
100
|
+
type: 'emoji' | 'custom_emoji' | 'paid';
|
|
101
|
+
emoji?: string;
|
|
102
|
+
custom_emoji_id?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface TelegramCallbackQuery {
|
|
105
|
+
id: string;
|
|
106
|
+
from: TelegramBotUser;
|
|
107
|
+
message?: TelegramMessage;
|
|
108
|
+
inline_message_id?: string;
|
|
109
|
+
chat_instance: string;
|
|
110
|
+
data?: string;
|
|
111
|
+
game_short_name?: string;
|
|
112
|
+
}
|
|
113
|
+
export interface TelegramInlineQuery {
|
|
114
|
+
id: string;
|
|
115
|
+
from: TelegramBotUser;
|
|
116
|
+
query: string;
|
|
117
|
+
offset: string;
|
|
118
|
+
chat_type?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface TelegramChatMemberUpdated {
|
|
121
|
+
chat: TelegramChat;
|
|
122
|
+
from: TelegramBotUser;
|
|
123
|
+
date: number;
|
|
124
|
+
old_chat_member: TelegramChatMember;
|
|
125
|
+
new_chat_member: TelegramChatMember;
|
|
126
|
+
}
|
|
127
|
+
export interface TelegramUpdate {
|
|
128
|
+
update_id: number;
|
|
129
|
+
message?: TelegramMessage;
|
|
130
|
+
edited_message?: TelegramMessage;
|
|
131
|
+
channel_post?: TelegramMessage;
|
|
132
|
+
edited_channel_post?: TelegramMessage;
|
|
133
|
+
inline_query?: TelegramInlineQuery;
|
|
134
|
+
chosen_inline_result?: Record<string, unknown>;
|
|
135
|
+
callback_query?: TelegramCallbackQuery;
|
|
136
|
+
shipping_query?: Record<string, unknown>;
|
|
137
|
+
pre_checkout_query?: Record<string, unknown>;
|
|
138
|
+
poll?: Record<string, unknown>;
|
|
139
|
+
poll_answer?: Record<string, unknown>;
|
|
140
|
+
my_chat_member?: TelegramChatMemberUpdated;
|
|
141
|
+
chat_member?: TelegramChatMemberUpdated;
|
|
142
|
+
chat_join_request?: Record<string, unknown>;
|
|
143
|
+
message_reaction?: Record<string, unknown>;
|
|
144
|
+
message_reaction_count?: Record<string, unknown>;
|
|
145
|
+
}
|
|
146
|
+
export declare const TelegramBotEntrySchema: z.ZodObject<{
|
|
147
|
+
bot_id: z.ZodString;
|
|
148
|
+
bot_name: z.ZodString;
|
|
149
|
+
token: z.ZodString;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
export declare const TelegramBotConfigSchema: z.ZodObject<{
|
|
152
|
+
current: z.ZodNullable<z.ZodObject<{
|
|
153
|
+
bot_id: z.ZodString;
|
|
154
|
+
}, z.core.$strip>>;
|
|
155
|
+
bots: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
156
|
+
bot_id: z.ZodString;
|
|
157
|
+
bot_name: z.ZodString;
|
|
158
|
+
token: z.ZodString;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
}, z.core.$strip>;
|
|
161
|
+
export declare const TelegramBotCredentialsSchema: z.ZodObject<{
|
|
162
|
+
token: z.ZodString;
|
|
163
|
+
bot_id: z.ZodString;
|
|
164
|
+
bot_name: z.ZodString;
|
|
165
|
+
}, z.core.$strip>;
|
|
166
|
+
export declare const TelegramBotUserSchema: z.ZodObject<{
|
|
167
|
+
id: z.ZodNumber;
|
|
168
|
+
is_bot: z.ZodBoolean;
|
|
169
|
+
first_name: z.ZodString;
|
|
170
|
+
last_name: z.ZodOptional<z.ZodString>;
|
|
171
|
+
username: z.ZodOptional<z.ZodString>;
|
|
172
|
+
language_code: z.ZodOptional<z.ZodString>;
|
|
173
|
+
is_premium: z.ZodOptional<z.ZodBoolean>;
|
|
174
|
+
can_join_groups: z.ZodOptional<z.ZodBoolean>;
|
|
175
|
+
can_read_all_group_messages: z.ZodOptional<z.ZodBoolean>;
|
|
176
|
+
supports_inline_queries: z.ZodOptional<z.ZodBoolean>;
|
|
177
|
+
}, z.core.$loose>;
|
|
178
|
+
export declare const TelegramChatSchema: z.ZodObject<{
|
|
179
|
+
id: z.ZodNumber;
|
|
180
|
+
type: z.ZodEnum<{
|
|
181
|
+
channel: "channel";
|
|
182
|
+
group: "group";
|
|
183
|
+
private: "private";
|
|
184
|
+
supergroup: "supergroup";
|
|
185
|
+
}>;
|
|
186
|
+
title: z.ZodOptional<z.ZodString>;
|
|
187
|
+
username: z.ZodOptional<z.ZodString>;
|
|
188
|
+
first_name: z.ZodOptional<z.ZodString>;
|
|
189
|
+
last_name: z.ZodOptional<z.ZodString>;
|
|
190
|
+
is_forum: z.ZodOptional<z.ZodBoolean>;
|
|
191
|
+
}, z.core.$loose>;
|
|
192
|
+
export declare const TelegramMessageEntitySchema: z.ZodObject<{
|
|
193
|
+
type: z.ZodString;
|
|
194
|
+
offset: z.ZodNumber;
|
|
195
|
+
length: z.ZodNumber;
|
|
196
|
+
url: z.ZodOptional<z.ZodString>;
|
|
197
|
+
user: z.ZodOptional<z.ZodObject<{
|
|
198
|
+
id: z.ZodNumber;
|
|
199
|
+
is_bot: z.ZodBoolean;
|
|
200
|
+
first_name: z.ZodString;
|
|
201
|
+
last_name: z.ZodOptional<z.ZodString>;
|
|
202
|
+
username: z.ZodOptional<z.ZodString>;
|
|
203
|
+
language_code: z.ZodOptional<z.ZodString>;
|
|
204
|
+
is_premium: z.ZodOptional<z.ZodBoolean>;
|
|
205
|
+
can_join_groups: z.ZodOptional<z.ZodBoolean>;
|
|
206
|
+
can_read_all_group_messages: z.ZodOptional<z.ZodBoolean>;
|
|
207
|
+
supports_inline_queries: z.ZodOptional<z.ZodBoolean>;
|
|
208
|
+
}, z.core.$loose>>;
|
|
209
|
+
language: z.ZodOptional<z.ZodString>;
|
|
210
|
+
custom_emoji_id: z.ZodOptional<z.ZodString>;
|
|
211
|
+
}, z.core.$strip>;
|
|
212
|
+
export declare const TelegramPhotoSizeSchema: z.ZodObject<{
|
|
213
|
+
file_id: z.ZodString;
|
|
214
|
+
file_unique_id: z.ZodString;
|
|
215
|
+
width: z.ZodNumber;
|
|
216
|
+
height: z.ZodNumber;
|
|
217
|
+
file_size: z.ZodOptional<z.ZodNumber>;
|
|
218
|
+
}, z.core.$strip>;
|
|
219
|
+
export declare const TelegramDocumentSchema: z.ZodObject<{
|
|
220
|
+
file_id: z.ZodString;
|
|
221
|
+
file_unique_id: z.ZodString;
|
|
222
|
+
thumbnail: z.ZodOptional<z.ZodObject<{
|
|
223
|
+
file_id: z.ZodString;
|
|
224
|
+
file_unique_id: z.ZodString;
|
|
225
|
+
width: z.ZodNumber;
|
|
226
|
+
height: z.ZodNumber;
|
|
227
|
+
file_size: z.ZodOptional<z.ZodNumber>;
|
|
228
|
+
}, z.core.$strip>>;
|
|
229
|
+
file_name: z.ZodOptional<z.ZodString>;
|
|
230
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
231
|
+
file_size: z.ZodOptional<z.ZodNumber>;
|
|
232
|
+
}, z.core.$strip>;
|
|
233
|
+
export declare const TelegramMessageSchema: z.ZodType<TelegramMessage>;
|
|
234
|
+
export interface TelegramBotListenerOptions {
|
|
235
|
+
timeoutSeconds?: number;
|
|
236
|
+
limit?: number;
|
|
237
|
+
allowedUpdates?: string[];
|
|
238
|
+
dropPendingUpdates?: boolean;
|
|
239
|
+
}
|
|
240
|
+
export interface TelegramBotListenerEventMap {
|
|
241
|
+
message: [event: TelegramMessage];
|
|
242
|
+
edited_message: [event: TelegramMessage];
|
|
243
|
+
channel_post: [event: TelegramMessage];
|
|
244
|
+
edited_channel_post: [event: TelegramMessage];
|
|
245
|
+
callback_query: [event: TelegramCallbackQuery];
|
|
246
|
+
inline_query: [event: TelegramInlineQuery];
|
|
247
|
+
my_chat_member: [event: TelegramChatMemberUpdated];
|
|
248
|
+
chat_member: [event: TelegramChatMemberUpdated];
|
|
249
|
+
telegram_update: [event: TelegramUpdate];
|
|
250
|
+
connected: [info: {
|
|
251
|
+
user: TelegramBotUser;
|
|
252
|
+
}];
|
|
253
|
+
disconnected: [];
|
|
254
|
+
error: [error: Error];
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/platforms/telegrambot/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export class TelegramBotError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
constructor(message, code) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'TelegramBotError';
|
|
7
|
+
this.code = code;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const TelegramBotEntrySchema = z.object({
|
|
11
|
+
bot_id: z.string(),
|
|
12
|
+
bot_name: z.string(),
|
|
13
|
+
token: z.string(),
|
|
14
|
+
});
|
|
15
|
+
export const TelegramBotConfigSchema = z.object({
|
|
16
|
+
current: z
|
|
17
|
+
.object({
|
|
18
|
+
bot_id: z.string(),
|
|
19
|
+
})
|
|
20
|
+
.nullable(),
|
|
21
|
+
bots: z.record(z.string(), TelegramBotEntrySchema),
|
|
22
|
+
});
|
|
23
|
+
export const TelegramBotCredentialsSchema = z.object({
|
|
24
|
+
token: z.string(),
|
|
25
|
+
bot_id: z.string(),
|
|
26
|
+
bot_name: z.string(),
|
|
27
|
+
});
|
|
28
|
+
export const TelegramBotUserSchema = z
|
|
29
|
+
.object({
|
|
30
|
+
id: z.number(),
|
|
31
|
+
is_bot: z.boolean(),
|
|
32
|
+
first_name: z.string(),
|
|
33
|
+
last_name: z.string().optional(),
|
|
34
|
+
username: z.string().optional(),
|
|
35
|
+
language_code: z.string().optional(),
|
|
36
|
+
is_premium: z.boolean().optional(),
|
|
37
|
+
can_join_groups: z.boolean().optional(),
|
|
38
|
+
can_read_all_group_messages: z.boolean().optional(),
|
|
39
|
+
supports_inline_queries: z.boolean().optional(),
|
|
40
|
+
})
|
|
41
|
+
.passthrough();
|
|
42
|
+
export const TelegramChatSchema = z
|
|
43
|
+
.object({
|
|
44
|
+
id: z.number(),
|
|
45
|
+
type: z.enum(['private', 'group', 'supergroup', 'channel']),
|
|
46
|
+
title: z.string().optional(),
|
|
47
|
+
username: z.string().optional(),
|
|
48
|
+
first_name: z.string().optional(),
|
|
49
|
+
last_name: z.string().optional(),
|
|
50
|
+
is_forum: z.boolean().optional(),
|
|
51
|
+
})
|
|
52
|
+
.passthrough();
|
|
53
|
+
export const TelegramMessageEntitySchema = z.object({
|
|
54
|
+
type: z.string(),
|
|
55
|
+
offset: z.number(),
|
|
56
|
+
length: z.number(),
|
|
57
|
+
url: z.string().optional(),
|
|
58
|
+
user: TelegramBotUserSchema.optional(),
|
|
59
|
+
language: z.string().optional(),
|
|
60
|
+
custom_emoji_id: z.string().optional(),
|
|
61
|
+
});
|
|
62
|
+
export const TelegramPhotoSizeSchema = z.object({
|
|
63
|
+
file_id: z.string(),
|
|
64
|
+
file_unique_id: z.string(),
|
|
65
|
+
width: z.number(),
|
|
66
|
+
height: z.number(),
|
|
67
|
+
file_size: z.number().optional(),
|
|
68
|
+
});
|
|
69
|
+
export const TelegramDocumentSchema = z.object({
|
|
70
|
+
file_id: z.string(),
|
|
71
|
+
file_unique_id: z.string(),
|
|
72
|
+
thumbnail: TelegramPhotoSizeSchema.optional(),
|
|
73
|
+
file_name: z.string().optional(),
|
|
74
|
+
mime_type: z.string().optional(),
|
|
75
|
+
file_size: z.number().optional(),
|
|
76
|
+
});
|
|
77
|
+
export const TelegramMessageSchema = z
|
|
78
|
+
.object({
|
|
79
|
+
message_id: z.number(),
|
|
80
|
+
message_thread_id: z.number().optional(),
|
|
81
|
+
date: z.number(),
|
|
82
|
+
chat: TelegramChatSchema,
|
|
83
|
+
from: TelegramBotUserSchema.optional(),
|
|
84
|
+
sender_chat: TelegramChatSchema.optional(),
|
|
85
|
+
text: z.string().optional(),
|
|
86
|
+
caption: z.string().optional(),
|
|
87
|
+
entities: z.array(TelegramMessageEntitySchema).optional(),
|
|
88
|
+
caption_entities: z.array(TelegramMessageEntitySchema).optional(),
|
|
89
|
+
reply_to_message: z.lazy(() => TelegramMessageSchema).optional(),
|
|
90
|
+
edit_date: z.number().optional(),
|
|
91
|
+
photo: z.array(TelegramPhotoSizeSchema).optional(),
|
|
92
|
+
document: TelegramDocumentSchema.optional(),
|
|
93
|
+
is_topic_message: z.boolean().optional(),
|
|
94
|
+
})
|
|
95
|
+
.passthrough();
|
|
96
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/platforms/telegrambot/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Telegram Bot
|
|
3
|
+
description: Complete reference for the agent-telegrambot CLI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **Tip**: After `npm install -g agent-messenger`, `agent-telegrambot` is available directly. For one-off execution without a global install you can use `npm exec --package agent-messenger agent-telegrambot ...`, `pnpm dlx --package agent-messenger agent-telegrambot ...`, `yarn dlx agent-messenger agent-telegrambot ...`, or `bunx --package agent-messenger agent-telegrambot ...`.
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
`agent-telegrambot` wraps Telegram's official [HTTP Bot API](https://core.telegram.org/bots/api). It uses bot tokens issued by [@BotFather](https://t.me/BotFather) and is designed for server-side and CI/CD integrations.
|
|
11
|
+
|
|
12
|
+
For acting as a real user account (not a bot), use [`agent-telegram`](./telegram) instead.
|
|
13
|
+
|
|
14
|
+
## Requirements
|
|
15
|
+
|
|
16
|
+
- A bot token from [@BotFather](https://t.me/BotFather)
|
|
17
|
+
- Node.js 18+ or Bun runtime
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Set your bot token (validates against Telegram)
|
|
23
|
+
agent-telegrambot auth set 123456789:ABC-DEF1234...
|
|
24
|
+
|
|
25
|
+
# Verify auth
|
|
26
|
+
agent-telegrambot whoami
|
|
27
|
+
|
|
28
|
+
# Send a message
|
|
29
|
+
agent-telegrambot message send @channelname "Hello"
|
|
30
|
+
|
|
31
|
+
# Get chat info
|
|
32
|
+
agent-telegrambot chat info @channelname
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Authentication
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Set bot token
|
|
39
|
+
agent-telegrambot auth set <token>
|
|
40
|
+
|
|
41
|
+
# Set with custom bot identifier
|
|
42
|
+
agent-telegrambot auth set <token> --bot deploy
|
|
43
|
+
|
|
44
|
+
# Check auth status
|
|
45
|
+
agent-telegrambot auth status
|
|
46
|
+
|
|
47
|
+
# List stored bots
|
|
48
|
+
agent-telegrambot auth list
|
|
49
|
+
|
|
50
|
+
# Switch active bot
|
|
51
|
+
agent-telegrambot auth use <bot-id>
|
|
52
|
+
|
|
53
|
+
# Remove a stored bot
|
|
54
|
+
agent-telegrambot auth remove <bot-id>
|
|
55
|
+
|
|
56
|
+
# Clear all credentials
|
|
57
|
+
agent-telegrambot auth clear
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Credentials are stored in `~/.config/agent-messenger/telegrambot-credentials.json` (0600 permissions).
|
|
61
|
+
|
|
62
|
+
## Commands
|
|
63
|
+
|
|
64
|
+
### Messages
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Send a text message
|
|
68
|
+
agent-telegrambot message send <chat> <text>
|
|
69
|
+
|
|
70
|
+
# Format with Markdown or HTML
|
|
71
|
+
agent-telegrambot message send <chat> "<b>Bold</b>" --parse-mode HTML
|
|
72
|
+
|
|
73
|
+
# Reply to a specific message
|
|
74
|
+
agent-telegrambot message send <chat> "Reply" --reply-to 12345
|
|
75
|
+
|
|
76
|
+
# Send silently
|
|
77
|
+
agent-telegrambot message send <chat> "..." --silent
|
|
78
|
+
|
|
79
|
+
# Forum topic
|
|
80
|
+
agent-telegrambot message send <chat> "..." --thread-id 5
|
|
81
|
+
|
|
82
|
+
# Edit a message
|
|
83
|
+
agent-telegrambot message update <chat> <message-id> <new-text>
|
|
84
|
+
|
|
85
|
+
# Delete a message
|
|
86
|
+
agent-telegrambot message delete <chat> <message-id> --force
|
|
87
|
+
|
|
88
|
+
# Forward a message
|
|
89
|
+
agent-telegrambot message forward <to-chat> <from-chat> <message-id>
|
|
90
|
+
|
|
91
|
+
# Upload a document
|
|
92
|
+
agent-telegrambot message upload <chat> ./file.pdf --caption "Report"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Chats
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Get chat info (title, type, description, member count)
|
|
99
|
+
agent-telegrambot chat info <chat>
|
|
100
|
+
|
|
101
|
+
# Get a specific member's status
|
|
102
|
+
agent-telegrambot chat member <chat> <user-id>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Reactions
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Set a reaction (replaces existing)
|
|
109
|
+
agent-telegrambot reaction set <chat> <message-id> 👍
|
|
110
|
+
|
|
111
|
+
# Big animation
|
|
112
|
+
agent-telegrambot reaction set <chat> <message-id> 👍 --big
|
|
113
|
+
|
|
114
|
+
# Clear reactions
|
|
115
|
+
agent-telegrambot reaction clear <chat> <message-id>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Whoami
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
agent-telegrambot whoami
|
|
122
|
+
agent-telegrambot whoami --bot <bot-id>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Chat IDs
|
|
126
|
+
|
|
127
|
+
The `<chat>` argument accepts:
|
|
128
|
+
|
|
129
|
+
- **Numeric ID**: `123456789` (user), `-1001234567890` (supergroup/channel)
|
|
130
|
+
- **@username**: `@channelname` (public chats only)
|
|
131
|
+
- **Plain username**: `channelname` (auto-prefixed with `@`)
|
|
132
|
+
|
|
133
|
+
## Global Options
|
|
134
|
+
|
|
135
|
+
| Option | Description |
|
|
136
|
+
| ------------ | ------------------------------------- |
|
|
137
|
+
| `--pretty` | Human-readable output instead of JSON |
|
|
138
|
+
| `--bot <id>` | Use a specific bot for this command |
|
|
139
|
+
|
|
140
|
+
## Real-Time Events
|
|
141
|
+
|
|
142
|
+
The CLI does not expose real-time events, but the SDK does — via long-polling. See the [SDK reference](../sdk/telegrambot) for `TelegramBotListener`.
|
|
143
|
+
|
|
144
|
+
## Common Errors
|
|
145
|
+
|
|
146
|
+
- `Unauthorized` — Invalid or revoked token. Generate a new one via @BotFather.
|
|
147
|
+
- `Forbidden` — User hasn't `/start`ed the bot, bot was kicked, or bot lacks permissions.
|
|
148
|
+
- `Bad Request: chat not found` — Wrong chat ID or bot isn't in the chat.
|
|
149
|
+
- `Conflict` — Another polling instance (or webhook) is active for this bot.
|
|
@@ -33,14 +33,14 @@ No app creation. No admin approval. No waiting.
|
|
|
33
33
|
|
|
34
34
|
## Key Features
|
|
35
35
|
|
|
36
|
-
| Feature | Description
|
|
37
|
-
| ------------------- |
|
|
38
|
-
| **Auto-extraction** | Pulls tokens from desktop apps automatically
|
|
39
|
-
| **Multi-platform** | Slack, Discord, Microsoft Teams, Telegram, WhatsApp, LINE, Instagram, KakaoTalk, and Channel Talk (beta)
|
|
40
|
-
| **Multi-workspace** | Switch between workspaces/servers easily
|
|
41
|
-
| **JSON output** | Machine-readable by default, `--pretty` for humans
|
|
42
|
-
| **Comprehensive** | Messages, channels, users, reactions, files
|
|
43
|
-
| **Bot support** | [`agent-slackbot`](/docs/cli/slackbot), [`agent-discordbot`](/docs/cli/discordbot), and [`agent-channeltalkbot`](/docs/cli/channeltalkbot) for server-side and CI/CD |
|
|
36
|
+
| Feature | Description |
|
|
37
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
38
|
+
| **Auto-extraction** | Pulls tokens from desktop apps automatically |
|
|
39
|
+
| **Multi-platform** | Slack, Discord, Microsoft Teams, Telegram, WhatsApp, LINE, Instagram, KakaoTalk, and Channel Talk (beta) |
|
|
40
|
+
| **Multi-workspace** | Switch between workspaces/servers easily |
|
|
41
|
+
| **JSON output** | Machine-readable by default, `--pretty` for humans |
|
|
42
|
+
| **Comprehensive** | Messages, channels, users, reactions, files |
|
|
43
|
+
| **Bot support** | [`agent-slackbot`](/docs/cli/slackbot), [`agent-discordbot`](/docs/cli/discordbot), [`agent-telegrambot`](/docs/cli/telegrambot), and [`agent-channeltalkbot`](/docs/cli/channeltalkbot) for server-side and CI/CD |
|
|
44
44
|
|
|
45
45
|
## Why Not MCP?
|
|
46
46
|
|
|
@@ -81,7 +81,7 @@ OAuth is better when you need:
|
|
|
81
81
|
- **Multi-user applications** - Many users authenticating separately
|
|
82
82
|
- **Granular permissions** - Fine-tuned access control
|
|
83
83
|
|
|
84
|
-
For these use cases, Agent Messenger also supports bot tokens via [`agent-slackbot`](/docs/cli/slackbot), [`agent-discordbot`](/docs/cli/discordbot), and [`agent-channeltalkbot`](/docs/cli/channeltalkbot).
|
|
84
|
+
For these use cases, Agent Messenger also supports bot tokens via [`agent-slackbot`](/docs/cli/slackbot), [`agent-discordbot`](/docs/cli/discordbot), [`agent-telegrambot`](/docs/cli/telegrambot), and [`agent-channeltalkbot`](/docs/cli/channeltalkbot).
|
|
85
85
|
|
|
86
86
|
## Design Principles
|
|
87
87
|
|
|
@@ -114,6 +114,7 @@ Tokens stay on your machine. Nothing is sent to external servers. Your credentia
|
|
|
114
114
|
- [Discord Bot](/docs/cli/discordbot) - Bot token integration for server-side and CI/CD
|
|
115
115
|
- [Teams](/docs/cli/teams) - Full Teams command reference
|
|
116
116
|
- [Telegram](/docs/cli/telegram) - TDLib setup and Telegram command reference
|
|
117
|
+
- [Telegram Bot](/docs/cli/telegrambot) - Bot token integration for server-side and CI/CD
|
|
117
118
|
- [WhatsApp](/docs/cli/whatsapp) - Full WhatsApp command reference
|
|
118
119
|
- [WhatsApp Bot](/docs/cli/whatsappbot) - Cloud API integration for WhatsApp Business
|
|
119
120
|
- [LINE](/docs/cli/line) - Full LINE command reference
|
|
@@ -31,6 +31,7 @@ This installs these CLI tools:
|
|
|
31
31
|
- `agent-discordbot` — Discord Bot CLI (bot token, for server-side/CI/CD)
|
|
32
32
|
- `agent-teams` — Microsoft Teams CLI
|
|
33
33
|
- `agent-telegram` — Telegram CLI (user account via TDLib)
|
|
34
|
+
- `agent-telegrambot` — Telegram Bot CLI (bot token, for server-side/CI/CD)
|
|
34
35
|
- `agent-whatsapp` — WhatsApp CLI (user account via Baileys, pairing code auth)
|
|
35
36
|
- `agent-whatsappbot` — WhatsApp Bot CLI (Cloud API, for server-side/CI/CD)
|
|
36
37
|
- `agent-line` — LINE CLI (QR code login, Thrift protocol)
|
|
@@ -123,6 +124,7 @@ agent-slack workspace current
|
|
|
123
124
|
- [Discord Bot Reference](/docs/cli/discordbot) - Bot token for server-side/CI/CD
|
|
124
125
|
- [Teams Reference](/docs/cli/teams) - Full command reference
|
|
125
126
|
- [Telegram Reference](/docs/cli/telegram) - TDLib setup and command reference
|
|
127
|
+
- [Telegram Bot Reference](/docs/cli/telegrambot) - Bot token for server-side/CI/CD
|
|
126
128
|
- [WhatsApp Reference](/docs/cli/whatsapp) - Full command reference
|
|
127
129
|
- [WhatsApp Bot Reference](/docs/cli/whatsappbot) - Cloud API for WhatsApp Business
|
|
128
130
|
- [KakaoTalk Reference](/docs/cli/kakaotalk) - Full command reference
|