@teactjs/telegram 0.1.0-alpha.1
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/README.md +111 -0
- package/dist/index.js +8263 -0
- package/dist/react/src/callback-registry.d.ts +11 -0
- package/dist/react/src/callback-registry.d.ts.map +1 -0
- package/dist/react/src/components.d.ts +396 -0
- package/dist/react/src/components.d.ts.map +1 -0
- package/dist/react/src/error-boundary.d.ts +19 -0
- package/dist/react/src/error-boundary.d.ts.map +1 -0
- package/dist/react/src/hooks.d.ts +37 -0
- package/dist/react/src/hooks.d.ts.map +1 -0
- package/dist/react/src/index.d.ts +11 -0
- package/dist/react/src/index.d.ts.map +1 -0
- package/dist/renderer/src/index.d.ts +5 -0
- package/dist/renderer/src/index.d.ts.map +1 -0
- package/dist/renderer/src/nodes.d.ts +23 -0
- package/dist/renderer/src/nodes.d.ts.map +1 -0
- package/dist/renderer/src/renderer.d.ts +9 -0
- package/dist/renderer/src/renderer.d.ts.map +1 -0
- package/dist/renderer/src/types.d.ts +36 -0
- package/dist/renderer/src/types.d.ts.map +1 -0
- package/dist/runtime/src/auth-session.d.ts +51 -0
- package/dist/runtime/src/auth-session.d.ts.map +1 -0
- package/dist/runtime/src/auth.d.ts +37 -0
- package/dist/runtime/src/auth.d.ts.map +1 -0
- package/dist/runtime/src/bot.d.ts +143 -0
- package/dist/runtime/src/bot.d.ts.map +1 -0
- package/dist/runtime/src/config.d.ts +38 -0
- package/dist/runtime/src/config.d.ts.map +1 -0
- package/dist/runtime/src/context.d.ts +74 -0
- package/dist/runtime/src/context.d.ts.map +1 -0
- package/dist/runtime/src/conversation.d.ts +310 -0
- package/dist/runtime/src/conversation.d.ts.map +1 -0
- package/dist/runtime/src/event-hooks.d.ts +49 -0
- package/dist/runtime/src/event-hooks.d.ts.map +1 -0
- package/dist/runtime/src/i18n.d.ts +55 -0
- package/dist/runtime/src/i18n.d.ts.map +1 -0
- package/dist/runtime/src/index.d.ts +28 -0
- package/dist/runtime/src/index.d.ts.map +1 -0
- package/dist/runtime/src/invoice.d.ts +120 -0
- package/dist/runtime/src/invoice.d.ts.map +1 -0
- package/dist/runtime/src/media-hooks.d.ts +178 -0
- package/dist/runtime/src/media-hooks.d.ts.map +1 -0
- package/dist/runtime/src/middleware.d.ts +26 -0
- package/dist/runtime/src/middleware.d.ts.map +1 -0
- package/dist/runtime/src/plugin.d.ts +32 -0
- package/dist/runtime/src/plugin.d.ts.map +1 -0
- package/dist/runtime/src/router.d.ts +168 -0
- package/dist/runtime/src/router.d.ts.map +1 -0
- package/dist/runtime/src/session.d.ts +20 -0
- package/dist/runtime/src/session.d.ts.map +1 -0
- package/dist/runtime/src/stream.d.ts +34 -0
- package/dist/runtime/src/stream.d.ts.map +1 -0
- package/dist/telegram/src/adapter.d.ts +83 -0
- package/dist/telegram/src/adapter.d.ts.map +1 -0
- package/dist/telegram/src/conversations.d.ts +175 -0
- package/dist/telegram/src/conversations.d.ts.map +1 -0
- package/dist/telegram/src/index.d.ts +8 -0
- package/dist/telegram/src/index.d.ts.map +1 -0
- package/dist/telegram/src/serialize.d.ts +80 -0
- package/dist/telegram/src/serialize.d.ts.map +1 -0
- package/dist/telegram/src/stream.d.ts +12 -0
- package/dist/telegram/src/stream.d.ts.map +1 -0
- package/package.json +38 -0
- package/src/index.ts +7 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type CallbackHandler = () => void;
|
|
3
|
+
export type CallbackMap = Map<string, CallbackHandler>;
|
|
4
|
+
/**
|
|
5
|
+
* Shared between Button components (register handlers during render)
|
|
6
|
+
* and the runtime (dispatch handlers when callback queries arrive).
|
|
7
|
+
*/
|
|
8
|
+
export declare const CallbackRegistryCtx: React.Context<{
|
|
9
|
+
handlers: CallbackMap;
|
|
10
|
+
} | null>;
|
|
11
|
+
//# sourceMappingURL=callback-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback-registry.d.ts","sourceRoot":"","sources":["../../../../react/src/callback-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AACzC,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB;cAAmC,WAAW;SAAgB,CAAC"}
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
|
+
export interface MessageProps {
|
|
3
|
+
text?: string;
|
|
4
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
5
|
+
disablePreview?: boolean;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Sends a text message. Supports inline formatting children and keyboard children.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <Message text="Hello, world!" parseMode="MarkdownV2">
|
|
13
|
+
* <InlineKeyboard>
|
|
14
|
+
* <ButtonRow><Button text="Click me" onClick={() => {}} /></ButtonRow>
|
|
15
|
+
* </InlineKeyboard>
|
|
16
|
+
* </Message>
|
|
17
|
+
*/
|
|
18
|
+
export declare function Message({ text, parseMode, disablePreview, children }: MessageProps): React.ReactNode;
|
|
19
|
+
export declare namespace Message {
|
|
20
|
+
var Bold: typeof import("./components").Bold;
|
|
21
|
+
var Italic: typeof import("./components").Italic;
|
|
22
|
+
var Code: typeof import("./components").Code;
|
|
23
|
+
}
|
|
24
|
+
export interface InlineKeyboardProps {
|
|
25
|
+
children?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Container for inline keyboard button rows. Must be a child of `<Message>`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* <InlineKeyboard>
|
|
32
|
+
* <ButtonRow>
|
|
33
|
+
* <Button text="Option A" onClick={() => {}} />
|
|
34
|
+
* <Button text="Option B" onClick={() => {}} />
|
|
35
|
+
* </ButtonRow>
|
|
36
|
+
* </InlineKeyboard>
|
|
37
|
+
*/
|
|
38
|
+
export declare function InlineKeyboard({ children }: InlineKeyboardProps): React.ReactNode;
|
|
39
|
+
export declare namespace InlineKeyboard {
|
|
40
|
+
var Row: typeof ButtonRow;
|
|
41
|
+
var Button: typeof import("./components").Button;
|
|
42
|
+
}
|
|
43
|
+
export interface ButtonRowProps {
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
/** A row of buttons inside an `<InlineKeyboard>`. */
|
|
47
|
+
export declare function ButtonRow({ children }: ButtonRowProps): React.ReactNode;
|
|
48
|
+
export type ButtonVariant = 'default' | 'primary' | 'destructive' | 'outline';
|
|
49
|
+
export interface ButtonProps {
|
|
50
|
+
text: string;
|
|
51
|
+
variant?: ButtonVariant;
|
|
52
|
+
onClick?: string | (() => void);
|
|
53
|
+
url?: string;
|
|
54
|
+
conversation?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* An inline keyboard button. Must be inside `<ButtonRow>` within `<InlineKeyboard>`.
|
|
58
|
+
*
|
|
59
|
+
* @param props.text - Button label displayed to the user.
|
|
60
|
+
* @param props.onClick - Callback function or raw callback_data string.
|
|
61
|
+
* @param props.url - Opens a URL when tapped (no callback).
|
|
62
|
+
* @param props.variant - Visual prefix hint: `'primary'`, `'destructive'`, `'outline'`, or `'default'`.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* <Button text="Visit" url="https://example.com" />
|
|
66
|
+
* <Button text="Delete" variant="destructive" onClick={handleDelete} />
|
|
67
|
+
*/
|
|
68
|
+
export declare function Button({ text, variant, onClick, url, conversation }: ButtonProps): React.ReactNode;
|
|
69
|
+
export declare namespace Button {
|
|
70
|
+
var Row: typeof ButtonRow;
|
|
71
|
+
var WebApp: typeof WebAppButton;
|
|
72
|
+
}
|
|
73
|
+
export interface WebAppButtonProps {
|
|
74
|
+
text: string;
|
|
75
|
+
url: string;
|
|
76
|
+
variant?: ButtonVariant;
|
|
77
|
+
}
|
|
78
|
+
/** A button that opens a Telegram Web App. Use as `<Button.WebApp>`. */
|
|
79
|
+
export declare function WebAppButton({ text, url, variant }: WebAppButtonProps): React.ReactNode;
|
|
80
|
+
export interface PhotoProps {
|
|
81
|
+
src: string;
|
|
82
|
+
caption?: string;
|
|
83
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
84
|
+
hasSpoiler?: boolean;
|
|
85
|
+
children?: ReactNode;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sends a photo message.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* <Photo src="https://example.com/cat.jpg" caption="A cute cat" />
|
|
92
|
+
*/
|
|
93
|
+
export declare function Photo({ src, caption, parseMode, hasSpoiler, children }: PhotoProps): React.ReactNode;
|
|
94
|
+
export interface VideoProps {
|
|
95
|
+
src: string;
|
|
96
|
+
caption?: string;
|
|
97
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
98
|
+
width?: number;
|
|
99
|
+
height?: number;
|
|
100
|
+
duration?: number;
|
|
101
|
+
supportsStreaming?: boolean;
|
|
102
|
+
hasSpoiler?: boolean;
|
|
103
|
+
children?: ReactNode;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Sends a video message.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* <Video src="https://example.com/clip.mp4" caption="Watch this" />
|
|
110
|
+
*/
|
|
111
|
+
export declare function Video({ src, caption, parseMode, width, height, duration, supportsStreaming, hasSpoiler, children }: VideoProps): React.ReactNode;
|
|
112
|
+
export interface AnimationProps {
|
|
113
|
+
src: string;
|
|
114
|
+
caption?: string;
|
|
115
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
116
|
+
width?: number;
|
|
117
|
+
height?: number;
|
|
118
|
+
duration?: number;
|
|
119
|
+
hasSpoiler?: boolean;
|
|
120
|
+
children?: ReactNode;
|
|
121
|
+
}
|
|
122
|
+
/** Sends a GIF/animation message. */
|
|
123
|
+
export declare function Animation({ src, caption, parseMode, width, height, duration, hasSpoiler, children }: AnimationProps): React.ReactNode;
|
|
124
|
+
export interface VoiceProps {
|
|
125
|
+
src: string;
|
|
126
|
+
caption?: string;
|
|
127
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
128
|
+
duration?: number;
|
|
129
|
+
children?: ReactNode;
|
|
130
|
+
}
|
|
131
|
+
/** Sends a voice message (`.ogg` encoded with OPUS). */
|
|
132
|
+
export declare function Voice({ src, caption, parseMode, duration, children }: VoiceProps): React.ReactNode;
|
|
133
|
+
export interface AudioProps {
|
|
134
|
+
src: string;
|
|
135
|
+
caption?: string;
|
|
136
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
137
|
+
performer?: string;
|
|
138
|
+
title?: string;
|
|
139
|
+
duration?: number;
|
|
140
|
+
children?: ReactNode;
|
|
141
|
+
}
|
|
142
|
+
/** Sends an audio file (shown with player UI in Telegram). */
|
|
143
|
+
export declare function Audio({ src, caption, parseMode, performer, title, duration, children }: AudioProps): React.ReactNode;
|
|
144
|
+
export interface VideoNoteProps {
|
|
145
|
+
src: string;
|
|
146
|
+
duration?: number;
|
|
147
|
+
length?: number;
|
|
148
|
+
}
|
|
149
|
+
/** Sends a round video note (Telegram circle video). */
|
|
150
|
+
export declare function VideoNote({ src, duration, length }: VideoNoteProps): React.ReactNode;
|
|
151
|
+
export interface StickerProps {
|
|
152
|
+
src: string;
|
|
153
|
+
emoji?: string;
|
|
154
|
+
}
|
|
155
|
+
/** Sends a sticker by file ID or URL. */
|
|
156
|
+
export declare function Sticker({ src, emoji }: StickerProps): React.ReactNode;
|
|
157
|
+
export interface DocumentProps {
|
|
158
|
+
src: string;
|
|
159
|
+
caption?: string;
|
|
160
|
+
filename?: string;
|
|
161
|
+
children?: ReactNode;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Sends a document/file message.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* <Document src="https://example.com/report.pdf" caption="Monthly report" />
|
|
168
|
+
*/
|
|
169
|
+
export declare function Document({ src, caption, filename, children }: DocumentProps): React.ReactNode;
|
|
170
|
+
export interface ContactProps {
|
|
171
|
+
phoneNumber: string;
|
|
172
|
+
firstName: string;
|
|
173
|
+
lastName?: string;
|
|
174
|
+
vcard?: string;
|
|
175
|
+
}
|
|
176
|
+
/** Sends a contact card. */
|
|
177
|
+
export declare function Contact({ phoneNumber, firstName, lastName, vcard }: ContactProps): React.ReactNode;
|
|
178
|
+
export interface LocationProps {
|
|
179
|
+
latitude: number;
|
|
180
|
+
longitude: number;
|
|
181
|
+
horizontalAccuracy?: number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Sends a static location pin.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* <Location latitude={9.0192} longitude={38.7525} />
|
|
188
|
+
*/
|
|
189
|
+
export declare function Location({ latitude, longitude, horizontalAccuracy }: LocationProps): React.ReactNode;
|
|
190
|
+
export declare namespace Location {
|
|
191
|
+
var Live: typeof LiveLocation;
|
|
192
|
+
var Venue: typeof import("./components").Venue;
|
|
193
|
+
}
|
|
194
|
+
export interface LiveLocationProps {
|
|
195
|
+
latitude: number;
|
|
196
|
+
longitude: number;
|
|
197
|
+
livePeriod: number;
|
|
198
|
+
horizontalAccuracy?: number;
|
|
199
|
+
heading?: number;
|
|
200
|
+
proximityAlertRadius?: number;
|
|
201
|
+
}
|
|
202
|
+
/** Sends a live location that updates in real-time. Use as `<Location.Live>`. */
|
|
203
|
+
export declare function LiveLocation({ latitude, longitude, livePeriod, horizontalAccuracy, heading, proximityAlertRadius }: LiveLocationProps): React.ReactNode;
|
|
204
|
+
export interface VenueProps {
|
|
205
|
+
latitude: number;
|
|
206
|
+
longitude: number;
|
|
207
|
+
title: string;
|
|
208
|
+
address: string;
|
|
209
|
+
foursquareId?: string;
|
|
210
|
+
foursquareType?: string;
|
|
211
|
+
googlePlaceId?: string;
|
|
212
|
+
googlePlaceType?: string;
|
|
213
|
+
}
|
|
214
|
+
/** Sends a venue (location with name and address). Use as `<Location.Venue>`. */
|
|
215
|
+
export declare function Venue({ latitude, longitude, title, address, foursquareId, foursquareType, googlePlaceId, googlePlaceType }: VenueProps): React.ReactNode;
|
|
216
|
+
export interface MediaGroupProps {
|
|
217
|
+
children?: ReactNode;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Groups multiple photos/videos into a single album message.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* <MediaGroup>
|
|
224
|
+
* <MediaGroup.Photo src="https://example.com/a.jpg" />
|
|
225
|
+
* <MediaGroup.Photo src="https://example.com/b.jpg" caption="Second" />
|
|
226
|
+
* </MediaGroup>
|
|
227
|
+
*/
|
|
228
|
+
export declare function MediaGroup({ children }: MediaGroupProps): React.ReactNode;
|
|
229
|
+
export declare namespace MediaGroup {
|
|
230
|
+
var Photo: typeof MediaPhoto;
|
|
231
|
+
var Video: typeof MediaVideo;
|
|
232
|
+
}
|
|
233
|
+
export interface MediaPhotoProps {
|
|
234
|
+
src: string;
|
|
235
|
+
caption?: string;
|
|
236
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
237
|
+
hasSpoiler?: boolean;
|
|
238
|
+
}
|
|
239
|
+
/** A photo within a `<MediaGroup>`. Use as `<MediaGroup.Photo>`. */
|
|
240
|
+
export declare function MediaPhoto({ src, caption, parseMode, hasSpoiler }: MediaPhotoProps): React.ReactNode;
|
|
241
|
+
export interface MediaVideoProps {
|
|
242
|
+
src: string;
|
|
243
|
+
caption?: string;
|
|
244
|
+
parseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
245
|
+
width?: number;
|
|
246
|
+
height?: number;
|
|
247
|
+
duration?: number;
|
|
248
|
+
supportsStreaming?: boolean;
|
|
249
|
+
hasSpoiler?: boolean;
|
|
250
|
+
}
|
|
251
|
+
/** A video within a `<MediaGroup>`. Use as `<MediaGroup.Video>`. */
|
|
252
|
+
export declare function MediaVideo({ src, caption, parseMode, width, height, duration, supportsStreaming, hasSpoiler }: MediaVideoProps): React.ReactNode;
|
|
253
|
+
export interface ReplyKeyboardProps {
|
|
254
|
+
oneTimeKeyboard?: boolean;
|
|
255
|
+
resizeKeyboard?: boolean;
|
|
256
|
+
placeholder?: string;
|
|
257
|
+
isPersistent?: boolean;
|
|
258
|
+
children?: ReactNode;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* A custom reply keyboard (buttons below the input field).
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* <ReplyKeyboard>
|
|
265
|
+
* <ReplyKeyboard.Row>
|
|
266
|
+
* <ReplyKeyboard.Button text="Yes" />
|
|
267
|
+
* <ReplyKeyboard.Button text="No" />
|
|
268
|
+
* </ReplyKeyboard.Row>
|
|
269
|
+
* </ReplyKeyboard>
|
|
270
|
+
*/
|
|
271
|
+
export declare function ReplyKeyboard({ oneTimeKeyboard, resizeKeyboard, placeholder, isPersistent, children }: ReplyKeyboardProps): React.ReactNode;
|
|
272
|
+
export declare namespace ReplyKeyboard {
|
|
273
|
+
var Row: typeof ReplyRow;
|
|
274
|
+
var Button: typeof ReplyButton;
|
|
275
|
+
var RequestContact: typeof RequestContactButton;
|
|
276
|
+
var RequestLocation: typeof RequestLocationButton;
|
|
277
|
+
}
|
|
278
|
+
export interface ReplyRowProps {
|
|
279
|
+
children?: ReactNode;
|
|
280
|
+
}
|
|
281
|
+
/** A row inside `<ReplyKeyboard>`. Use as `<ReplyKeyboard.Row>`. */
|
|
282
|
+
export declare function ReplyRow({ children }: ReplyRowProps): React.ReactNode;
|
|
283
|
+
export interface ReplyButtonProps {
|
|
284
|
+
text: string;
|
|
285
|
+
}
|
|
286
|
+
/** A text button inside `<ReplyKeyboard>`. Use as `<ReplyKeyboard.Button>`. */
|
|
287
|
+
export declare function ReplyButton({ text }: ReplyButtonProps): React.ReactNode;
|
|
288
|
+
export interface RequestContactButtonProps {
|
|
289
|
+
text: string;
|
|
290
|
+
}
|
|
291
|
+
/** A reply button that requests the user's phone contact. Use as `<ReplyKeyboard.RequestContact>`. */
|
|
292
|
+
export declare function RequestContactButton({ text }: RequestContactButtonProps): React.ReactNode;
|
|
293
|
+
export interface RequestLocationButtonProps {
|
|
294
|
+
text: string;
|
|
295
|
+
}
|
|
296
|
+
/** A reply button that requests the user's location. Use as `<ReplyKeyboard.RequestLocation>`. */
|
|
297
|
+
export declare function RequestLocationButton({ text }: RequestLocationButtonProps): React.ReactNode;
|
|
298
|
+
/** Removes the active custom reply keyboard from the chat. */
|
|
299
|
+
export declare function ReplyKeyboardRemove(): React.ReactNode;
|
|
300
|
+
export interface NotificationProps {
|
|
301
|
+
text: string;
|
|
302
|
+
showAlert?: boolean;
|
|
303
|
+
}
|
|
304
|
+
/** Shows a callback query notification (toast) or alert popup to the user. */
|
|
305
|
+
export declare function Notification({ text, showAlert }: NotificationProps): React.ReactNode;
|
|
306
|
+
export interface PollProps {
|
|
307
|
+
question: string;
|
|
308
|
+
options: string[];
|
|
309
|
+
isAnonymous?: boolean;
|
|
310
|
+
type?: 'regular' | 'quiz';
|
|
311
|
+
allowsMultipleAnswers?: boolean;
|
|
312
|
+
correctOptionId?: number;
|
|
313
|
+
explanation?: string;
|
|
314
|
+
explanationParseMode?: 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
315
|
+
openPeriod?: number;
|
|
316
|
+
isClosed?: boolean;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Sends a poll. Use `<Poll.Quiz>` for quiz-type polls with a correct answer.
|
|
320
|
+
*
|
|
321
|
+
* @example
|
|
322
|
+
* <Poll question="Favorite starter?" options={['Bulbasaur', 'Charmander', 'Squirtle']} />
|
|
323
|
+
*/
|
|
324
|
+
export declare function Poll({ question, options, isAnonymous, type, allowsMultipleAnswers, correctOptionId, explanation, explanationParseMode, openPeriod, isClosed, }: PollProps): React.ReactNode;
|
|
325
|
+
export declare namespace Poll {
|
|
326
|
+
var Quiz: (props: Omit<PollProps, "type"> & {
|
|
327
|
+
correctOptionId: number;
|
|
328
|
+
}) => React.ReactNode;
|
|
329
|
+
}
|
|
330
|
+
export interface BoldProps {
|
|
331
|
+
children?: ReactNode;
|
|
332
|
+
}
|
|
333
|
+
/** Bold text formatting. Use as `<Message.Bold>`. */
|
|
334
|
+
export declare function Bold({ children }: BoldProps): React.ReactNode;
|
|
335
|
+
export interface ItalicProps {
|
|
336
|
+
children?: ReactNode;
|
|
337
|
+
}
|
|
338
|
+
/** Italic text formatting. Use as `<Message.Italic>`. */
|
|
339
|
+
export declare function Italic({ children }: ItalicProps): React.ReactNode;
|
|
340
|
+
export interface CodeProps {
|
|
341
|
+
language?: string;
|
|
342
|
+
children?: ReactNode;
|
|
343
|
+
}
|
|
344
|
+
/** Monospace/code block formatting. Use as `<Message.Code>`. */
|
|
345
|
+
export declare function Code({ language, children }: CodeProps): React.ReactNode;
|
|
346
|
+
export type AlertVariant = 'info' | 'warning' | 'error' | 'success';
|
|
347
|
+
export interface AlertProps {
|
|
348
|
+
variant?: AlertVariant;
|
|
349
|
+
title?: string;
|
|
350
|
+
children?: ReactNode;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* A styled alert box with icon prefix. Variants: `'info'`, `'warning'`, `'error'`, `'success'`.
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* <Alert variant="success" title="Saved">Your preferences have been updated.</Alert>
|
|
357
|
+
*/
|
|
358
|
+
export declare function Alert({ variant, title, children }: AlertProps): React.ReactNode;
|
|
359
|
+
export interface ListProps {
|
|
360
|
+
ordered?: boolean;
|
|
361
|
+
children?: ReactNode;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* A text list. Use `<List.Item>` children. Set `ordered` for numbered items.
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* <List>
|
|
368
|
+
* <List.Item>Pikachu</List.Item>
|
|
369
|
+
* <List.Item>Charizard</List.Item>
|
|
370
|
+
* </List>
|
|
371
|
+
*/
|
|
372
|
+
export declare function List({ ordered, children }: ListProps): React.ReactNode;
|
|
373
|
+
export declare namespace List {
|
|
374
|
+
var Item: typeof ListItem;
|
|
375
|
+
}
|
|
376
|
+
export interface ListItemProps {
|
|
377
|
+
children?: ReactNode;
|
|
378
|
+
}
|
|
379
|
+
/** A single item in a `<List>`. Use as `<List.Item>`. */
|
|
380
|
+
export declare function ListItem({ children }: ListItemProps): React.ReactNode;
|
|
381
|
+
export interface DividerProps {
|
|
382
|
+
char?: string;
|
|
383
|
+
length?: number;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* A horizontal divider line.
|
|
387
|
+
*
|
|
388
|
+
* @param props.char - Character to repeat (default `'─'`).
|
|
389
|
+
* @param props.length - Number of repetitions (default `20`).
|
|
390
|
+
*/
|
|
391
|
+
export declare function Divider({ char, length }: DividerProps): React.ReactNode;
|
|
392
|
+
export interface SuspenseFallbackProps {
|
|
393
|
+
text?: string;
|
|
394
|
+
}
|
|
395
|
+
export declare function SuspenseFallback({ text }: SuspenseFallbackProps): React.ReactNode;
|
|
396
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../react/src/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReactNode, ErrorInfo } from 'react';
|
|
3
|
+
export interface ErrorBoundaryProps {
|
|
4
|
+
fallback?: ReactNode | ((error: Error, retry: () => void) => ReactNode);
|
|
5
|
+
onError?: (error: Error, info: ErrorInfo) => void;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
interface ErrorBoundaryState {
|
|
9
|
+
error: Error | null;
|
|
10
|
+
}
|
|
11
|
+
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
12
|
+
state: ErrorBoundaryState;
|
|
13
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
14
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
15
|
+
retry: () => void;
|
|
16
|
+
render(): React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../../react/src/error-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACxF,KAAK,EAAE,kBAAkB,CAAmB;IAE5C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS;IAI/C,KAAK,aAEH;IAEF,MAAM;CAoBP"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface UseQueryOptions<T> {
|
|
2
|
+
/** Unique cache key. Changing this re-fetches. */
|
|
3
|
+
key: string;
|
|
4
|
+
/** Async function that returns data. */
|
|
5
|
+
fn: () => Promise<T>;
|
|
6
|
+
/** Auto-fetch on mount (default: true). */
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/** Stale time in ms before refetching (default: 30s). */
|
|
9
|
+
staleTime?: number;
|
|
10
|
+
/** Refetch interval in ms (0 = disabled). */
|
|
11
|
+
refetchInterval?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface UseQueryResult<T> {
|
|
14
|
+
data: T | undefined;
|
|
15
|
+
error: Error | undefined;
|
|
16
|
+
isLoading: boolean;
|
|
17
|
+
isError: boolean;
|
|
18
|
+
isSuccess: boolean;
|
|
19
|
+
refetch: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export declare function useQuery<T>(options: UseQueryOptions<T>): UseQueryResult<T>;
|
|
22
|
+
export interface UseMutationOptions<T, V> {
|
|
23
|
+
fn: (variables: V) => Promise<T>;
|
|
24
|
+
onSuccess?: (data: T) => void;
|
|
25
|
+
onError?: (error: Error) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface UseMutationResult<T, V> {
|
|
28
|
+
data: T | undefined;
|
|
29
|
+
error: Error | undefined;
|
|
30
|
+
isLoading: boolean;
|
|
31
|
+
isError: boolean;
|
|
32
|
+
isSuccess: boolean;
|
|
33
|
+
mutate: (variables: V) => Promise<T | undefined>;
|
|
34
|
+
reset: () => void;
|
|
35
|
+
}
|
|
36
|
+
export declare function useMutation<T, V = void>(options: UseMutationOptions<T, V>): UseMutationResult<T, V>;
|
|
37
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../react/src/hooks.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAID,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAoD1E;AAID,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACtC,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACjD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAuCnG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { useState, useEffect, useReducer, useMemo, useCallback, useRef, useContext, useId, use, createContext, memo, Fragment, createElement, Suspense, } from 'react';
|
|
2
|
+
export { Message, Button, ButtonRow, InlineKeyboard, Photo, Document, Bold, Italic, Code, Alert, List, ListItem, Divider, SuspenseFallback, Video, Animation, Voice, Audio, VideoNote, Sticker, Contact, Location, LiveLocation, Venue, MediaGroup, MediaPhoto, MediaVideo, ReplyKeyboard, ReplyRow, ReplyButton, RequestContactButton, RequestLocationButton, ReplyKeyboardRemove, Notification, WebAppButton, Poll, } from './components';
|
|
3
|
+
export type { MessageProps, ButtonProps, ButtonVariant, ButtonRowProps, InlineKeyboardProps, PhotoProps, DocumentProps, BoldProps, ItalicProps, CodeProps, AlertProps, AlertVariant, ListProps, ListItemProps, DividerProps, SuspenseFallbackProps, VideoProps, AnimationProps, VoiceProps, AudioProps, VideoNoteProps, StickerProps, ContactProps, LocationProps, LiveLocationProps, VenueProps, MediaGroupProps, MediaPhotoProps, MediaVideoProps, ReplyKeyboardProps, ReplyRowProps, ReplyButtonProps, RequestContactButtonProps, RequestLocationButtonProps, NotificationProps, WebAppButtonProps, PollProps, } from './components';
|
|
4
|
+
export { ErrorBoundary } from './error-boundary';
|
|
5
|
+
export type { ErrorBoundaryProps } from './error-boundary';
|
|
6
|
+
export { useQuery, useMutation } from './hooks';
|
|
7
|
+
export type { UseQueryOptions, UseQueryResult, UseMutationOptions, UseMutationResult, } from './hooks';
|
|
8
|
+
export { CallbackRegistryCtx } from './callback-registry';
|
|
9
|
+
export type { CallbackHandler, CallbackMap } from './callback-registry';
|
|
10
|
+
export type { OutputNode, BotContext, User, SessionData } from '@teactjs/renderer';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../react/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,KAAK,EACL,GAAG,EACH,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChD,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAExE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TNode, TextNode } from './nodes';
|
|
2
|
+
export { createRoot, KNOWN_HOST_TYPES } from './renderer';
|
|
3
|
+
export type { TeactRoot } from './renderer';
|
|
4
|
+
export type { OutputNode, User, BotContext, SessionData, SessionStore, Middleware, } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../renderer/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,UAAU,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { OutputNode } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Internal mutable tree node used by the reconciler.
|
|
4
|
+
* After commit, the tree is serialized into immutable OutputNode objects.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TNode {
|
|
7
|
+
type: string;
|
|
8
|
+
props: Record<string, any>;
|
|
9
|
+
children: TNode[];
|
|
10
|
+
parent: TNode | null;
|
|
11
|
+
constructor(type: string, props?: Record<string, any>);
|
|
12
|
+
appendChild(child: TNode): void;
|
|
13
|
+
removeChild(child: TNode): void;
|
|
14
|
+
insertBefore(child: TNode, before: TNode): void;
|
|
15
|
+
/** Deep-serialize into a plain OutputNode tree (for adapter consumption). */
|
|
16
|
+
serialize(): OutputNode;
|
|
17
|
+
}
|
|
18
|
+
export declare class TextNode extends TNode {
|
|
19
|
+
text: string;
|
|
20
|
+
constructor(text: string);
|
|
21
|
+
serialize(): OutputNode;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../renderer/src/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,KAAK,EAAE,CAAM;IACvB,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;gBAEhB,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAKzD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK/B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM/B,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI;IAU/C,6EAA6E;IAC7E,SAAS,IAAI,UAAU;CAOxB;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM;IAKf,SAAS,IAAI,UAAU;CAGjC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { OutputNode } from './types';
|
|
3
|
+
export declare const KNOWN_HOST_TYPES: Set<string>;
|
|
4
|
+
export interface TeactRoot {
|
|
5
|
+
render(element: ReactNode): void;
|
|
6
|
+
unmount(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function createRoot(onCommit: (tree: OutputNode) => void): TeactRoot;
|
|
9
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../renderer/src/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAM1C,eAAO,MAAM,gBAAgB,aAS3B,CAAC;AA8JH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,SAAS,CAyB1E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Serialized output tree that adapters consume to send platform messages. */
|
|
2
|
+
export interface OutputNode {
|
|
3
|
+
type: string;
|
|
4
|
+
props: Record<string, any>;
|
|
5
|
+
children: OutputNode[];
|
|
6
|
+
}
|
|
7
|
+
export interface User {
|
|
8
|
+
id: string;
|
|
9
|
+
username?: string;
|
|
10
|
+
firstName?: string;
|
|
11
|
+
lastName?: string;
|
|
12
|
+
isBot?: boolean;
|
|
13
|
+
platform: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BotContext {
|
|
16
|
+
chatId: string;
|
|
17
|
+
userId: string;
|
|
18
|
+
user: User;
|
|
19
|
+
platform: string;
|
|
20
|
+
messageId?: string;
|
|
21
|
+
text?: string;
|
|
22
|
+
callbackData?: string;
|
|
23
|
+
/** The bot's own username (e.g. "my_bot"), available after connection. */
|
|
24
|
+
botUsername?: string;
|
|
25
|
+
raw: any;
|
|
26
|
+
}
|
|
27
|
+
export interface SessionData {
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}
|
|
30
|
+
export interface SessionStore {
|
|
31
|
+
get(key: string): Promise<SessionData | null>;
|
|
32
|
+
set(key: string, data: SessionData): Promise<void>;
|
|
33
|
+
delete(key: string): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
export type Middleware = (ctx: BotContext, next: () => Promise<void>) => Promise<void>;
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../renderer/src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC;CACV;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|