@prajwalshete/telegram-plugin 0.0.0-stage → 0.1.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 (295) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -2
  4. package/dist/adapters/clock.d.ts +3 -0
  5. package/dist/adapters/clock.js +4 -0
  6. package/dist/adapters/console-log.d.ts +13 -0
  7. package/dist/adapters/console-log.js +41 -0
  8. package/dist/adapters/d1-db.d.ts +5 -0
  9. package/dist/adapters/d1-db.js +37 -0
  10. package/dist/adapters/ids.d.ts +5 -0
  11. package/dist/adapters/ids.js +25 -0
  12. package/dist/adapters/index.d.ts +7 -0
  13. package/dist/adapters/keyring.d.ts +50 -0
  14. package/dist/adapters/keyring.js +174 -0
  15. package/dist/adapters/metrics.d.ts +28 -0
  16. package/dist/adapters/metrics.js +48 -0
  17. package/dist/adapters/r2-files.d.ts +20 -0
  18. package/dist/adapters/r2-files.js +53 -0
  19. package/dist/bin/cli.d.ts +1 -0
  20. package/dist/bin/cli.js +45 -0
  21. package/dist/client/broadcasts.d.ts +35 -0
  22. package/dist/client/commands.d.ts +23 -0
  23. package/dist/client/endpoint.d.ts +34 -0
  24. package/dist/client/events.d.ts +33 -0
  25. package/dist/client/index.d.ts +11 -0
  26. package/dist/client/index.js +3 -0
  27. package/dist/client/schedules.d.ts +42 -0
  28. package/dist/client/schema.d.ts +181 -0
  29. package/dist/client/send.d.ts +15 -0
  30. package/dist/client/templates.d.ts +47 -0
  31. package/dist/contracts/bots.d.ts +129 -0
  32. package/dist/contracts/bots.js +70 -0
  33. package/dist/contracts/broadcasts.d.ts +116 -0
  34. package/dist/contracts/broadcasts.js +63 -0
  35. package/dist/contracts/chats.d.ts +97 -0
  36. package/dist/contracts/chats.js +66 -0
  37. package/dist/contracts/commands.d.ts +52 -0
  38. package/dist/contracts/commands.js +53 -0
  39. package/dist/contracts/common.d.ts +38 -0
  40. package/dist/contracts/common.js +41 -0
  41. package/dist/contracts/deliveries.d.ts +103 -0
  42. package/dist/contracts/deliveries.js +74 -0
  43. package/dist/contracts/destinations.d.ts +24 -0
  44. package/dist/contracts/destinations.js +28 -0
  45. package/dist/contracts/events.d.ts +165 -0
  46. package/dist/contracts/events.js +98 -0
  47. package/dist/contracts/features.d.ts +20 -0
  48. package/dist/contracts/features.js +21 -0
  49. package/dist/contracts/health.d.ts +55 -0
  50. package/dist/contracts/health.js +58 -0
  51. package/dist/contracts/index.d.ts +22 -0
  52. package/dist/contracts/index.js +22 -0
  53. package/dist/contracts/labels.d.ts +38 -0
  54. package/dist/contracts/labels.js +52 -0
  55. package/dist/contracts/links.d.ts +51 -0
  56. package/dist/contracts/links.js +50 -0
  57. package/dist/contracts/meta.d.ts +132 -0
  58. package/dist/contracts/meta.js +85 -0
  59. package/dist/contracts/permissions.d.ts +24 -0
  60. package/dist/contracts/permissions.js +27 -0
  61. package/dist/contracts/problems.d.ts +106 -0
  62. package/dist/contracts/problems.js +101 -0
  63. package/dist/contracts/recipients.d.ts +36 -0
  64. package/dist/contracts/recipients.js +22 -0
  65. package/dist/contracts/schedules.d.ts +276 -0
  66. package/dist/contracts/schedules.js +143 -0
  67. package/dist/contracts/send.d.ts +126 -0
  68. package/dist/contracts/send.js +69 -0
  69. package/dist/contracts/subscriptions.d.ts +38 -0
  70. package/dist/contracts/subscriptions.js +31 -0
  71. package/dist/contracts/templates.d.ts +358 -0
  72. package/dist/contracts/templates.js +174 -0
  73. package/dist/contracts/users.d.ts +15 -0
  74. package/dist/contracts/users.js +19 -0
  75. package/dist/core/guards.d.ts +22 -0
  76. package/dist/core/guards.js +47 -0
  77. package/dist/core/html/escape.d.ts +2 -0
  78. package/dist/core/html/escape.js +36 -0
  79. package/dist/core/html/tokenize.js +65 -0
  80. package/dist/core/index.d.ts +18 -0
  81. package/dist/core/pacing.d.ts +1 -0
  82. package/dist/core/pacing.js +86 -0
  83. package/dist/core/random.d.ts +2 -0
  84. package/dist/core/random.js +38 -0
  85. package/dist/core/recipients.d.ts +1 -0
  86. package/dist/core/recipients.js +86 -0
  87. package/dist/core/schedule/describe.d.ts +3 -0
  88. package/dist/core/schedule/describe.js +74 -0
  89. package/dist/core/schedule/index.d.ts +4 -0
  90. package/dist/core/schedule/policy.d.ts +1 -0
  91. package/dist/core/schedule/policy.js +37 -0
  92. package/dist/core/schedule/rule.d.ts +25 -0
  93. package/dist/core/schedule/rule.js +142 -0
  94. package/dist/core/schedule/tz.d.ts +2 -0
  95. package/dist/core/schedule/tz.js +59 -0
  96. package/dist/core/split/plain.d.ts +2 -0
  97. package/dist/core/split/plain.js +23 -0
  98. package/dist/core/split/split.d.ts +15 -0
  99. package/dist/core/split/split.js +158 -0
  100. package/dist/core/template/ast.d.ts +58 -0
  101. package/dist/core/template/ast.js +5 -0
  102. package/dist/core/template/expr.js +108 -0
  103. package/dist/core/template/filters.d.ts +20 -0
  104. package/dist/core/template/filters.js +127 -0
  105. package/dist/core/template/format.d.ts +17 -0
  106. package/dist/core/template/format.js +88 -0
  107. package/dist/core/template/index.d.ts +20 -0
  108. package/dist/core/template/index.js +29 -0
  109. package/dist/core/template/parse.d.ts +8 -0
  110. package/dist/core/template/parse.js +369 -0
  111. package/dist/core/template/render.d.ts +17 -0
  112. package/dist/core/template/render.js +118 -0
  113. package/dist/core/template/shape.d.ts +28 -0
  114. package/dist/core/template/shape.js +151 -0
  115. package/dist/core/template/tags.js +105 -0
  116. package/dist/core/template/validate.d.ts +10 -0
  117. package/dist/core/template/validate.js +144 -0
  118. package/dist/core/template/variables.d.ts +15 -0
  119. package/dist/core/template/variables.js +41 -0
  120. package/dist/do/index.d.ts +3 -0
  121. package/dist/do/index.js +3 -0
  122. package/dist/do/telegram-bot-do.d.ts +45 -0
  123. package/dist/do/telegram-bot-do.js +219 -0
  124. package/dist/engine/actions/callback.js +256 -0
  125. package/dist/engine/actions/tokens.d.ts +2 -0
  126. package/dist/engine/actions/tokens.js +51 -0
  127. package/dist/engine/bot-api.js +20 -0
  128. package/dist/engine/bot-features.js +39 -0
  129. package/dist/engine/chat-state.js +66 -0
  130. package/dist/engine/content/audience.js +54 -0
  131. package/dist/engine/content/buttons.d.ts +1 -0
  132. package/dist/engine/content/buttons.js +113 -0
  133. package/dist/engine/content/fanout.js +284 -0
  134. package/dist/engine/content/intersect.d.ts +6 -0
  135. package/dist/engine/content/intersect.js +26 -0
  136. package/dist/engine/content/providers.d.ts +6 -0
  137. package/dist/engine/content/providers.js +142 -0
  138. package/dist/engine/content/recipients.js +128 -0
  139. package/dist/engine/content/render.js +138 -0
  140. package/dist/engine/content/reply.js +156 -0
  141. package/dist/engine/content/report-files.js +78 -0
  142. package/dist/engine/content/template-rows.js +74 -0
  143. package/dist/engine/dialogs/dialog.d.ts +2 -0
  144. package/dist/engine/dialogs/dialog.js +375 -0
  145. package/dist/engine/dispatch/builtins.js +198 -0
  146. package/dist/engine/dispatch/commands.js +194 -0
  147. package/dist/engine/dispatch/context.d.ts +2 -0
  148. package/dist/engine/dispatch/context.js +194 -0
  149. package/dist/engine/dispatch/dispatcher.js +66 -0
  150. package/dist/engine/dispatch/handlers.d.ts +1 -0
  151. package/dist/engine/dispatch/handlers.js +103 -0
  152. package/dist/engine/dispatch/lifecycle.js +85 -0
  153. package/dist/engine/dispatch/link-chat.js +31 -0
  154. package/dist/engine/dispatch/linking.js +273 -0
  155. package/dist/engine/errors.d.ts +60 -0
  156. package/dist/engine/errors.js +72 -0
  157. package/dist/engine/events/filters.d.ts +5 -0
  158. package/dist/engine/events/filters.js +82 -0
  159. package/dist/engine/events/kick.js +30 -0
  160. package/dist/engine/events/payload.d.ts +3 -0
  161. package/dist/engine/events/payload.js +16 -0
  162. package/dist/engine/events/tick.js +208 -0
  163. package/dist/engine/i18n.d.ts +12 -0
  164. package/dist/engine/i18n.js +55 -0
  165. package/dist/engine/inbound/files.js +121 -0
  166. package/dist/engine/inbound/handler.js +46 -0
  167. package/dist/engine/jobs.d.ts +32 -0
  168. package/dist/engine/jobs.js +85 -0
  169. package/dist/engine/link-codes.js +46 -0
  170. package/dist/engine/metrics.js +12 -0
  171. package/dist/engine/options.d.ts +369 -0
  172. package/dist/engine/options.js +81 -0
  173. package/dist/engine/outbox/dead-letter.js +78 -0
  174. package/dist/engine/outbox/do-registry.d.ts +10 -0
  175. package/dist/engine/outbox/do-registry.js +10 -0
  176. package/dist/engine/outbox/do-transport.d.ts +33 -0
  177. package/dist/engine/outbox/do-transport.js +73 -0
  178. package/dist/engine/outbox/drain.d.ts +13 -0
  179. package/dist/engine/outbox/drain.js +381 -0
  180. package/dist/engine/outbox/enqueue.d.ts +1 -0
  181. package/dist/engine/outbox/enqueue.js +63 -0
  182. package/dist/engine/outbox/select.js +24 -0
  183. package/dist/engine/outbox/send.js +362 -0
  184. package/dist/engine/outbox/transport.d.ts +35 -0
  185. package/dist/engine/outbox/transport.js +175 -0
  186. package/dist/engine/outbox/wake.js +28 -0
  187. package/dist/engine/registry.d.ts +502 -0
  188. package/dist/engine/registry.js +258 -0
  189. package/dist/engine/rows.d.ts +25 -0
  190. package/dist/engine/rows.js +131 -0
  191. package/dist/engine/runtime.d.ts +95 -0
  192. package/dist/engine/runtime.js +149 -0
  193. package/dist/engine/schedules/fire.js +208 -0
  194. package/dist/engine/schedules/resume.js +75 -0
  195. package/dist/engine/schedules/rows.js +69 -0
  196. package/dist/engine/schedules/tick.js +30 -0
  197. package/dist/engine/schedules/wake.js +50 -0
  198. package/dist/engine/state.d.ts +11 -0
  199. package/dist/engine/state.js +78 -0
  200. package/dist/locales/en.js +339 -0
  201. package/dist/locales/en.json +341 -0
  202. package/dist/locales/mr.js +339 -0
  203. package/dist/locales/mr.json +341 -0
  204. package/dist/ports/db.d.ts +22 -0
  205. package/dist/ports/index.d.ts +4 -0
  206. package/dist/ports/ports.d.ts +257 -0
  207. package/dist/ports/sql.d.ts +39 -0
  208. package/dist/ports/sql.js +76 -0
  209. package/dist/renderers/csv.d.ts +14 -0
  210. package/dist/renderers/csv.js +51 -0
  211. package/dist/renderers/html.d.ts +44 -0
  212. package/dist/renderers/html.js +81 -0
  213. package/dist/renderers/index.d.ts +5 -0
  214. package/dist/renderers/index.js +4 -0
  215. package/dist/renderers/table.d.ts +30 -0
  216. package/dist/renderers/table.js +114 -0
  217. package/dist/routes/admin.js +146 -0
  218. package/dist/routes/app.d.ts +3111 -0
  219. package/dist/routes/app.js +9 -0
  220. package/dist/routes/broadcasts.js +37 -0
  221. package/dist/routes/commands.js +35 -0
  222. package/dist/routes/content.js +12 -0
  223. package/dist/routes/events.js +36 -0
  224. package/dist/routes/http.d.ts +30 -0
  225. package/dist/routes/http.js +223 -0
  226. package/dist/routes/me.js +59 -0
  227. package/dist/routes/schedules.js +62 -0
  228. package/dist/routes/send.js +24 -0
  229. package/dist/routes/templates.js +70 -0
  230. package/dist/routes/webhook.js +147 -0
  231. package/dist/schema/columns.js +307 -0
  232. package/dist/schema/ddl.d.ts +7 -0
  233. package/dist/schema/ddl.js +45 -0
  234. package/dist/schema/index.d.ts +4255 -0
  235. package/dist/schema/index.js +44 -0
  236. package/dist/schema/reference.sql +359 -0
  237. package/dist/schema/tables.d.ts +4243 -0
  238. package/dist/schema/tables.js +327 -0
  239. package/dist/schema/version.d.ts +5 -0
  240. package/dist/schema/version.js +7 -0
  241. package/dist/server/index.d.ts +55 -0
  242. package/dist/server/index.js +46 -0
  243. package/dist/server/plugin.d.ts +81 -0
  244. package/dist/server/plugin.js +247 -0
  245. package/dist/server/version.d.ts +2 -0
  246. package/dist/server/version.js +4 -0
  247. package/dist/services/ai-tool.d.ts +26 -0
  248. package/dist/services/ai-tool.js +148 -0
  249. package/dist/services/bots.js +300 -0
  250. package/dist/services/broadcasts.js +390 -0
  251. package/dist/services/chats.js +83 -0
  252. package/dist/services/cleanup.js +83 -0
  253. package/dist/services/commands.js +140 -0
  254. package/dist/services/deliveries.js +53 -0
  255. package/dist/services/destinations.js +91 -0
  256. package/dist/services/event-rules.js +229 -0
  257. package/dist/services/events.js +20 -0
  258. package/dist/services/idempotency.js +64 -0
  259. package/dist/services/links.js +200 -0
  260. package/dist/services/menu.js +95 -0
  261. package/dist/services/ops.js +90 -0
  262. package/dist/services/rekey.js +63 -0
  263. package/dist/services/reports.js +87 -0
  264. package/dist/services/schedules.js +214 -0
  265. package/dist/services/send.d.ts +14 -0
  266. package/dist/services/send.js +421 -0
  267. package/dist/services/subscriptions.js +28 -0
  268. package/dist/services/templates.js +259 -0
  269. package/dist/telegram/classify.d.ts +30 -0
  270. package/dist/telegram/classify.js +164 -0
  271. package/dist/telegram/client.d.ts +73 -0
  272. package/dist/telegram/client.js +135 -0
  273. package/dist/telegram/errors.d.ts +37 -0
  274. package/dist/telegram/errors.js +62 -0
  275. package/dist/telegram/inbound.d.ts +40 -0
  276. package/dist/telegram/inbound.js +72 -0
  277. package/dist/telegram/index.d.ts +8 -0
  278. package/dist/telegram/multipart.d.ts +5 -0
  279. package/dist/telegram/multipart.js +47 -0
  280. package/dist/telegram/types.d.ts +271 -0
  281. package/dist/telegram/update.d.ts +833 -0
  282. package/dist/telegram/update.js +129 -0
  283. package/dist/testing/fake-html.d.ts +9 -0
  284. package/dist/testing/fake-html.js +83 -0
  285. package/dist/testing/fake-telegram.d.ts +206 -0
  286. package/dist/testing/fake-telegram.js +856 -0
  287. package/dist/testing/index.d.ts +7 -0
  288. package/dist/testing/index.js +7 -0
  289. package/dist/testing/reference-sql.d.ts +4 -0
  290. package/dist/testing/reference-sql.js +8 -0
  291. package/dist/testing/test-plugin.d.ts +126 -0
  292. package/dist/testing/test-plugin.js +182 -0
  293. package/dist/testing/updates.d.ts +100 -0
  294. package/dist/testing/updates.js +212 -0
  295. package/package.json +113 -3
@@ -0,0 +1,833 @@
1
+ import { z } from "zod";
2
+ /** Bot API `User` (loose: unknown keys pass through). */
3
+ export declare const TgUser: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ is_bot: z.ZodBoolean;
6
+ first_name: z.ZodString;
7
+ last_name: z.ZodOptional<z.ZodString>;
8
+ username: z.ZodOptional<z.ZodString>;
9
+ language_code: z.ZodOptional<z.ZodString>;
10
+ }, z.core.$loose>;
11
+ export type TgUser = z.infer<typeof TgUser>;
12
+ /** Bot API `Chat` (loose). */
13
+ export declare const TgChat: z.ZodObject<{
14
+ id: z.ZodNumber;
15
+ type: z.ZodString;
16
+ title: z.ZodOptional<z.ZodString>;
17
+ username: z.ZodOptional<z.ZodString>;
18
+ first_name: z.ZodOptional<z.ZodString>;
19
+ last_name: z.ZodOptional<z.ZodString>;
20
+ is_forum: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.core.$loose>;
22
+ export type TgChat = z.infer<typeof TgChat>;
23
+ /** Bot API `MessageEntity` (offsets/lengths in UTF-16 code units). */
24
+ export declare const TgMessageEntity: z.ZodObject<{
25
+ type: z.ZodString;
26
+ offset: z.ZodNumber;
27
+ length: z.ZodNumber;
28
+ url: z.ZodOptional<z.ZodString>;
29
+ user: z.ZodOptional<z.ZodObject<{
30
+ id: z.ZodNumber;
31
+ is_bot: z.ZodBoolean;
32
+ first_name: z.ZodString;
33
+ last_name: z.ZodOptional<z.ZodString>;
34
+ username: z.ZodOptional<z.ZodString>;
35
+ language_code: z.ZodOptional<z.ZodString>;
36
+ }, z.core.$loose>>;
37
+ language: z.ZodOptional<z.ZodString>;
38
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$loose>;
40
+ export type TgMessageEntity = z.infer<typeof TgMessageEntity>;
41
+ /** Bot API `PhotoSize` (one size of a photo). */
42
+ export declare const TgPhotoSize: z.ZodObject<{
43
+ file_id: z.ZodString;
44
+ file_unique_id: z.ZodString;
45
+ width: z.ZodNumber;
46
+ height: z.ZodNumber;
47
+ file_size: z.ZodOptional<z.ZodNumber>;
48
+ }, z.core.$loose>;
49
+ export type TgPhotoSize = z.infer<typeof TgPhotoSize>;
50
+ /** Bot API `Document` (`file_size` in bytes). */
51
+ export declare const TgDocument: z.ZodObject<{
52
+ file_id: z.ZodString;
53
+ file_unique_id: z.ZodString;
54
+ file_name: z.ZodOptional<z.ZodString>;
55
+ mime_type: z.ZodOptional<z.ZodString>;
56
+ file_size: z.ZodOptional<z.ZodNumber>;
57
+ }, z.core.$loose>;
58
+ export type TgDocument = z.infer<typeof TgDocument>;
59
+ /** Bot API `ForumTopicCreated` service message. */
60
+ export declare const TgForumTopicCreated: z.ZodObject<{
61
+ name: z.ZodString;
62
+ icon_color: z.ZodOptional<z.ZodNumber>;
63
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
64
+ }, z.core.$loose>;
65
+ /** Message (also used for MaybeInaccessibleMessage: `date: 0` means the bot can no longer read it). */
66
+ export declare const TgMessage: z.ZodObject<{
67
+ message_id: z.ZodNumber;
68
+ date: z.ZodNumber;
69
+ chat: z.ZodObject<{
70
+ id: z.ZodNumber;
71
+ type: z.ZodString;
72
+ title: z.ZodOptional<z.ZodString>;
73
+ username: z.ZodOptional<z.ZodString>;
74
+ first_name: z.ZodOptional<z.ZodString>;
75
+ last_name: z.ZodOptional<z.ZodString>;
76
+ is_forum: z.ZodOptional<z.ZodBoolean>;
77
+ }, z.core.$loose>;
78
+ from: z.ZodOptional<z.ZodObject<{
79
+ id: z.ZodNumber;
80
+ is_bot: z.ZodBoolean;
81
+ first_name: z.ZodString;
82
+ last_name: z.ZodOptional<z.ZodString>;
83
+ username: z.ZodOptional<z.ZodString>;
84
+ language_code: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$loose>>;
86
+ sender_chat: z.ZodOptional<z.ZodObject<{
87
+ id: z.ZodNumber;
88
+ type: z.ZodString;
89
+ title: z.ZodOptional<z.ZodString>;
90
+ username: z.ZodOptional<z.ZodString>;
91
+ first_name: z.ZodOptional<z.ZodString>;
92
+ last_name: z.ZodOptional<z.ZodString>;
93
+ is_forum: z.ZodOptional<z.ZodBoolean>;
94
+ }, z.core.$loose>>;
95
+ message_thread_id: z.ZodOptional<z.ZodNumber>;
96
+ is_topic_message: z.ZodOptional<z.ZodBoolean>;
97
+ text: z.ZodOptional<z.ZodString>;
98
+ entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ type: z.ZodString;
100
+ offset: z.ZodNumber;
101
+ length: z.ZodNumber;
102
+ url: z.ZodOptional<z.ZodString>;
103
+ user: z.ZodOptional<z.ZodObject<{
104
+ id: z.ZodNumber;
105
+ is_bot: z.ZodBoolean;
106
+ first_name: z.ZodString;
107
+ last_name: z.ZodOptional<z.ZodString>;
108
+ username: z.ZodOptional<z.ZodString>;
109
+ language_code: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$loose>>;
111
+ language: z.ZodOptional<z.ZodString>;
112
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$loose>>>;
114
+ caption: z.ZodOptional<z.ZodString>;
115
+ caption_entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
116
+ type: z.ZodString;
117
+ offset: z.ZodNumber;
118
+ length: z.ZodNumber;
119
+ url: z.ZodOptional<z.ZodString>;
120
+ user: z.ZodOptional<z.ZodObject<{
121
+ id: z.ZodNumber;
122
+ is_bot: z.ZodBoolean;
123
+ first_name: z.ZodString;
124
+ last_name: z.ZodOptional<z.ZodString>;
125
+ username: z.ZodOptional<z.ZodString>;
126
+ language_code: z.ZodOptional<z.ZodString>;
127
+ }, z.core.$loose>>;
128
+ language: z.ZodOptional<z.ZodString>;
129
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$loose>>>;
131
+ photo: z.ZodOptional<z.ZodArray<z.ZodObject<{
132
+ file_id: z.ZodString;
133
+ file_unique_id: z.ZodString;
134
+ width: z.ZodNumber;
135
+ height: z.ZodNumber;
136
+ file_size: z.ZodOptional<z.ZodNumber>;
137
+ }, z.core.$loose>>>;
138
+ document: z.ZodOptional<z.ZodObject<{
139
+ file_id: z.ZodString;
140
+ file_unique_id: z.ZodString;
141
+ file_name: z.ZodOptional<z.ZodString>;
142
+ mime_type: z.ZodOptional<z.ZodString>;
143
+ file_size: z.ZodOptional<z.ZodNumber>;
144
+ }, z.core.$loose>>;
145
+ reply_to_message: z.ZodOptional<z.ZodObject<{
146
+ message_id: z.ZodNumber;
147
+ from: z.ZodOptional<z.ZodObject<{
148
+ id: z.ZodNumber;
149
+ is_bot: z.ZodBoolean;
150
+ first_name: z.ZodString;
151
+ last_name: z.ZodOptional<z.ZodString>;
152
+ username: z.ZodOptional<z.ZodString>;
153
+ language_code: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$loose>>;
155
+ }, z.core.$loose>>;
156
+ migrate_to_chat_id: z.ZodOptional<z.ZodNumber>;
157
+ migrate_from_chat_id: z.ZodOptional<z.ZodNumber>;
158
+ new_chat_members: z.ZodOptional<z.ZodArray<z.ZodObject<{
159
+ id: z.ZodNumber;
160
+ is_bot: z.ZodBoolean;
161
+ first_name: z.ZodString;
162
+ last_name: z.ZodOptional<z.ZodString>;
163
+ username: z.ZodOptional<z.ZodString>;
164
+ language_code: z.ZodOptional<z.ZodString>;
165
+ }, z.core.$loose>>>;
166
+ left_chat_member: z.ZodOptional<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
+ }, z.core.$loose>>;
174
+ group_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
175
+ supergroup_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
176
+ forum_topic_created: z.ZodOptional<z.ZodObject<{
177
+ name: z.ZodString;
178
+ icon_color: z.ZodOptional<z.ZodNumber>;
179
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$loose>>;
181
+ }, z.core.$loose>;
182
+ export type TgMessage = z.infer<typeof TgMessage>;
183
+ /** Bot API `CallbackQuery` (an inline button tap; `data` ≤ 64 bytes). */
184
+ export declare const TgCallbackQuery: z.ZodObject<{
185
+ id: z.ZodString;
186
+ from: z.ZodObject<{
187
+ id: z.ZodNumber;
188
+ is_bot: z.ZodBoolean;
189
+ first_name: z.ZodString;
190
+ last_name: z.ZodOptional<z.ZodString>;
191
+ username: z.ZodOptional<z.ZodString>;
192
+ language_code: z.ZodOptional<z.ZodString>;
193
+ }, z.core.$loose>;
194
+ chat_instance: z.ZodString;
195
+ message: z.ZodOptional<z.ZodObject<{
196
+ message_id: z.ZodNumber;
197
+ date: z.ZodNumber;
198
+ chat: z.ZodObject<{
199
+ id: z.ZodNumber;
200
+ type: z.ZodString;
201
+ title: z.ZodOptional<z.ZodString>;
202
+ username: z.ZodOptional<z.ZodString>;
203
+ first_name: z.ZodOptional<z.ZodString>;
204
+ last_name: z.ZodOptional<z.ZodString>;
205
+ is_forum: z.ZodOptional<z.ZodBoolean>;
206
+ }, z.core.$loose>;
207
+ from: z.ZodOptional<z.ZodObject<{
208
+ id: z.ZodNumber;
209
+ is_bot: z.ZodBoolean;
210
+ first_name: z.ZodString;
211
+ last_name: z.ZodOptional<z.ZodString>;
212
+ username: z.ZodOptional<z.ZodString>;
213
+ language_code: z.ZodOptional<z.ZodString>;
214
+ }, z.core.$loose>>;
215
+ sender_chat: z.ZodOptional<z.ZodObject<{
216
+ id: z.ZodNumber;
217
+ type: z.ZodString;
218
+ title: z.ZodOptional<z.ZodString>;
219
+ username: z.ZodOptional<z.ZodString>;
220
+ first_name: z.ZodOptional<z.ZodString>;
221
+ last_name: z.ZodOptional<z.ZodString>;
222
+ is_forum: z.ZodOptional<z.ZodBoolean>;
223
+ }, z.core.$loose>>;
224
+ message_thread_id: z.ZodOptional<z.ZodNumber>;
225
+ is_topic_message: z.ZodOptional<z.ZodBoolean>;
226
+ text: z.ZodOptional<z.ZodString>;
227
+ entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
228
+ type: z.ZodString;
229
+ offset: z.ZodNumber;
230
+ length: z.ZodNumber;
231
+ url: z.ZodOptional<z.ZodString>;
232
+ user: z.ZodOptional<z.ZodObject<{
233
+ id: z.ZodNumber;
234
+ is_bot: z.ZodBoolean;
235
+ first_name: z.ZodString;
236
+ last_name: z.ZodOptional<z.ZodString>;
237
+ username: z.ZodOptional<z.ZodString>;
238
+ language_code: z.ZodOptional<z.ZodString>;
239
+ }, z.core.$loose>>;
240
+ language: z.ZodOptional<z.ZodString>;
241
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
242
+ }, z.core.$loose>>>;
243
+ caption: z.ZodOptional<z.ZodString>;
244
+ caption_entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
245
+ type: z.ZodString;
246
+ offset: z.ZodNumber;
247
+ length: z.ZodNumber;
248
+ url: z.ZodOptional<z.ZodString>;
249
+ user: z.ZodOptional<z.ZodObject<{
250
+ id: z.ZodNumber;
251
+ is_bot: z.ZodBoolean;
252
+ first_name: z.ZodString;
253
+ last_name: z.ZodOptional<z.ZodString>;
254
+ username: z.ZodOptional<z.ZodString>;
255
+ language_code: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$loose>>;
257
+ language: z.ZodOptional<z.ZodString>;
258
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
259
+ }, z.core.$loose>>>;
260
+ photo: z.ZodOptional<z.ZodArray<z.ZodObject<{
261
+ file_id: z.ZodString;
262
+ file_unique_id: z.ZodString;
263
+ width: z.ZodNumber;
264
+ height: z.ZodNumber;
265
+ file_size: z.ZodOptional<z.ZodNumber>;
266
+ }, z.core.$loose>>>;
267
+ document: z.ZodOptional<z.ZodObject<{
268
+ file_id: z.ZodString;
269
+ file_unique_id: z.ZodString;
270
+ file_name: z.ZodOptional<z.ZodString>;
271
+ mime_type: z.ZodOptional<z.ZodString>;
272
+ file_size: z.ZodOptional<z.ZodNumber>;
273
+ }, z.core.$loose>>;
274
+ reply_to_message: z.ZodOptional<z.ZodObject<{
275
+ message_id: z.ZodNumber;
276
+ from: z.ZodOptional<z.ZodObject<{
277
+ id: z.ZodNumber;
278
+ is_bot: z.ZodBoolean;
279
+ first_name: z.ZodString;
280
+ last_name: z.ZodOptional<z.ZodString>;
281
+ username: z.ZodOptional<z.ZodString>;
282
+ language_code: z.ZodOptional<z.ZodString>;
283
+ }, z.core.$loose>>;
284
+ }, z.core.$loose>>;
285
+ migrate_to_chat_id: z.ZodOptional<z.ZodNumber>;
286
+ migrate_from_chat_id: z.ZodOptional<z.ZodNumber>;
287
+ new_chat_members: z.ZodOptional<z.ZodArray<z.ZodObject<{
288
+ id: z.ZodNumber;
289
+ is_bot: z.ZodBoolean;
290
+ first_name: z.ZodString;
291
+ last_name: z.ZodOptional<z.ZodString>;
292
+ username: z.ZodOptional<z.ZodString>;
293
+ language_code: z.ZodOptional<z.ZodString>;
294
+ }, z.core.$loose>>>;
295
+ left_chat_member: z.ZodOptional<z.ZodObject<{
296
+ id: z.ZodNumber;
297
+ is_bot: z.ZodBoolean;
298
+ first_name: z.ZodString;
299
+ last_name: z.ZodOptional<z.ZodString>;
300
+ username: z.ZodOptional<z.ZodString>;
301
+ language_code: z.ZodOptional<z.ZodString>;
302
+ }, z.core.$loose>>;
303
+ group_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
304
+ supergroup_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
305
+ forum_topic_created: z.ZodOptional<z.ZodObject<{
306
+ name: z.ZodString;
307
+ icon_color: z.ZodOptional<z.ZodNumber>;
308
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
309
+ }, z.core.$loose>>;
310
+ }, z.core.$loose>>;
311
+ inline_message_id: z.ZodOptional<z.ZodString>;
312
+ data: z.ZodOptional<z.ZodString>;
313
+ }, z.core.$loose>;
314
+ export type TgCallbackQuery = z.infer<typeof TgCallbackQuery>;
315
+ /** `creator` | `administrator` | `member` | `restricted` | `left` | `kicked`. */
316
+ export declare const TgChatMember: z.ZodObject<{
317
+ status: z.ZodString;
318
+ user: z.ZodObject<{
319
+ id: z.ZodNumber;
320
+ is_bot: z.ZodBoolean;
321
+ first_name: z.ZodString;
322
+ last_name: z.ZodOptional<z.ZodString>;
323
+ username: z.ZodOptional<z.ZodString>;
324
+ language_code: z.ZodOptional<z.ZodString>;
325
+ }, z.core.$loose>;
326
+ }, z.core.$loose>;
327
+ export type TgChatMember = z.infer<typeof TgChatMember>;
328
+ /** Bot API `ChatMemberUpdated` (`my_chat_member` / `chat_member`); `date` is Unix seconds. */
329
+ export declare const TgChatMemberUpdated: z.ZodObject<{
330
+ chat: z.ZodObject<{
331
+ id: z.ZodNumber;
332
+ type: z.ZodString;
333
+ title: z.ZodOptional<z.ZodString>;
334
+ username: z.ZodOptional<z.ZodString>;
335
+ first_name: z.ZodOptional<z.ZodString>;
336
+ last_name: z.ZodOptional<z.ZodString>;
337
+ is_forum: z.ZodOptional<z.ZodBoolean>;
338
+ }, z.core.$loose>;
339
+ from: z.ZodObject<{
340
+ id: z.ZodNumber;
341
+ is_bot: z.ZodBoolean;
342
+ first_name: z.ZodString;
343
+ last_name: z.ZodOptional<z.ZodString>;
344
+ username: z.ZodOptional<z.ZodString>;
345
+ language_code: z.ZodOptional<z.ZodString>;
346
+ }, z.core.$loose>;
347
+ date: z.ZodNumber;
348
+ old_chat_member: z.ZodObject<{
349
+ status: z.ZodString;
350
+ user: z.ZodObject<{
351
+ id: z.ZodNumber;
352
+ is_bot: z.ZodBoolean;
353
+ first_name: z.ZodString;
354
+ last_name: z.ZodOptional<z.ZodString>;
355
+ username: z.ZodOptional<z.ZodString>;
356
+ language_code: z.ZodOptional<z.ZodString>;
357
+ }, z.core.$loose>;
358
+ }, z.core.$loose>;
359
+ new_chat_member: z.ZodObject<{
360
+ status: z.ZodString;
361
+ user: z.ZodObject<{
362
+ id: z.ZodNumber;
363
+ is_bot: z.ZodBoolean;
364
+ first_name: z.ZodString;
365
+ last_name: z.ZodOptional<z.ZodString>;
366
+ username: z.ZodOptional<z.ZodString>;
367
+ language_code: z.ZodOptional<z.ZodString>;
368
+ }, z.core.$loose>;
369
+ }, z.core.$loose>;
370
+ }, z.core.$loose>;
371
+ export type TgChatMemberUpdated = z.infer<typeof TgChatMemberUpdated>;
372
+ /** Bot API `Update`, only the update types the plugin handles (others parse but are ignored). */
373
+ export declare const TgUpdate: z.ZodObject<{
374
+ update_id: z.ZodNumber;
375
+ message: z.ZodOptional<z.ZodObject<{
376
+ message_id: z.ZodNumber;
377
+ date: z.ZodNumber;
378
+ chat: z.ZodObject<{
379
+ id: z.ZodNumber;
380
+ type: z.ZodString;
381
+ title: z.ZodOptional<z.ZodString>;
382
+ username: z.ZodOptional<z.ZodString>;
383
+ first_name: z.ZodOptional<z.ZodString>;
384
+ last_name: z.ZodOptional<z.ZodString>;
385
+ is_forum: z.ZodOptional<z.ZodBoolean>;
386
+ }, z.core.$loose>;
387
+ from: z.ZodOptional<z.ZodObject<{
388
+ id: z.ZodNumber;
389
+ is_bot: z.ZodBoolean;
390
+ first_name: z.ZodString;
391
+ last_name: z.ZodOptional<z.ZodString>;
392
+ username: z.ZodOptional<z.ZodString>;
393
+ language_code: z.ZodOptional<z.ZodString>;
394
+ }, z.core.$loose>>;
395
+ sender_chat: z.ZodOptional<z.ZodObject<{
396
+ id: z.ZodNumber;
397
+ type: z.ZodString;
398
+ title: z.ZodOptional<z.ZodString>;
399
+ username: z.ZodOptional<z.ZodString>;
400
+ first_name: z.ZodOptional<z.ZodString>;
401
+ last_name: z.ZodOptional<z.ZodString>;
402
+ is_forum: z.ZodOptional<z.ZodBoolean>;
403
+ }, z.core.$loose>>;
404
+ message_thread_id: z.ZodOptional<z.ZodNumber>;
405
+ is_topic_message: z.ZodOptional<z.ZodBoolean>;
406
+ text: z.ZodOptional<z.ZodString>;
407
+ entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
408
+ type: z.ZodString;
409
+ offset: z.ZodNumber;
410
+ length: z.ZodNumber;
411
+ url: z.ZodOptional<z.ZodString>;
412
+ user: z.ZodOptional<z.ZodObject<{
413
+ id: z.ZodNumber;
414
+ is_bot: z.ZodBoolean;
415
+ first_name: z.ZodString;
416
+ last_name: z.ZodOptional<z.ZodString>;
417
+ username: z.ZodOptional<z.ZodString>;
418
+ language_code: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$loose>>;
420
+ language: z.ZodOptional<z.ZodString>;
421
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
422
+ }, z.core.$loose>>>;
423
+ caption: z.ZodOptional<z.ZodString>;
424
+ caption_entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
425
+ type: z.ZodString;
426
+ offset: z.ZodNumber;
427
+ length: z.ZodNumber;
428
+ url: z.ZodOptional<z.ZodString>;
429
+ user: z.ZodOptional<z.ZodObject<{
430
+ id: z.ZodNumber;
431
+ is_bot: z.ZodBoolean;
432
+ first_name: z.ZodString;
433
+ last_name: z.ZodOptional<z.ZodString>;
434
+ username: z.ZodOptional<z.ZodString>;
435
+ language_code: z.ZodOptional<z.ZodString>;
436
+ }, z.core.$loose>>;
437
+ language: z.ZodOptional<z.ZodString>;
438
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
439
+ }, z.core.$loose>>>;
440
+ photo: z.ZodOptional<z.ZodArray<z.ZodObject<{
441
+ file_id: z.ZodString;
442
+ file_unique_id: z.ZodString;
443
+ width: z.ZodNumber;
444
+ height: z.ZodNumber;
445
+ file_size: z.ZodOptional<z.ZodNumber>;
446
+ }, z.core.$loose>>>;
447
+ document: z.ZodOptional<z.ZodObject<{
448
+ file_id: z.ZodString;
449
+ file_unique_id: z.ZodString;
450
+ file_name: z.ZodOptional<z.ZodString>;
451
+ mime_type: z.ZodOptional<z.ZodString>;
452
+ file_size: z.ZodOptional<z.ZodNumber>;
453
+ }, z.core.$loose>>;
454
+ reply_to_message: z.ZodOptional<z.ZodObject<{
455
+ message_id: z.ZodNumber;
456
+ from: z.ZodOptional<z.ZodObject<{
457
+ id: z.ZodNumber;
458
+ is_bot: z.ZodBoolean;
459
+ first_name: z.ZodString;
460
+ last_name: z.ZodOptional<z.ZodString>;
461
+ username: z.ZodOptional<z.ZodString>;
462
+ language_code: z.ZodOptional<z.ZodString>;
463
+ }, z.core.$loose>>;
464
+ }, z.core.$loose>>;
465
+ migrate_to_chat_id: z.ZodOptional<z.ZodNumber>;
466
+ migrate_from_chat_id: z.ZodOptional<z.ZodNumber>;
467
+ new_chat_members: z.ZodOptional<z.ZodArray<z.ZodObject<{
468
+ id: z.ZodNumber;
469
+ is_bot: z.ZodBoolean;
470
+ first_name: z.ZodString;
471
+ last_name: z.ZodOptional<z.ZodString>;
472
+ username: z.ZodOptional<z.ZodString>;
473
+ language_code: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$loose>>>;
475
+ left_chat_member: z.ZodOptional<z.ZodObject<{
476
+ id: z.ZodNumber;
477
+ is_bot: z.ZodBoolean;
478
+ first_name: z.ZodString;
479
+ last_name: z.ZodOptional<z.ZodString>;
480
+ username: z.ZodOptional<z.ZodString>;
481
+ language_code: z.ZodOptional<z.ZodString>;
482
+ }, z.core.$loose>>;
483
+ group_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
484
+ supergroup_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
485
+ forum_topic_created: z.ZodOptional<z.ZodObject<{
486
+ name: z.ZodString;
487
+ icon_color: z.ZodOptional<z.ZodNumber>;
488
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
489
+ }, z.core.$loose>>;
490
+ }, z.core.$loose>>;
491
+ edited_message: z.ZodOptional<z.ZodObject<{
492
+ message_id: z.ZodNumber;
493
+ date: z.ZodNumber;
494
+ chat: z.ZodObject<{
495
+ id: z.ZodNumber;
496
+ type: z.ZodString;
497
+ title: z.ZodOptional<z.ZodString>;
498
+ username: z.ZodOptional<z.ZodString>;
499
+ first_name: z.ZodOptional<z.ZodString>;
500
+ last_name: z.ZodOptional<z.ZodString>;
501
+ is_forum: z.ZodOptional<z.ZodBoolean>;
502
+ }, z.core.$loose>;
503
+ from: z.ZodOptional<z.ZodObject<{
504
+ id: z.ZodNumber;
505
+ is_bot: z.ZodBoolean;
506
+ first_name: z.ZodString;
507
+ last_name: z.ZodOptional<z.ZodString>;
508
+ username: z.ZodOptional<z.ZodString>;
509
+ language_code: z.ZodOptional<z.ZodString>;
510
+ }, z.core.$loose>>;
511
+ sender_chat: z.ZodOptional<z.ZodObject<{
512
+ id: z.ZodNumber;
513
+ type: z.ZodString;
514
+ title: z.ZodOptional<z.ZodString>;
515
+ username: z.ZodOptional<z.ZodString>;
516
+ first_name: z.ZodOptional<z.ZodString>;
517
+ last_name: z.ZodOptional<z.ZodString>;
518
+ is_forum: z.ZodOptional<z.ZodBoolean>;
519
+ }, z.core.$loose>>;
520
+ message_thread_id: z.ZodOptional<z.ZodNumber>;
521
+ is_topic_message: z.ZodOptional<z.ZodBoolean>;
522
+ text: z.ZodOptional<z.ZodString>;
523
+ entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
524
+ type: z.ZodString;
525
+ offset: z.ZodNumber;
526
+ length: z.ZodNumber;
527
+ url: z.ZodOptional<z.ZodString>;
528
+ user: z.ZodOptional<z.ZodObject<{
529
+ id: z.ZodNumber;
530
+ is_bot: z.ZodBoolean;
531
+ first_name: z.ZodString;
532
+ last_name: z.ZodOptional<z.ZodString>;
533
+ username: z.ZodOptional<z.ZodString>;
534
+ language_code: z.ZodOptional<z.ZodString>;
535
+ }, z.core.$loose>>;
536
+ language: z.ZodOptional<z.ZodString>;
537
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
538
+ }, z.core.$loose>>>;
539
+ caption: z.ZodOptional<z.ZodString>;
540
+ caption_entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
541
+ type: z.ZodString;
542
+ offset: z.ZodNumber;
543
+ length: z.ZodNumber;
544
+ url: z.ZodOptional<z.ZodString>;
545
+ user: z.ZodOptional<z.ZodObject<{
546
+ id: z.ZodNumber;
547
+ is_bot: z.ZodBoolean;
548
+ first_name: z.ZodString;
549
+ last_name: z.ZodOptional<z.ZodString>;
550
+ username: z.ZodOptional<z.ZodString>;
551
+ language_code: z.ZodOptional<z.ZodString>;
552
+ }, z.core.$loose>>;
553
+ language: z.ZodOptional<z.ZodString>;
554
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
555
+ }, z.core.$loose>>>;
556
+ photo: z.ZodOptional<z.ZodArray<z.ZodObject<{
557
+ file_id: z.ZodString;
558
+ file_unique_id: z.ZodString;
559
+ width: z.ZodNumber;
560
+ height: z.ZodNumber;
561
+ file_size: z.ZodOptional<z.ZodNumber>;
562
+ }, z.core.$loose>>>;
563
+ document: z.ZodOptional<z.ZodObject<{
564
+ file_id: z.ZodString;
565
+ file_unique_id: z.ZodString;
566
+ file_name: z.ZodOptional<z.ZodString>;
567
+ mime_type: z.ZodOptional<z.ZodString>;
568
+ file_size: z.ZodOptional<z.ZodNumber>;
569
+ }, z.core.$loose>>;
570
+ reply_to_message: z.ZodOptional<z.ZodObject<{
571
+ message_id: z.ZodNumber;
572
+ from: z.ZodOptional<z.ZodObject<{
573
+ id: z.ZodNumber;
574
+ is_bot: z.ZodBoolean;
575
+ first_name: z.ZodString;
576
+ last_name: z.ZodOptional<z.ZodString>;
577
+ username: z.ZodOptional<z.ZodString>;
578
+ language_code: z.ZodOptional<z.ZodString>;
579
+ }, z.core.$loose>>;
580
+ }, z.core.$loose>>;
581
+ migrate_to_chat_id: z.ZodOptional<z.ZodNumber>;
582
+ migrate_from_chat_id: z.ZodOptional<z.ZodNumber>;
583
+ new_chat_members: z.ZodOptional<z.ZodArray<z.ZodObject<{
584
+ id: z.ZodNumber;
585
+ is_bot: z.ZodBoolean;
586
+ first_name: z.ZodString;
587
+ last_name: z.ZodOptional<z.ZodString>;
588
+ username: z.ZodOptional<z.ZodString>;
589
+ language_code: z.ZodOptional<z.ZodString>;
590
+ }, z.core.$loose>>>;
591
+ left_chat_member: z.ZodOptional<z.ZodObject<{
592
+ id: z.ZodNumber;
593
+ is_bot: z.ZodBoolean;
594
+ first_name: z.ZodString;
595
+ last_name: z.ZodOptional<z.ZodString>;
596
+ username: z.ZodOptional<z.ZodString>;
597
+ language_code: z.ZodOptional<z.ZodString>;
598
+ }, z.core.$loose>>;
599
+ group_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
600
+ supergroup_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
601
+ forum_topic_created: z.ZodOptional<z.ZodObject<{
602
+ name: z.ZodString;
603
+ icon_color: z.ZodOptional<z.ZodNumber>;
604
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
605
+ }, z.core.$loose>>;
606
+ }, z.core.$loose>>;
607
+ callback_query: z.ZodOptional<z.ZodObject<{
608
+ id: z.ZodString;
609
+ from: z.ZodObject<{
610
+ id: z.ZodNumber;
611
+ is_bot: z.ZodBoolean;
612
+ first_name: z.ZodString;
613
+ last_name: z.ZodOptional<z.ZodString>;
614
+ username: z.ZodOptional<z.ZodString>;
615
+ language_code: z.ZodOptional<z.ZodString>;
616
+ }, z.core.$loose>;
617
+ chat_instance: z.ZodString;
618
+ message: z.ZodOptional<z.ZodObject<{
619
+ message_id: z.ZodNumber;
620
+ date: z.ZodNumber;
621
+ chat: z.ZodObject<{
622
+ id: z.ZodNumber;
623
+ type: z.ZodString;
624
+ title: z.ZodOptional<z.ZodString>;
625
+ username: z.ZodOptional<z.ZodString>;
626
+ first_name: z.ZodOptional<z.ZodString>;
627
+ last_name: z.ZodOptional<z.ZodString>;
628
+ is_forum: z.ZodOptional<z.ZodBoolean>;
629
+ }, z.core.$loose>;
630
+ from: z.ZodOptional<z.ZodObject<{
631
+ id: z.ZodNumber;
632
+ is_bot: z.ZodBoolean;
633
+ first_name: z.ZodString;
634
+ last_name: z.ZodOptional<z.ZodString>;
635
+ username: z.ZodOptional<z.ZodString>;
636
+ language_code: z.ZodOptional<z.ZodString>;
637
+ }, z.core.$loose>>;
638
+ sender_chat: z.ZodOptional<z.ZodObject<{
639
+ id: z.ZodNumber;
640
+ type: z.ZodString;
641
+ title: z.ZodOptional<z.ZodString>;
642
+ username: z.ZodOptional<z.ZodString>;
643
+ first_name: z.ZodOptional<z.ZodString>;
644
+ last_name: z.ZodOptional<z.ZodString>;
645
+ is_forum: z.ZodOptional<z.ZodBoolean>;
646
+ }, z.core.$loose>>;
647
+ message_thread_id: z.ZodOptional<z.ZodNumber>;
648
+ is_topic_message: z.ZodOptional<z.ZodBoolean>;
649
+ text: z.ZodOptional<z.ZodString>;
650
+ entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
651
+ type: z.ZodString;
652
+ offset: z.ZodNumber;
653
+ length: z.ZodNumber;
654
+ url: z.ZodOptional<z.ZodString>;
655
+ user: z.ZodOptional<z.ZodObject<{
656
+ id: z.ZodNumber;
657
+ is_bot: z.ZodBoolean;
658
+ first_name: z.ZodString;
659
+ last_name: z.ZodOptional<z.ZodString>;
660
+ username: z.ZodOptional<z.ZodString>;
661
+ language_code: z.ZodOptional<z.ZodString>;
662
+ }, z.core.$loose>>;
663
+ language: z.ZodOptional<z.ZodString>;
664
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
665
+ }, z.core.$loose>>>;
666
+ caption: z.ZodOptional<z.ZodString>;
667
+ caption_entities: z.ZodOptional<z.ZodArray<z.ZodObject<{
668
+ type: z.ZodString;
669
+ offset: z.ZodNumber;
670
+ length: z.ZodNumber;
671
+ url: z.ZodOptional<z.ZodString>;
672
+ user: z.ZodOptional<z.ZodObject<{
673
+ id: z.ZodNumber;
674
+ is_bot: z.ZodBoolean;
675
+ first_name: z.ZodString;
676
+ last_name: z.ZodOptional<z.ZodString>;
677
+ username: z.ZodOptional<z.ZodString>;
678
+ language_code: z.ZodOptional<z.ZodString>;
679
+ }, z.core.$loose>>;
680
+ language: z.ZodOptional<z.ZodString>;
681
+ custom_emoji_id: z.ZodOptional<z.ZodString>;
682
+ }, z.core.$loose>>>;
683
+ photo: z.ZodOptional<z.ZodArray<z.ZodObject<{
684
+ file_id: z.ZodString;
685
+ file_unique_id: z.ZodString;
686
+ width: z.ZodNumber;
687
+ height: z.ZodNumber;
688
+ file_size: z.ZodOptional<z.ZodNumber>;
689
+ }, z.core.$loose>>>;
690
+ document: z.ZodOptional<z.ZodObject<{
691
+ file_id: z.ZodString;
692
+ file_unique_id: z.ZodString;
693
+ file_name: z.ZodOptional<z.ZodString>;
694
+ mime_type: z.ZodOptional<z.ZodString>;
695
+ file_size: z.ZodOptional<z.ZodNumber>;
696
+ }, z.core.$loose>>;
697
+ reply_to_message: z.ZodOptional<z.ZodObject<{
698
+ message_id: z.ZodNumber;
699
+ from: z.ZodOptional<z.ZodObject<{
700
+ id: z.ZodNumber;
701
+ is_bot: z.ZodBoolean;
702
+ first_name: z.ZodString;
703
+ last_name: z.ZodOptional<z.ZodString>;
704
+ username: z.ZodOptional<z.ZodString>;
705
+ language_code: z.ZodOptional<z.ZodString>;
706
+ }, z.core.$loose>>;
707
+ }, z.core.$loose>>;
708
+ migrate_to_chat_id: z.ZodOptional<z.ZodNumber>;
709
+ migrate_from_chat_id: z.ZodOptional<z.ZodNumber>;
710
+ new_chat_members: z.ZodOptional<z.ZodArray<z.ZodObject<{
711
+ id: z.ZodNumber;
712
+ is_bot: z.ZodBoolean;
713
+ first_name: z.ZodString;
714
+ last_name: z.ZodOptional<z.ZodString>;
715
+ username: z.ZodOptional<z.ZodString>;
716
+ language_code: z.ZodOptional<z.ZodString>;
717
+ }, z.core.$loose>>>;
718
+ left_chat_member: z.ZodOptional<z.ZodObject<{
719
+ id: z.ZodNumber;
720
+ is_bot: z.ZodBoolean;
721
+ first_name: z.ZodString;
722
+ last_name: z.ZodOptional<z.ZodString>;
723
+ username: z.ZodOptional<z.ZodString>;
724
+ language_code: z.ZodOptional<z.ZodString>;
725
+ }, z.core.$loose>>;
726
+ group_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
727
+ supergroup_chat_created: z.ZodOptional<z.ZodLiteral<true>>;
728
+ forum_topic_created: z.ZodOptional<z.ZodObject<{
729
+ name: z.ZodString;
730
+ icon_color: z.ZodOptional<z.ZodNumber>;
731
+ icon_custom_emoji_id: z.ZodOptional<z.ZodString>;
732
+ }, z.core.$loose>>;
733
+ }, z.core.$loose>>;
734
+ inline_message_id: z.ZodOptional<z.ZodString>;
735
+ data: z.ZodOptional<z.ZodString>;
736
+ }, z.core.$loose>>;
737
+ my_chat_member: z.ZodOptional<z.ZodObject<{
738
+ chat: z.ZodObject<{
739
+ id: z.ZodNumber;
740
+ type: z.ZodString;
741
+ title: z.ZodOptional<z.ZodString>;
742
+ username: z.ZodOptional<z.ZodString>;
743
+ first_name: z.ZodOptional<z.ZodString>;
744
+ last_name: z.ZodOptional<z.ZodString>;
745
+ is_forum: z.ZodOptional<z.ZodBoolean>;
746
+ }, z.core.$loose>;
747
+ from: z.ZodObject<{
748
+ id: z.ZodNumber;
749
+ is_bot: z.ZodBoolean;
750
+ first_name: z.ZodString;
751
+ last_name: z.ZodOptional<z.ZodString>;
752
+ username: z.ZodOptional<z.ZodString>;
753
+ language_code: z.ZodOptional<z.ZodString>;
754
+ }, z.core.$loose>;
755
+ date: z.ZodNumber;
756
+ old_chat_member: z.ZodObject<{
757
+ status: z.ZodString;
758
+ user: z.ZodObject<{
759
+ id: z.ZodNumber;
760
+ is_bot: z.ZodBoolean;
761
+ first_name: z.ZodString;
762
+ last_name: z.ZodOptional<z.ZodString>;
763
+ username: z.ZodOptional<z.ZodString>;
764
+ language_code: z.ZodOptional<z.ZodString>;
765
+ }, z.core.$loose>;
766
+ }, z.core.$loose>;
767
+ new_chat_member: z.ZodObject<{
768
+ status: z.ZodString;
769
+ user: z.ZodObject<{
770
+ id: z.ZodNumber;
771
+ is_bot: z.ZodBoolean;
772
+ first_name: z.ZodString;
773
+ last_name: z.ZodOptional<z.ZodString>;
774
+ username: z.ZodOptional<z.ZodString>;
775
+ language_code: z.ZodOptional<z.ZodString>;
776
+ }, z.core.$loose>;
777
+ }, z.core.$loose>;
778
+ }, z.core.$loose>>;
779
+ chat_member: z.ZodOptional<z.ZodObject<{
780
+ chat: z.ZodObject<{
781
+ id: z.ZodNumber;
782
+ type: z.ZodString;
783
+ title: z.ZodOptional<z.ZodString>;
784
+ username: z.ZodOptional<z.ZodString>;
785
+ first_name: z.ZodOptional<z.ZodString>;
786
+ last_name: z.ZodOptional<z.ZodString>;
787
+ is_forum: z.ZodOptional<z.ZodBoolean>;
788
+ }, z.core.$loose>;
789
+ from: z.ZodObject<{
790
+ id: z.ZodNumber;
791
+ is_bot: z.ZodBoolean;
792
+ first_name: z.ZodString;
793
+ last_name: z.ZodOptional<z.ZodString>;
794
+ username: z.ZodOptional<z.ZodString>;
795
+ language_code: z.ZodOptional<z.ZodString>;
796
+ }, z.core.$loose>;
797
+ date: z.ZodNumber;
798
+ old_chat_member: z.ZodObject<{
799
+ status: z.ZodString;
800
+ user: z.ZodObject<{
801
+ id: z.ZodNumber;
802
+ is_bot: z.ZodBoolean;
803
+ first_name: z.ZodString;
804
+ last_name: z.ZodOptional<z.ZodString>;
805
+ username: z.ZodOptional<z.ZodString>;
806
+ language_code: z.ZodOptional<z.ZodString>;
807
+ }, z.core.$loose>;
808
+ }, z.core.$loose>;
809
+ new_chat_member: z.ZodObject<{
810
+ status: z.ZodString;
811
+ user: z.ZodObject<{
812
+ id: z.ZodNumber;
813
+ is_bot: z.ZodBoolean;
814
+ first_name: z.ZodString;
815
+ last_name: z.ZodOptional<z.ZodString>;
816
+ username: z.ZodOptional<z.ZodString>;
817
+ language_code: z.ZodOptional<z.ZodString>;
818
+ }, z.core.$loose>;
819
+ }, z.core.$loose>;
820
+ }, z.core.$loose>>;
821
+ }, z.core.$loose>;
822
+ export type TgUpdate = z.infer<typeof TgUpdate>;
823
+ /** Result of {@link parseUpdate}. */
824
+ export type ParsedUpdate = {
825
+ ok: true;
826
+ update: TgUpdate;
827
+ } | {
828
+ ok: false;
829
+ updateId: number | null;
830
+ issues: string[];
831
+ };
832
+ /** Validates an inbound webhook / getUpdates body. Never throws; `issues` hold paths only (no message text). */
833
+ export declare function parseUpdate(input: unknown): ParsedUpdate;