@grom.js/effect-tg 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/Bot.d.ts +13 -0
  2. package/dist/Bot.d.ts.map +1 -0
  3. package/dist/Bot.js +5 -0
  4. package/dist/Bot.js.map +1 -0
  5. package/dist/BotApi.d.ts +12 -3
  6. package/dist/BotApi.d.ts.map +1 -1
  7. package/dist/BotApi.js +7 -2
  8. package/dist/BotApi.js.map +1 -0
  9. package/dist/BotApiTransport.d.ts +11 -10
  10. package/dist/BotApiTransport.d.ts.map +1 -1
  11. package/dist/BotApiTransport.js +6 -8
  12. package/dist/BotApiTransport.js.map +1 -0
  13. package/dist/BotApiUrl.d.ts +14 -0
  14. package/dist/BotApiUrl.d.ts.map +1 -0
  15. package/dist/BotApiUrl.js +13 -0
  16. package/dist/BotApiUrl.js.map +1 -0
  17. package/dist/Content.d.ts +288 -16
  18. package/dist/Content.d.ts.map +1 -1
  19. package/dist/Content.js +189 -28
  20. package/dist/Content.js.map +1 -0
  21. package/dist/Dialog.d.ts +61 -0
  22. package/dist/Dialog.d.ts.map +1 -0
  23. package/dist/Dialog.js +35 -0
  24. package/dist/Dialog.js.map +1 -0
  25. package/dist/File.d.ts +23 -0
  26. package/dist/File.d.ts.map +1 -0
  27. package/dist/File.js +24 -0
  28. package/dist/File.js.map +1 -0
  29. package/dist/LinkPreview.d.ts +2 -2
  30. package/dist/LinkPreview.d.ts.map +1 -1
  31. package/dist/LinkPreview.js +17 -16
  32. package/dist/LinkPreview.js.map +1 -0
  33. package/dist/Markup.d.ts +41 -0
  34. package/dist/Markup.d.ts.map +1 -0
  35. package/dist/Markup.js +10 -0
  36. package/dist/Markup.js.map +1 -0
  37. package/dist/Runner.d.ts +18 -0
  38. package/dist/Runner.d.ts.map +1 -0
  39. package/dist/Runner.js +7 -0
  40. package/dist/Runner.js.map +1 -0
  41. package/dist/Send.d.ts +177 -13
  42. package/dist/Send.d.ts.map +1 -1
  43. package/dist/Send.js +187 -18
  44. package/dist/Send.js.map +1 -0
  45. package/dist/Text.d.ts +26 -10
  46. package/dist/Text.d.ts.map +1 -1
  47. package/dist/Text.js +11 -12
  48. package/dist/Text.js.map +1 -0
  49. package/dist/index.d.ts +6 -3
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +7 -3
  52. package/dist/index.js.map +1 -0
  53. package/dist/internal/botApi.d.ts +3 -4
  54. package/dist/internal/botApi.d.ts.map +1 -1
  55. package/dist/internal/botApi.js +18 -22
  56. package/dist/internal/botApi.js.map +1 -0
  57. package/dist/internal/botApiMethods.gen.d.ts +19 -19
  58. package/dist/internal/botApiMethods.gen.d.ts.map +1 -1
  59. package/dist/internal/botApiMethods.gen.js +1 -0
  60. package/dist/internal/botApiMethods.gen.js.map +1 -0
  61. package/dist/internal/botApiShape.gen.d.ts +159 -159
  62. package/dist/internal/botApiShape.gen.d.ts.map +1 -1
  63. package/dist/internal/botApiShape.gen.js +1 -0
  64. package/dist/internal/botApiShape.gen.js.map +1 -0
  65. package/dist/internal/botApiTransport.d.ts +4 -6
  66. package/dist/internal/botApiTransport.d.ts.map +1 -1
  67. package/dist/internal/botApiTransport.js +89 -17
  68. package/dist/internal/botApiTransport.js.map +1 -0
  69. package/dist/internal/botApiTypes.gen.js +1 -0
  70. package/dist/internal/botApiTypes.gen.js.map +1 -0
  71. package/dist/internal/dialog.d.ts +12 -0
  72. package/dist/internal/dialog.d.ts.map +1 -0
  73. package/dist/internal/dialog.js +19 -0
  74. package/dist/internal/dialog.js.map +1 -0
  75. package/dist/internal/runner.d.ts +8 -0
  76. package/dist/internal/runner.d.ts.map +1 -0
  77. package/dist/internal/runner.js +38 -0
  78. package/dist/internal/runner.js.map +1 -0
  79. package/dist/internal/send.d.ts +13 -0
  80. package/dist/internal/send.d.ts.map +1 -0
  81. package/dist/internal/send.js +220 -0
  82. package/dist/internal/send.js.map +1 -0
  83. package/package.json +14 -10
  84. package/src/Bot.ts +16 -0
  85. package/src/BotApi.ts +68 -0
  86. package/src/BotApiTransport.ts +55 -0
  87. package/src/BotApiUrl.ts +28 -0
  88. package/src/Content.ts +410 -0
  89. package/src/Dialog.ts +54 -0
  90. package/src/File.ts +45 -0
  91. package/src/LinkPreview.ts +26 -0
  92. package/src/Markup.ts +33 -0
  93. package/src/Runner.ts +22 -0
  94. package/src/Send.ts +330 -0
  95. package/src/Text.ts +42 -0
  96. package/src/index.ts +12 -0
  97. package/src/internal/botApi.ts +31 -0
  98. package/src/internal/botApiMethods.gen.ts +2027 -0
  99. package/src/internal/botApiShape.gen.ts +398 -0
  100. package/src/internal/botApiTransport.ts +118 -0
  101. package/src/internal/botApiTypes.gen.ts +4178 -0
  102. package/src/internal/dialog.ts +33 -0
  103. package/src/internal/runner.ts +57 -0
  104. package/src/internal/send.ts +318 -0
  105. package/dist/BotApiWebhook.d.ts +0 -41
  106. package/dist/BotApiWebhook.d.ts.map +0 -1
  107. package/dist/BotApiWebhook.js +0 -43
  108. package/dist/Chat.d.ts +0 -96
  109. package/dist/Chat.d.ts.map +0 -1
  110. package/dist/Chat.js +0 -48
  111. package/dist/InputFile.d.ts +0 -4
  112. package/dist/InputFile.d.ts.map +0 -1
  113. package/dist/InputFile.js +0 -3
  114. package/dist/internal/botApiMethod.d.ts +0 -8
  115. package/dist/internal/botApiMethod.d.ts.map +0 -1
  116. package/dist/internal/botApiMethod.js +0 -1
  117. package/dist/internal/chat.d.ts +0 -14
  118. package/dist/internal/chat.d.ts.map +0 -1
  119. package/dist/internal/chat.js +0 -20
package/dist/Content.js CHANGED
@@ -3,37 +3,198 @@ import * as Option from 'effect/Option';
3
3
  /**
4
4
  * Content of a text message.
5
5
  *
6
- * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_text.html td.td_api.inputMessageText}
6
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_text.html TDLib • td_api.inputMessageText}
7
+ * @see {@link https://core.telegram.org/bots/api#sendmessage Bot API • sendMessage}
7
8
  */
8
- export class Text extends Data.TaggedClass('text') {
9
- sendParams() {
10
- return {
11
- ...this.text.sendParams(),
12
- link_preview_options: Option.match(this.linkPreview, {
13
- onNone: () => ({ is_disabled: true }),
14
- onSome: lp => lp.options(),
15
- }),
16
- };
17
- }
9
+ export class Text extends Data.TaggedClass('Text') {
18
10
  }
19
11
  /**
20
12
  * Content of a photo message.
21
13
  *
22
- * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_photo.html td.td_api.inputMessagePhoto}
23
- */
24
- export class Photo extends Data.TaggedClass('photo') {
25
- sendParams() {
26
- const { text: caption, entities: caption_entities, parse_mode, } = Option.match(this.caption, {
27
- onNone: () => ({}),
28
- onSome: caption => caption.sendParams(),
29
- });
30
- return {
31
- photo: this.file,
32
- caption,
33
- caption_entities,
34
- parse_mode,
35
- show_caption_above_media: this.layout === 'caption-above',
36
- has_spoiler: this.spoiler,
37
- };
38
- }
14
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_photo.html TDLib • td_api.inputMessagePhoto}
15
+ * @see {@link https://core.telegram.org/bots/api#sendphoto Bot API • sendPhoto}
16
+ */
17
+ export class Photo extends Data.TaggedClass('Photo') {
18
+ }
19
+ /**
20
+ * Content of an audio message.
21
+ *
22
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_audio.html TDLib • td_api.inputMessageAudio}
23
+ * @see {@link https://core.telegram.org/bots/api#sendaudio Bot API • sendAudio}
24
+ */
25
+ export class Audio extends Data.TaggedClass('Audio') {
26
+ }
27
+ /**
28
+ * Content of a document message.
29
+ *
30
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_document.html TDLib • td_api.inputMessageDocument}
31
+ * @see {@link https://core.telegram.org/bots/api#senddocument Bot API • sendDocument}
32
+ */
33
+ export class Document extends Data.TaggedClass('Document') {
34
+ }
35
+ /**
36
+ * Content of a video message.
37
+ *
38
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_video.html TDLib • td_api.inputMessageVideo}
39
+ * @see {@link https://core.telegram.org/bots/api#sendvideo Bot API • sendVideo}
40
+ */
41
+ export class Video extends Data.TaggedClass('Video') {
42
+ }
43
+ /**
44
+ * Content of an animation message (GIF or video without sound).
45
+ *
46
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_animation.html TDLib • td_api.inputMessageAnimation}
47
+ * @see {@link https://core.telegram.org/bots/api#sendanimation Bot API • sendAnimation}
48
+ */
49
+ export class Animation extends Data.TaggedClass('Animation') {
50
+ }
51
+ /**
52
+ * Content of a voice note message.
53
+ *
54
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_voice_note.html TDLib • td_api.inputMessageVoiceNote}
55
+ * @see {@link https://core.telegram.org/bots/api#sendvoice Bot API • sendVoice}
56
+ */
57
+ export class Voice extends Data.TaggedClass('Voice') {
58
+ }
59
+ /**
60
+ * Content of a video note message (round video).
61
+ *
62
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_video_note.html TDLib • td_api.inputMessageVideoNote}
63
+ * @see {@link https://core.telegram.org/bots/api#sendvideonote Bot API • sendVideoNote}
64
+ */
65
+ export class VideoNote extends Data.TaggedClass('VideoNote') {
66
+ }
67
+ /**
68
+ * Content of a location message.
69
+ *
70
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_location.html TDLib • td_api.inputMessageLocation}
71
+ * @see {@link https://core.telegram.org/bots/api#sendlocation Bot API • sendLocation}
72
+ */
73
+ export class Location extends Data.TaggedClass('Location') {
74
+ }
75
+ /**
76
+ * Content of a venue message.
77
+ *
78
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_venue.html TDLib • td_api.inputMessageVenue}
79
+ * @see {@link https://core.telegram.org/bots/api#sendvenue Bot API • sendVenue}
80
+ */
81
+ export class Venue extends Data.TaggedClass('Venue') {
82
+ }
83
+ /**
84
+ * Content of a contact message.
85
+ *
86
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_contact.html TDLib • td_api.inputMessageContact}
87
+ * @see {@link https://core.telegram.org/bots/api#sendcontact Bot API • sendContact}
88
+ */
89
+ export class Contact extends Data.TaggedClass('Contact') {
90
+ }
91
+ /**
92
+ * Content of a dice message.
93
+ *
94
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_dice.html TDLib • td_api.inputMessageDice}
95
+ * @see {@link https://core.telegram.org/bots/api#senddice Bot API • sendDice}
96
+ */
97
+ export class Dice extends Data.TaggedClass('Dice') {
98
+ }
99
+ /**
100
+ * Content of a sticker message.
101
+ *
102
+ * @see {@link https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_sticker.html TDLib • td_api.inputMessageSticker}
103
+ * @see {@link https://core.telegram.org/bots/api#sendsticker Bot API • sendSticker}
104
+ */
105
+ export class Sticker extends Data.TaggedClass('Sticker') {
39
106
  }
107
+ // ——— Constructors ——————————————————————————————————————————————————————————
108
+ export const text = (text, options) => new Text({
109
+ text,
110
+ linkPreview: Option.fromNullable(options?.linkPreview),
111
+ });
112
+ export const photo = (file, options) => new Photo({
113
+ file,
114
+ caption: Option.fromNullable(options.caption),
115
+ layout: options.layout ?? 'caption-below',
116
+ spoiler: options.spoiler ?? false,
117
+ });
118
+ export const audio = (file, options) => new Audio({
119
+ file,
120
+ caption: Option.fromNullable(options.caption),
121
+ duration: Option.fromNullable(options.duration),
122
+ performer: Option.fromNullable(options.performer),
123
+ title: Option.fromNullable(options.title),
124
+ thumbnail: Option.fromNullable(options.thumbnail),
125
+ });
126
+ export const document = (file, options) => new Document({
127
+ file,
128
+ caption: Option.fromNullable(options.caption),
129
+ thumbnail: Option.fromNullable(options.thumbnail),
130
+ contentTypeDetection: options.contentTypeDetection ?? false,
131
+ });
132
+ export const video = (file, options) => new Video({
133
+ file,
134
+ caption: Option.fromNullable(options.caption),
135
+ layout: options.layout ?? 'caption-below',
136
+ spoiler: options.spoiler ?? false,
137
+ duration: Option.fromNullable(options.duration),
138
+ width: Option.fromNullable(options.width),
139
+ height: Option.fromNullable(options.height),
140
+ thumbnail: Option.fromNullable(options.thumbnail),
141
+ cover: Option.fromNullable(options.cover),
142
+ startAt: Option.fromNullable(options.startAt),
143
+ supportsStreaming: options.supportsStreaming ?? false,
144
+ });
145
+ export const animation = (file, options) => new Animation({
146
+ file,
147
+ caption: Option.fromNullable(options.caption),
148
+ layout: options.layout ?? 'caption-below',
149
+ spoiler: options.spoiler ?? false,
150
+ duration: Option.fromNullable(options.duration),
151
+ width: Option.fromNullable(options.width),
152
+ height: Option.fromNullable(options.height),
153
+ thumbnail: Option.fromNullable(options.thumbnail),
154
+ });
155
+ export const voice = (file, options) => new Voice({
156
+ file,
157
+ caption: Option.fromNullable(options.caption),
158
+ duration: Option.fromNullable(options.duration),
159
+ });
160
+ export const videoNote = (file, options) => new VideoNote({
161
+ file,
162
+ duration: Option.fromNullable(options.duration),
163
+ diameter: Option.fromNullable(options.diameter),
164
+ thumbnail: Option.fromNullable(options.thumbnail),
165
+ });
166
+ export const location = (options) => new Location({
167
+ latitude: options.latitude,
168
+ longitude: options.longitude,
169
+ uncertaintyRadius: Option.fromNullable(options.uncertaintyRadius),
170
+ livePeriod: Option.none(),
171
+ heading: Option.none(),
172
+ proximityAlertRadius: Option.none(),
173
+ });
174
+ export const liveLocation = (options) => new Location({
175
+ latitude: options.latitude,
176
+ longitude: options.longitude,
177
+ uncertaintyRadius: Option.fromNullable(options.uncertaintyRadius),
178
+ livePeriod: Option.some(options.livePeriod),
179
+ heading: Option.fromNullable(options.heading),
180
+ proximityAlertRadius: Option.fromNullable(options.proximityAlertRadius),
181
+ });
182
+ export const venue = (options) => new Venue({
183
+ latitude: options.latitude,
184
+ longitude: options.longitude,
185
+ title: options.title,
186
+ address: options.address,
187
+ foursquareId: Option.fromNullable(options.foursquareId),
188
+ foursquareType: Option.fromNullable(options.foursquareType),
189
+ googlePlaceId: Option.fromNullable(options.googlePlaceId),
190
+ googlePlaceType: Option.fromNullable(options.googlePlaceType),
191
+ });
192
+ export const contact = (options) => new Contact({
193
+ phoneNumber: options.phoneNumber,
194
+ firstName: options.firstName,
195
+ lastName: Option.fromNullable(options.lastName),
196
+ vcard: Option.fromNullable(options.vcard),
197
+ });
198
+ export const dice = (emoji) => new Dice({ emoji });
199
+ export const sticker = (file, emoji) => new Sticker({ file, emoji: Option.fromNullable(emoji) });
200
+ //# sourceMappingURL=Content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../src/Content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ export type Dialog = UserId | GroupId | ChannelId | SupergroupId | PublicChannel | PublicSupergroup | ForumTopic | ChannelDm;
2
+ declare const UserId_base: new (id: number) => {
3
+ readonly _tag: "UserId";
4
+ readonly id: number;
5
+ readonly dialogId: number;
6
+ };
7
+ export declare class UserId extends UserId_base {
8
+ }
9
+ declare const GroupId_base: new (id: number) => {
10
+ readonly _tag: "GroupId";
11
+ readonly id: number;
12
+ readonly dialogId: number;
13
+ };
14
+ export declare class GroupId extends GroupId_base {
15
+ }
16
+ declare const ChannelId_base: new (id: number) => {
17
+ readonly _tag: "ChannelId";
18
+ readonly id: number;
19
+ readonly dialogId: number;
20
+ };
21
+ export declare class ChannelId extends ChannelId_base {
22
+ }
23
+ declare const SupergroupId_base: new (id: number) => {
24
+ readonly _tag: "SupergroupId";
25
+ readonly id: number;
26
+ readonly dialogId: number;
27
+ };
28
+ export declare class SupergroupId extends SupergroupId_base {
29
+ }
30
+ declare const PublicChannel_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
31
+ readonly _tag: "PublicChannel";
32
+ };
33
+ export declare class PublicChannel extends PublicChannel_base<{
34
+ username: string;
35
+ }> {
36
+ }
37
+ declare const PublicSupergroup_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
38
+ readonly _tag: "PublicSupergroup";
39
+ };
40
+ export declare class PublicSupergroup extends PublicSupergroup_base<{
41
+ username: string;
42
+ }> {
43
+ }
44
+ declare const ForumTopic_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
45
+ readonly _tag: "ForumTopic";
46
+ };
47
+ export declare class ForumTopic extends ForumTopic_base<{
48
+ forum: SupergroupId | PublicSupergroup;
49
+ topicId: number;
50
+ }> {
51
+ }
52
+ declare const ChannelDm_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
53
+ readonly _tag: "ChannelDm";
54
+ };
55
+ export declare class ChannelDm extends ChannelDm_base<{
56
+ channel: ChannelId | PublicChannel;
57
+ userId: number;
58
+ }> {
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=Dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,MAAM,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,UAAU,GACV,SAAS,CAAA;;;;;;AAEf,qBAAa,MAAO,SAAQ,WAI1B;CAAG;;;;;;AAEL,qBAAa,OAAQ,SAAQ,YAI3B;CAAG;;;;;;AAEL,qBAAa,SAAU,SAAQ,cAI7B;CAAG;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAIhC;CAAG;;;;AAEL,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC;CAAG;;;;AAEL,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC;CAAG;;;;AAEL,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,KAAK,EAAE,YAAY,GAAG,gBAAgB,CAAA;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC;CAAG;;;;AAEL,qBAAa,SAAU,SAAQ,eAA8B;IAC3D,OAAO,EAAE,SAAS,GAAG,aAAa,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;CACf,CAAC;CAAG"}
package/dist/Dialog.js ADDED
@@ -0,0 +1,35 @@
1
+ import * as Data from 'effect/Data';
2
+ import * as internal from "./internal/dialog.js";
3
+ export class UserId extends internal.PeerId({
4
+ tag: 'UserId',
5
+ isValid: id => (id >= 1 && id <= 0xFFFFFFFFFF),
6
+ toDialogId: id => id,
7
+ }) {
8
+ }
9
+ export class GroupId extends internal.PeerId({
10
+ tag: 'GroupId',
11
+ isValid: id => (id >= 1 && id <= 999999999999),
12
+ toDialogId: id => -id,
13
+ }) {
14
+ }
15
+ export class ChannelId extends internal.PeerId({
16
+ tag: 'ChannelId',
17
+ isValid: id => (id >= 1 && id <= 997852516352),
18
+ toDialogId: id => -(1000000000000 + id),
19
+ }) {
20
+ }
21
+ export class SupergroupId extends internal.PeerId({
22
+ tag: 'SupergroupId',
23
+ isValid: id => (id >= 1 && id <= 997852516352),
24
+ toDialogId: id => -(1000000000000 + id),
25
+ }) {
26
+ }
27
+ export class PublicChannel extends Data.TaggedClass('PublicChannel') {
28
+ }
29
+ export class PublicSupergroup extends Data.TaggedClass('PublicSupergroup') {
30
+ }
31
+ export class ForumTopic extends Data.TaggedClass('ForumTopic') {
32
+ }
33
+ export class ChannelDm extends Data.TaggedClass('ChannelDm') {
34
+ }
35
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAYhD,MAAM,OAAO,MAAO,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;IAC9C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;CACrB,CAAC;CAAG;AAEL,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;IAC9C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;IAC9C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC;CACxC,CAAC;CAAG;AAEL,MAAM,OAAO,YAAa,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAChD,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;IAC9C,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC;CACxC,CAAC;CAAG;AAEL,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAEjE;CAAG;AAEL,MAAM,OAAO,gBAAiB,SAAQ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAEvE;CAAG;AAEL,MAAM,OAAO,UAAW,SAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,CAG3D;CAAG;AAEL,MAAM,OAAO,SAAU,SAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAGzD;CAAG"}
package/dist/File.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import type * as Stream from 'effect/Stream';
2
+ import * as HttpClient from '@effect/platform/HttpClient';
3
+ import * as Brand from 'effect/Brand';
4
+ import * as Effect from 'effect/Effect';
5
+ import * as BotApi from './BotApi.ts';
6
+ import * as BotApiUrl from './BotApiUrl.ts';
7
+ export type FileId = string & Brand.Brand<'FileId'>;
8
+ export declare const FileId: Brand.Brand.Constructor<FileId>;
9
+ export type External = URL & Brand.Brand<'External'>;
10
+ export declare const External: Brand.Brand.Constructor<External>;
11
+ declare const InputFile_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
12
+ readonly _tag: "InputFile";
13
+ };
14
+ export declare class InputFile extends InputFile_base<{
15
+ stream: Stream.Stream<Uint8Array>;
16
+ filename: string;
17
+ mimeType?: string;
18
+ }> {
19
+ }
20
+ export declare const download: (fileId: FileId) => Effect.Effect<ArrayBuffer, BotApi.BotApiError | import("./BotApiTransport.ts").BotApiTransportError | import("@effect/platform/HttpClientError").HttpClientError, BotApiUrl.BotApiUrl | HttpClient.HttpClient | BotApi.BotApi>;
21
+ export declare const downloadStream: (fileId: FileId) => Effect.Effect<Stream.Stream<Uint8Array<ArrayBufferLike>, import("@effect/platform/HttpClientError").ResponseError, never>, BotApi.BotApiError | import("./BotApiTransport.ts").BotApiTransportError | import("@effect/platform/HttpClientError").HttpClientError, BotApiUrl.BotApiUrl | HttpClient.HttpClient | BotApi.BotApi>;
22
+ export {};
23
+ //# sourceMappingURL=File.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../src/File.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AACnD,eAAO,MAAM,MAAM,iCAA0B,CAAA;AAE7C,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AACpD,eAAO,MAAM,QAAQ,mCAA4B,CAAA;;;;AAEjD,qBAAa,SAAU,SAAQ,eAA8B;IAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC;CAAG;AAgBL,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,mOAItC,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,mUAI5C,CAAA"}
package/dist/File.js ADDED
@@ -0,0 +1,24 @@
1
+ import * as HttpClient from '@effect/platform/HttpClient';
2
+ import * as Brand from 'effect/Brand';
3
+ import * as Data from 'effect/Data';
4
+ import * as Effect from 'effect/Effect';
5
+ import * as BotApi from "./BotApi.js";
6
+ import * as BotApiUrl from "./BotApiUrl.js";
7
+ export const FileId = Brand.nominal();
8
+ export const External = Brand.nominal();
9
+ export class InputFile extends Data.TaggedClass('InputFile') {
10
+ }
11
+ /**
12
+ * @internal
13
+ */
14
+ const downloadRequest = Effect.fnUntraced(function* (fileId) {
15
+ const file = yield* BotApi.callMethod('getFile', { file_id: fileId });
16
+ if (file.file_path == null) {
17
+ return yield* Effect.die(new Error(`Bot API returned no file path for file "${fileId}".`));
18
+ }
19
+ const url = yield* BotApiUrl.BotApiUrl;
20
+ return yield* HttpClient.get(url.toFile(file.file_path));
21
+ });
22
+ export const download = (fileId) => (downloadRequest(fileId).pipe(Effect.flatMap(request => request.arrayBuffer)));
23
+ export const downloadStream = (fileId) => (downloadRequest(fileId).pipe(Effect.andThen(request => request.stream)));
24
+ //# sourceMappingURL=File.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../src/File.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAG3C,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAU,CAAA;AAG7C,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAY,CAAA;AAEjD,MAAM,OAAO,SAAU,SAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAIzD;CAAG;AAEL;;GAEG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CACvC,QAAQ,CAAC,EAAE,MAAc;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACrE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,2CAA2C,MAAM,IAAI,CAAC,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AAC1D,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAC1C,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAC/C,CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAChD,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAC1C,CACF,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Types } from './BotApi.ts';
1
+ import type * as BotApi from './BotApi.ts';
2
2
  import * as Data from 'effect/Data';
3
3
  import * as Option from 'effect/Option';
4
4
  export declare class LinkPreview extends Data.Class<{
@@ -6,6 +6,6 @@ export declare class LinkPreview extends Data.Class<{
6
6
  position: 'above' | 'below';
7
7
  mediaSize: 'large' | 'small';
8
8
  }> {
9
- options(): Types.LinkPreviewOptions;
10
9
  }
10
+ export declare const options: (preview: LinkPreview) => BotApi.Types.LinkPreviewOptions;
11
11
  //# sourceMappingURL=LinkPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkPreview.d.ts","sourceRoot":"","sources":["../src/LinkPreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,qBAAa,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAA;IAC3B,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAC;IACA,OAAO,IAAI,KAAK,CAAC,kBAAkB;CAgBpC"}
1
+ {"version":3,"file":"LinkPreview.d.ts","sourceRoot":"","sources":["../src/LinkPreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,qBAAa,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAA;IAC3B,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAC;CAAG;AAEL,eAAO,MAAM,OAAO,GAAI,SAAS,WAAW,KAAG,MAAM,CAAC,KAAK,CAAC,kBAe3D,CAAA"}
@@ -1,20 +1,21 @@
1
1
  import * as Data from 'effect/Data';
2
2
  import * as Option from 'effect/Option';
3
3
  export class LinkPreview extends Data.Class {
4
- options() {
5
- const opts = { is_disabled: false };
6
- if (Option.isSome(this.url)) {
7
- opts.url = this.url.value;
8
- }
9
- if (this.position === 'above') {
10
- opts.show_above_text = true;
11
- }
12
- if (this.mediaSize === 'large') {
13
- opts.prefer_large_media = true;
14
- }
15
- else if (this.mediaSize === 'small') {
16
- opts.prefer_small_media = true;
17
- }
18
- return opts;
19
- }
20
4
  }
5
+ export const options = (preview) => {
6
+ const opts = { is_disabled: false };
7
+ if (Option.isSome(preview.url)) {
8
+ opts.url = preview.url.value;
9
+ }
10
+ if (preview.position === 'above') {
11
+ opts.show_above_text = true;
12
+ }
13
+ if (preview.mediaSize === 'large') {
14
+ opts.prefer_large_media = true;
15
+ }
16
+ else if (preview.mediaSize === 'small') {
17
+ opts.prefer_small_media = true;
18
+ }
19
+ return opts;
20
+ };
21
+ //# sourceMappingURL=LinkPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkPreview.js","sourceRoot":"","sources":["../src/LinkPreview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,KAIpC;CAAG;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAmC,EAAE;IAC/E,MAAM,IAAI,GAAoC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IACpE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;IAChC,CAAC;SACI,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;IAChC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,41 @@
1
+ import type * as Option from 'effect/Option';
2
+ /**
3
+ * Reply markup for the message.
4
+ */
5
+ export type Markup = InlineKeyboard | ReplyKeyboard | ReplyKeyboardRemove | ForceReply;
6
+ declare const InlineKeyboard_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
7
+ readonly _tag: "InlineKeyboard";
8
+ };
9
+ export declare class InlineKeyboard extends InlineKeyboard_base<{
10
+ rows: [];
11
+ }> {
12
+ }
13
+ declare const ReplyKeyboard_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
14
+ readonly _tag: "ReplyKeyboard";
15
+ };
16
+ export declare class ReplyKeyboard extends ReplyKeyboard_base<{
17
+ rows: [];
18
+ persistent: boolean;
19
+ resizable: boolean;
20
+ oneTime: boolean;
21
+ selective: boolean;
22
+ inputPlaceholder: Option.Option<string>;
23
+ }> {
24
+ }
25
+ declare const ReplyKeyboardRemove_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
26
+ readonly _tag: "ReplyKeyboardRemove";
27
+ };
28
+ export declare class ReplyKeyboardRemove extends ReplyKeyboardRemove_base<{
29
+ selective: boolean;
30
+ }> {
31
+ }
32
+ declare const ForceReply_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
33
+ readonly _tag: "ForceReply";
34
+ };
35
+ export declare class ForceReply extends ForceReply_base<{
36
+ selective: boolean;
37
+ inputPlaceholder: Option.Option<string>;
38
+ }> {
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=Markup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markup.d.ts","sourceRoot":"","sources":["../src/Markup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAG5C;;GAEG;AACH,MAAM,MAAM,MAAM,GACZ,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,UAAU,CAAA;;;;AAEhB,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,IAAI,EAAE,EAAE,CAAA;CACT,CAAC;CAAG;;;;AAEL,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,IAAI,EAAE,EAAE,CAAA;IACR,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACxC,CAAC;CAAG;;;;AAEL,qBAAa,mBAAoB,SAAQ,yBAAwC;IAC/E,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC;CAAG;;;;AAEL,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACxC,CAAC;CAAG"}
package/dist/Markup.js ADDED
@@ -0,0 +1,10 @@
1
+ import * as Data from 'effect/Data';
2
+ export class InlineKeyboard extends Data.TaggedClass('InlineKeyboard') {
3
+ }
4
+ export class ReplyKeyboard extends Data.TaggedClass('ReplyKeyboard') {
5
+ }
6
+ export class ReplyKeyboardRemove extends Data.TaggedClass('ReplyKeyboardRemove') {
7
+ }
8
+ export class ForceReply extends Data.TaggedClass('ForceReply') {
9
+ }
10
+ //# sourceMappingURL=Markup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markup.js","sourceRoot":"","sources":["../src/Markup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAWnC,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAEnE;CAAG;AAEL,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAOjE;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAE7E;CAAG;AAEL,MAAM,OAAO,UAAW,SAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,CAG3D;CAAG"}
@@ -0,0 +1,18 @@
1
+ import type * as Effect from 'effect/Effect';
2
+ import type * as Bot from './Bot.ts';
3
+ /**
4
+ * Runner runs a bot using long polling.
5
+ */
6
+ export interface Runner<E = never, R = never> {
7
+ readonly run: {
8
+ <E1, R1>(bot: Bot.Bot<E1, R1>): Effect.Effect<never, E | E1, R | Exclude<R1, Bot.Update>>;
9
+ };
10
+ }
11
+ /**
12
+ * Creates a simple runner that fetches updates by calling `BotApi.getUpdates`
13
+ * method and handles them one by one.
14
+ */
15
+ export declare const makeSimple: (options?: {
16
+ allowedUpdates?: string[];
17
+ }) => Runner<import("./BotApi.ts").BotApiError | import("./BotApiTransport.ts").BotApiTransportError, import("./BotApi.ts").BotApi>;
18
+ //# sourceMappingURL=Runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../src/Runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAGpC;;GAEG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK;IAC1C,QAAQ,CAAC,GAAG,EAAE;QACZ,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAC3C,KAAK,EACL,CAAC,GAAG,EAAE,EACN,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAC5B,CAAA;KACF,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;kBAHqD,CAAC;mIAGhC,CAAA"}
package/dist/Runner.js ADDED
@@ -0,0 +1,7 @@
1
+ import * as internal from "./internal/runner.js";
2
+ /**
3
+ * Creates a simple runner that fetches updates by calling `BotApi.getUpdates`
4
+ * method and handles them one by one.
5
+ */
6
+ export const makeSimple = internal.makeSimple;
7
+ //# sourceMappingURL=Runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Runner.js","sourceRoot":"","sources":["../src/Runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAehD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA"}