telegrinder 0.1.dev19__py3-none-any.whl → 0.1.dev158__py3-none-any.whl

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.

Potentially problematic release.


This version of telegrinder might be problematic. Click here for more details.

Files changed (136) hide show
  1. telegrinder/__init__.py +129 -22
  2. telegrinder/api/__init__.py +11 -2
  3. telegrinder/api/abc.py +25 -9
  4. telegrinder/api/api.py +29 -24
  5. telegrinder/api/error.py +14 -4
  6. telegrinder/api/response.py +11 -7
  7. telegrinder/bot/__init__.py +68 -7
  8. telegrinder/bot/bot.py +30 -24
  9. telegrinder/bot/cute_types/__init__.py +11 -1
  10. telegrinder/bot/cute_types/base.py +47 -0
  11. telegrinder/bot/cute_types/callback_query.py +64 -14
  12. telegrinder/bot/cute_types/inline_query.py +22 -16
  13. telegrinder/bot/cute_types/message.py +163 -43
  14. telegrinder/bot/cute_types/update.py +23 -0
  15. telegrinder/bot/dispatch/__init__.py +56 -3
  16. telegrinder/bot/dispatch/abc.py +9 -7
  17. telegrinder/bot/dispatch/composition.py +74 -0
  18. telegrinder/bot/dispatch/context.py +71 -0
  19. telegrinder/bot/dispatch/dispatch.py +86 -49
  20. telegrinder/bot/dispatch/handler/__init__.py +3 -0
  21. telegrinder/bot/dispatch/handler/abc.py +11 -5
  22. telegrinder/bot/dispatch/handler/func.py +41 -32
  23. telegrinder/bot/dispatch/handler/message_reply.py +46 -0
  24. telegrinder/bot/dispatch/middleware/__init__.py +2 -0
  25. telegrinder/bot/dispatch/middleware/abc.py +10 -4
  26. telegrinder/bot/dispatch/process.py +53 -49
  27. telegrinder/bot/dispatch/return_manager/__init__.py +19 -0
  28. telegrinder/bot/dispatch/return_manager/abc.py +95 -0
  29. telegrinder/bot/dispatch/return_manager/callback_query.py +19 -0
  30. telegrinder/bot/dispatch/return_manager/inline_query.py +14 -0
  31. telegrinder/bot/dispatch/return_manager/message.py +25 -0
  32. telegrinder/bot/dispatch/view/__init__.py +14 -2
  33. telegrinder/bot/dispatch/view/abc.py +121 -2
  34. telegrinder/bot/dispatch/view/box.py +38 -0
  35. telegrinder/bot/dispatch/view/callback_query.py +13 -38
  36. telegrinder/bot/dispatch/view/inline_query.py +11 -38
  37. telegrinder/bot/dispatch/view/message.py +11 -46
  38. telegrinder/bot/dispatch/waiter_machine/__init__.py +9 -0
  39. telegrinder/bot/dispatch/waiter_machine/machine.py +116 -0
  40. telegrinder/bot/dispatch/waiter_machine/middleware.py +76 -0
  41. telegrinder/bot/dispatch/waiter_machine/short_state.py +37 -0
  42. telegrinder/bot/polling/__init__.py +2 -0
  43. telegrinder/bot/polling/abc.py +11 -4
  44. telegrinder/bot/polling/polling.py +89 -40
  45. telegrinder/bot/rules/__init__.py +92 -5
  46. telegrinder/bot/rules/abc.py +81 -63
  47. telegrinder/bot/rules/adapter/__init__.py +11 -0
  48. telegrinder/bot/rules/adapter/abc.py +21 -0
  49. telegrinder/bot/rules/adapter/errors.py +5 -0
  50. telegrinder/bot/rules/adapter/event.py +43 -0
  51. telegrinder/bot/rules/adapter/raw_update.py +24 -0
  52. telegrinder/bot/rules/callback_data.py +159 -38
  53. telegrinder/bot/rules/command.py +116 -0
  54. telegrinder/bot/rules/enum_text.py +28 -0
  55. telegrinder/bot/rules/func.py +17 -17
  56. telegrinder/bot/rules/fuzzy.py +13 -10
  57. telegrinder/bot/rules/inline.py +61 -0
  58. telegrinder/bot/rules/integer.py +12 -7
  59. telegrinder/bot/rules/is_from.py +148 -7
  60. telegrinder/bot/rules/markup.py +21 -18
  61. telegrinder/bot/rules/mention.py +17 -0
  62. telegrinder/bot/rules/message_entities.py +33 -0
  63. telegrinder/bot/rules/regex.py +27 -19
  64. telegrinder/bot/rules/rule_enum.py +74 -0
  65. telegrinder/bot/rules/start.py +42 -0
  66. telegrinder/bot/rules/text.py +23 -14
  67. telegrinder/bot/scenario/__init__.py +2 -0
  68. telegrinder/bot/scenario/abc.py +12 -5
  69. telegrinder/bot/scenario/checkbox.py +48 -30
  70. telegrinder/bot/scenario/choice.py +16 -10
  71. telegrinder/client/__init__.py +2 -0
  72. telegrinder/client/abc.py +8 -21
  73. telegrinder/client/aiohttp.py +30 -21
  74. telegrinder/model.py +68 -37
  75. telegrinder/modules.py +189 -21
  76. telegrinder/msgspec_json.py +14 -0
  77. telegrinder/msgspec_utils.py +207 -0
  78. telegrinder/node/__init__.py +31 -0
  79. telegrinder/node/attachment.py +71 -0
  80. telegrinder/node/base.py +93 -0
  81. telegrinder/node/composer.py +71 -0
  82. telegrinder/node/container.py +22 -0
  83. telegrinder/node/message.py +18 -0
  84. telegrinder/node/rule.py +56 -0
  85. telegrinder/node/source.py +31 -0
  86. telegrinder/node/text.py +13 -0
  87. telegrinder/node/tools/__init__.py +3 -0
  88. telegrinder/node/tools/generator.py +40 -0
  89. telegrinder/node/update.py +12 -0
  90. telegrinder/rules.py +1 -1
  91. telegrinder/tools/__init__.py +165 -4
  92. telegrinder/tools/buttons.py +75 -51
  93. telegrinder/tools/error_handler/__init__.py +8 -0
  94. telegrinder/tools/error_handler/abc.py +30 -0
  95. telegrinder/tools/error_handler/error_handler.py +156 -0
  96. telegrinder/tools/formatting/__init__.py +81 -3
  97. telegrinder/tools/formatting/html.py +283 -37
  98. telegrinder/tools/formatting/links.py +32 -0
  99. telegrinder/tools/formatting/spec_html_formats.py +121 -0
  100. telegrinder/tools/global_context/__init__.py +12 -0
  101. telegrinder/tools/global_context/abc.py +66 -0
  102. telegrinder/tools/global_context/global_context.py +451 -0
  103. telegrinder/tools/global_context/telegrinder_ctx.py +25 -0
  104. telegrinder/tools/i18n/__init__.py +12 -0
  105. telegrinder/tools/i18n/base.py +31 -0
  106. telegrinder/tools/i18n/middleware/__init__.py +3 -0
  107. telegrinder/tools/i18n/middleware/base.py +26 -0
  108. telegrinder/tools/i18n/simple.py +48 -0
  109. telegrinder/tools/inline_query.py +684 -0
  110. telegrinder/tools/kb_set/__init__.py +2 -0
  111. telegrinder/tools/kb_set/base.py +3 -0
  112. telegrinder/tools/kb_set/yaml.py +28 -17
  113. telegrinder/tools/keyboard.py +84 -62
  114. telegrinder/tools/loop_wrapper/__init__.py +4 -0
  115. telegrinder/tools/loop_wrapper/abc.py +18 -0
  116. telegrinder/tools/loop_wrapper/loop_wrapper.py +132 -0
  117. telegrinder/tools/magic.py +48 -23
  118. telegrinder/tools/parse_mode.py +1 -2
  119. telegrinder/types/__init__.py +1 -0
  120. telegrinder/types/enums.py +651 -0
  121. telegrinder/types/methods.py +3933 -1128
  122. telegrinder/types/objects.py +4755 -1633
  123. {telegrinder-0.1.dev19.dist-info → telegrinder-0.1.dev158.dist-info}/LICENSE +2 -1
  124. telegrinder-0.1.dev158.dist-info/METADATA +108 -0
  125. telegrinder-0.1.dev158.dist-info/RECORD +126 -0
  126. {telegrinder-0.1.dev19.dist-info → telegrinder-0.1.dev158.dist-info}/WHEEL +1 -1
  127. telegrinder/bot/dispatch/waiter.py +0 -37
  128. telegrinder/result.py +0 -38
  129. telegrinder/tools/formatting/abc.py +0 -52
  130. telegrinder/tools/formatting/markdown.py +0 -57
  131. telegrinder/typegen/__init__.py +0 -1
  132. telegrinder/typegen/__main__.py +0 -3
  133. telegrinder/typegen/nicification.py +0 -20
  134. telegrinder/typegen/schema_generator.py +0 -259
  135. telegrinder-0.1.dev19.dist-info/METADATA +0 -22
  136. telegrinder-0.1.dev19.dist-info/RECORD +0 -74
@@ -0,0 +1,651 @@
1
+ import enum
2
+
3
+
4
+ class ProgrammingLanguage(str, enum.Enum):
5
+ """Type of ProgrammingLanguage."""
6
+
7
+ ASSEMBLY = "assembly"
8
+ PYTHON = "python"
9
+ RUST = "rust"
10
+ RUBY = "ruby"
11
+ JAVA = "java"
12
+ C = "c"
13
+ C_SHARP = "cs"
14
+ CPP = "cpp"
15
+ CSS = "css"
16
+ OBJECTIVE_C = "Objective-C"
17
+ CYTHON = "cython"
18
+ CARBON = "carbon"
19
+ COBRA = "cobra"
20
+ SWIFT = "swift"
21
+ LAURELANG = "laurelang"
22
+ DART = "dart"
23
+ DELPHI = "delphi"
24
+ ELIXIR = "elixir"
25
+ HASKELL = "haskell"
26
+ PASCAL = "pascal"
27
+ TYPE_SCRIPT = "ts"
28
+ JAVA_SCRIPT = "js"
29
+ PHP = "php"
30
+ GO = "go"
31
+ SQL = "sql"
32
+ F_SHARP = "fs"
33
+ FORTRAN = "fortran"
34
+ KOTLIN = "kotlin"
35
+ HTML = "html"
36
+ YAML = "yaml"
37
+ JSON = "json"
38
+
39
+
40
+ class ChatAction(str, enum.Enum):
41
+ """Type of ChatAction.
42
+
43
+ Choose one, depending on what the user is about to receive:
44
+ - typing for text messages,
45
+ - upload_photo for photos,
46
+ - record_video or upload_video for videos,
47
+ - record_voice or upload_voice for voice notes,
48
+ - upload_document for general files,
49
+ - choose_sticker for stickers,
50
+ - find_location for location data,
51
+ - record_video_note or upload_video_note for video notes.
52
+
53
+ Docs: https://core.telegram.org/bots/api#sendchataction"""
54
+
55
+ TYPING = "typing"
56
+ UPLOAD_PHOTO = "upload_photo"
57
+ RECORD_VIDEO = "record_video"
58
+ UPLOAD_VIDEO = "upload_video"
59
+ RECORD_VOICE = "record_voice"
60
+ UPLOAD_VOICE = "upload_voice"
61
+ UPLOAD_DOCUMENT = "upload_document"
62
+ CHOOSE_STICKER = "choose_sticker"
63
+ FIND_LOCATION = "find_location"
64
+ RECORD_VIDEO_NOTE = "record_video_note"
65
+ UPLOAD_VIDEO_NOTE = "upload_video_note"
66
+
67
+
68
+ class ReactionEmoji(str, enum.Enum):
69
+ """Type of ReactionEmoji.
70
+
71
+ Currently, it can be one of `👍`, `👎`, `❤`, `🔥`, `🥰`, `👏`,
72
+ `😁`, `🤔`, `🤯`, `😱`, `🤬`, `😢`, `🎉`, `🤩`, `🤮`, `💩`, `🙏`, `👌`, `🕊`, `🤡`, `🥱`,
73
+ `🥴`, `😍`, `🐳`, `❤‍🔥`, `🌚`, `🌭`, `💯`, `🤣`, `⚡`, `🍌`, `🏆`, `💔`, `🤨`, `😐`, `🍓`,
74
+ `🍾`, `💋`, `🖕`, `😈`, `😴`, `😭`, `🤓`, `👻`, `👨‍💻`, `👀`, `🎃`, `🙈`, `😇`, `😨`, `🤝`,
75
+ `✍`, `🤗`, `🫡`, `🎅`, `🎄`, `☃`, `💅`, `🤪`, `🗿`, `🆒`, `💘`, `🙉`, `🦄`, `😘`, `💊`,
76
+ `🙊`, `😎`, `👾`, `🤷‍♂`, `🤷`, `🤷‍♀`, `😡`.
77
+
78
+ Docs: https://core.telegram.org/bots/api#reactiontypeemoji"""
79
+
80
+ THUMBS_UP = "👍"
81
+ THUMBS_DOWN = "👎"
82
+ RED_HEART = "❤"
83
+ FIRE = "🔥"
84
+ SMILING_FACE_WITH_HEARTS = "🥰"
85
+ CLAPPING_HANDS = "👏"
86
+ BEAMING_FACE_WITH_SMILING_EYES = "😁"
87
+ THINKING_FACE = "🤔"
88
+ EXPLODING_HEAD = "🤯"
89
+ FACE_SCREAMING_IN_FEAR = "😱"
90
+ FACE_WITH_SYMBOLS_ON_MOUTH = "🤬"
91
+ CRYING_FACE = "😢"
92
+ PARTY_POPPER = "🎉"
93
+ STAR_STRUCK = "🤩"
94
+ FACE_VOMITING = "🤮"
95
+ PILE_OF_POO = "💩"
96
+ FOLDED_HANDS = "🙏"
97
+ OK_HAND = "👌"
98
+ DOVE = "🕊"
99
+ CLOWN_FACE = "🤡"
100
+ YAWNING_FACE = "🥱"
101
+ WOOZY_FACE = "🥴"
102
+ SMILING_FACE_WITH_HEART_EYES = "😍"
103
+ SPOUTING_WHALE = "🐳"
104
+ HEART_ON_FIRE = "❤‍🔥"
105
+ NEW_MOON_FACE = "🌚"
106
+ HOT_DOG = "🌭"
107
+ HUNDRED_POINTS = "💯"
108
+ ROLLING_ON_THE_FLOOR_LAUGHING = "🤣"
109
+ HIGH_VOLTAGE = "⚡"
110
+ BANANA = "🍌"
111
+ TROPHY = "🏆"
112
+ BROKEN_HEART = "💔"
113
+ FACE_WITH_RAISED_EYEBROW = "🤨"
114
+ NEUTRAL_FACE = "😐"
115
+ STRAWBERRY = "🍓"
116
+ BOTTLE_WITH_POPPING_CORK = "🍾"
117
+ KISS_MARK = "💋"
118
+ MIDDLE_FINGER = "🖕"
119
+ SMILING_FACE_WITH_HORNS = "😈"
120
+ SLEEPING_FACE = "😴"
121
+ LOUDLY_CRYING_FACE = "😭"
122
+ NERD_FACE = "🤓"
123
+ GHOST = "👻"
124
+ MAN_TECHNOLOGIST = "👨‍💻"
125
+ EYES = "👀"
126
+ JACK_O_LANTERN = "🎃"
127
+ SEE_NO_EVIL_MONKEY = "🙈"
128
+ SMILING_FACE_WITH_HALO = "😇"
129
+ FEARFUL_FACE = "😨"
130
+ HANDSHAKE = "🤝"
131
+ WRITING_HAND = "✍"
132
+ SMILING_FACE_WITH_OPEN_HANDS = "🤗"
133
+ SALUTING_FACE = "🫡"
134
+ SANTA_CLAUS = "🎅"
135
+ CHRISTMAS_TREE = "🎄"
136
+ SNOWMAN = "☃"
137
+ NAIL_POLISH = "💅"
138
+ ZANY_FACE = "🤪"
139
+ MOAI = "🗿"
140
+ COOL_BUTTON = "🆒"
141
+ HEART_WITH_ARROW = "💘"
142
+ HEAR_NO_EVIL_MONKEY = "🙉"
143
+ UNICORN = "🦄"
144
+ FACE_BLOWING_A_KISS = "😘"
145
+ PILL = "💊"
146
+ SPEAK_NO_EVIL_MONKEY = "🙊"
147
+ SMILING_FACE_WITH_SUNGLASSES = "😎"
148
+ ALIEN_MONSTER = "👾"
149
+ MAN_SHRUGGING = "🤷‍♂"
150
+ PERSON_SHRUGGING = "🤷"
151
+ WOMAN_SHRUGGING = "🤷‍♀"
152
+ ENRAGED_FACE = "😡"
153
+
154
+
155
+ class DefaultUserColor(int, enum.Enum):
156
+ """Type of DefaultUserColor.
157
+
158
+ One of 7 possible user colors:
159
+ - red
160
+ - orange
161
+ - purple
162
+ - green
163
+ - cyan
164
+ - blue
165
+ - pink
166
+ """
167
+
168
+ RED = 0
169
+ ORANGE = 1
170
+ PURPLE = 2
171
+ GREEN = 3
172
+ CYAN = 4
173
+ BLUE = 5
174
+ PINK = 6
175
+
176
+
177
+ class TopicIconColor(int, enum.Enum):
178
+ """Type of TopicIconColor.
179
+
180
+ Docs: https://github.com/telegramdesktop/tdesktop/blob/991fe491c5ae62705d77aa8fdd44a79caf639c45/Telegram/SourceFiles/data/data_forum_topic.cpp#L51-L56
181
+ """
182
+
183
+ BLUE = 0x6FB9F0
184
+ YELLOW = 0xFFD67E
185
+ VIOLET = 0xCB86DB
186
+ GREEN = 0x8EEE98
187
+ ROSE = 0xFF93B2
188
+ RED = 0xFB6F5F
189
+
190
+
191
+ class ChatBoostSourceType(str, enum.Enum):
192
+ """Type of ChatBoostSourceType
193
+ Docs: https://core.telegram.org/bots/api#chatboostsource"""
194
+
195
+ PREMIUM = "premium"
196
+ GIFT_CODE = "gift_code"
197
+ GIVEAWAY = "giveaway"
198
+
199
+
200
+ class ContentType(str, enum.Enum):
201
+ """Type of ContentType."""
202
+
203
+ TEXT = "text"
204
+ ANIMATION = "animation"
205
+ AUDIO = "audio"
206
+ DOCUMENT = "document"
207
+ PHOTO = "photo"
208
+ STICKER = "sticker"
209
+ STORY = "story"
210
+ VIDEO = "video"
211
+ VIDEO_NOTE = "video_note"
212
+ VOICE = "voice"
213
+ HAS_MEDIA_SPOILER = "has_media_spoiler"
214
+ CONTACT = "contact"
215
+ DICE = "dice"
216
+ GAME = "game"
217
+ POLL = "poll"
218
+ VENUE = "venue"
219
+ LOCATION = "location"
220
+ NEW_CHAT_MEMBERS = "new_chat_members"
221
+ LEFT_CHAT_MEMBER = "left_chat_member"
222
+ NEW_CHAT_TITLE = "new_chat_title"
223
+ NEW_CHAT_PHOTO = "new_chat_photo"
224
+ DELETE_CHAT_PHOTO = "delete_chat_photo"
225
+ GROUP_CHAT_CREATED = "group_chat_created"
226
+ BOOST_ADDED = "boost_added"
227
+ SUPERGROUP_CHAT_CREATED = "supergroup_chat_created"
228
+ CHANNEL_CHAT_CREATED = "channel_chat_created"
229
+ MESSAGE_AUTO_DELETE_TIMER_CHANGED = "message_auto_delete_timer_changed"
230
+ MIGRATE_TO_CHAT_ID = "migrate_to_chat_id"
231
+ MIGRATE_FROM_CHAT_ID = "migrate_from_chat_id"
232
+ PINNED_MESSAGE = "pinned_message"
233
+ INVOICE = "invoice"
234
+ SUCCESSFUL_PAYMENT = "successful_payment"
235
+ USERS_SHARED = "users_shared"
236
+ CHAT_SHARED = "chat_shared"
237
+ CONNECTED_WEBSITE = "connected_website"
238
+ WRITE_ACCESS_ALLOWED = "write_access_allowed"
239
+ PASSPORT_DATA = "passport_data"
240
+ PROXIMITY_ALERT_TRIGGERED = "proximity_alert_triggered"
241
+ FORUM_TOPIC_CREATED = "forum_topic_created"
242
+ FORUM_TOPIC_EDITED = "forum_topic_edited"
243
+ FORUM_TOPIC_CLOSED = "forum_topic_closed"
244
+ FORUM_TOPIC_REOPENED = "forum_topic_reopened"
245
+ GENERAL_FORUM_TOPIC_HIDDEN = "general_forum_topic_hidden"
246
+ GENERAL_FORUM_TOPIC_UNHIDDEN = "general_forum_topic_unhidden"
247
+ GIVEAWAY_CREATED = "giveaway_created"
248
+ GIVEAWAY = "giveaway"
249
+ GIVEAWAY_WINNERS = "giveaway_winners"
250
+ GIVEAWAY_COMPLETED = "giveaway_completed"
251
+ VIDEO_CHAT_SCHEDULED = "video_chat_scheduled"
252
+ VIDEO_CHAT_STARTED = "video_chat_started"
253
+ VIDEO_CHAT_ENDED = "video_chat_ended"
254
+ VIDEO_CHAT_PARTICIPANTS_INVITED = "video_chat_participants_invited"
255
+ WEB_APP_DATA = "web_app_data"
256
+ USER_SHARED = "user_shared"
257
+ UNKNOWN = "unknown"
258
+
259
+
260
+ class Currency(str, enum.Enum):
261
+ """Type of Currency.
262
+ Docs: https://core.telegram.org/bots/payments#supported-currencies"""
263
+
264
+ AED = "AED"
265
+ AFN = "AFN"
266
+ ALL = "ALL"
267
+ AMD = "AMD"
268
+ ARS = "ARS"
269
+ AUD = "AUD"
270
+ AZN = "AZN"
271
+ BAM = "BAM"
272
+ BDT = "BDT"
273
+ BGN = "BGN"
274
+ BND = "BND"
275
+ BOB = "BOB"
276
+ BRL = "BRL"
277
+ BYN = "BYN"
278
+ CAD = "CAD"
279
+ CHF = "CHF"
280
+ CLP = "CLP"
281
+ CNY = "CNY"
282
+ COP = "COP"
283
+ CRC = "CRC"
284
+ CZK = "CZK"
285
+ DKK = "DKK"
286
+ DOP = "DOP"
287
+ DZD = "DZD"
288
+ EGP = "EGP"
289
+ ETB = "ETB"
290
+ EUR = "EUR"
291
+ GBP = "GBP"
292
+ GEL = "GEL"
293
+ GTQ = "GTQ"
294
+ HKD = "HKD"
295
+ HNL = "HNL"
296
+ HRK = "HRK"
297
+ HUF = "HUF"
298
+ IDR = "IDR"
299
+ ILS = "ILS"
300
+ INR = "INR"
301
+ ISK = "ISK"
302
+ JMD = "JMD"
303
+ JPY = "JPY"
304
+ KES = "KES"
305
+ KGS = "KGS"
306
+ KRW = "KRW"
307
+ KZT = "KZT"
308
+ LBP = "LBP"
309
+ LKR = "LKR"
310
+ MAD = "MAD"
311
+ MDL = "MDL"
312
+ MNT = "MNT"
313
+ MUR = "MUR"
314
+ MVR = "MVR"
315
+ MXN = "MXN"
316
+ MYR = "MYR"
317
+ MZN = "MZN"
318
+ NGN = "NGN"
319
+ NIO = "NIO"
320
+ NOK = "NOK"
321
+ NPR = "NPR"
322
+ NZD = "NZD"
323
+ PAB = "PAB"
324
+ PEN = "PEN"
325
+ PHP = "PHP"
326
+ PKR = "PKR"
327
+ PLN = "PLN"
328
+ PYG = "PYG"
329
+ QAR = "QAR"
330
+ RON = "RON"
331
+ RSD = "RSD"
332
+ RUB = "RUB"
333
+ SAR = "SAR"
334
+ SEK = "SEK"
335
+ SGD = "SGD"
336
+ THB = "THB"
337
+ TJS = "TJS"
338
+ TRY = "TRY"
339
+ TTD = "TTD"
340
+ TWD = "TWD"
341
+ TZS = "TZS"
342
+ UAH = "UAH"
343
+ UGX = "UGX"
344
+ USD = "USD"
345
+ UYU = "UYU"
346
+ UZS = "UZS"
347
+ VND = "VND"
348
+ YER = "YER"
349
+ ZAR = "ZAR"
350
+
351
+
352
+ class InlineQueryResultType(str, enum.Enum):
353
+ """Type of InlineQueryResultType.
354
+ Docs: https://core.telegram.org/bots/api#inlinequeryresult"""
355
+
356
+ AUDIO = "audio"
357
+ DOCUMENT = "document"
358
+ GIF = "gif"
359
+ MPEG4_GIF = "mpeg4_gif"
360
+ PHOTO = "photo"
361
+ STICKER = "sticker"
362
+ VIDEO = "video"
363
+ VOICE = "voice"
364
+ ARTICLE = "article"
365
+ CONTACT = "contact"
366
+ GAME = "game"
367
+ LOCATION = "location"
368
+ VENUE = "venue"
369
+
370
+
371
+ class MenuButtonType(str, enum.Enum):
372
+ """TType of MenuButtonType.
373
+ Docs: https://core.telegram.org/bots/api#menubuttondefault
374
+ """
375
+
376
+ DEFAULT = "default"
377
+ COMMANDS = "commands"
378
+ WEB_APP = "web_app"
379
+
380
+
381
+ class InputMediaType(str, enum.Enum):
382
+ """Type of InputMediaType.
383
+ Docs: https://core.telegram.org/bots/api#inputmedia
384
+ """
385
+
386
+ ANIMATION = "animation"
387
+ AUDIO = "audio"
388
+ DOCUMENT = "document"
389
+ PHOTO = "photo"
390
+ VIDEO = "video"
391
+
392
+
393
+ class UpdateType(str, enum.Enum):
394
+ """Type of update."""
395
+
396
+ MESSAGE = "message"
397
+ EDITED_MESSAGE = "edited_message"
398
+ CHANNEL_POST = "channel_post"
399
+ EDITED_CHANNEL_POST = "edited_channel_post"
400
+ MESSAGE_REACTION = "message_reaction"
401
+ MESSAGE_REACTION_COUNT = "message_reaction_count"
402
+ INLINE_QUERY = "inline_query"
403
+ CHOSEN_INLINE_RESULT = "chosen_inline_result"
404
+ CALLBACK_QUERY = "callback_query"
405
+ SHIPPING_QUERY = "shipping_query"
406
+ PRE_CHECKOUT_QUERY = "pre_checkout_query"
407
+ POLL = "poll"
408
+ POLL_ANSWER = "poll_answer"
409
+ MY_CHAT_MEMBER = "my_chat_member"
410
+ CHAT_MEMBER = "chat_member"
411
+ CHAT_JOIN_REQUEST = "chat_join_request"
412
+ CHAT_BOOST = "chat_boost"
413
+ REMOVED_CHAT_BOOST = "removed_chat_boost"
414
+
415
+
416
+ class BotCommandScopeType(str, enum.Enum):
417
+ """Type of BotCommandScope.
418
+ Represents the scope to which bot commands are applied."""
419
+
420
+ DEFAULT = "default"
421
+ ALL_PRIVATE_CHATS = "all_private_chats"
422
+ ALL_GROUP_CHATS = "all_group_chats"
423
+ ALL_CHAT_ADMINISTRATORS = "all_chat_administrators"
424
+ CHAT = "chat"
425
+ CHAT_ADMINISTRATORS = "chat_administrators"
426
+ CHAT_MEMBER = "chat_member"
427
+
428
+
429
+ class ChatType(str, enum.Enum):
430
+ """Type of chat, can be either “private”, “group”, “supergroup” or “channel”"""
431
+
432
+ PRIVATE = "private"
433
+ GROUP = "group"
434
+ SUPERGROUP = "supergroup"
435
+ CHANNEL = "channel"
436
+
437
+
438
+ class ChatMemberStatus(str, enum.Enum):
439
+ """Type of ChatMemberStatus."""
440
+
441
+ CREATOR = "creator"
442
+ ADMINISTRATOR = "administrator"
443
+ MEMBER = "member"
444
+ RESTRICTED = "restricted"
445
+ LEFT = "left"
446
+ KICKED = "kicked"
447
+
448
+
449
+ class DiceEmoji(str, enum.Enum):
450
+ """Emoji on which the dice throw animation is based."""
451
+
452
+ DICE = "🎲"
453
+ DART = "🎯"
454
+ BASKETBALL = "🏀"
455
+ FOOTBALL = "⚽"
456
+ SLOT_MACHINE = "🎰"
457
+ BOWLING = "🎳"
458
+
459
+
460
+ class MessageEntityType(str, enum.Enum):
461
+ """Type of the entity.
462
+ Currently, can be “mention” (`@username`), “hashtag”
463
+ (`#hashtag`), “cashtag” (`$USD`), “bot_command” (`/start@jobs_bot`),
464
+ “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`),
465
+ “phone_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic”
466
+ (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough
467
+ text), “spoiler” (spoiler message), “code” (monowidth string), “pre”
468
+ (monowidth block), “text_link” (for clickable text URLs), “text_mention”
469
+ (for users [without usernames](https://telegram.org/blog/edit#new-mentions)),
470
+ “custom_emoji” (for inline custom emoji stickers), “blockquote” (blockquote)
471
+ [docs](https://core.telegram.org/bots/api#messageentity)"""
472
+
473
+ MENTION = "mention"
474
+ HASHTAG = "hashtag"
475
+ CASHTAG = "cashtag"
476
+ BOT_COMMAND = "bot_command"
477
+ URL = "url"
478
+ EMAIL = "email"
479
+ PHONE_NUMBER = "phone_number"
480
+ BOLD = "bold"
481
+ ITALIC = "italic"
482
+ UNDERLINE = "underline"
483
+ STRIKETHROUGH = "strikethrough"
484
+ SPOILER = "spoiler"
485
+ BLOCKQUOTE = "blockquote"
486
+ CODE = "code"
487
+ PRE = "pre"
488
+ TEXT_LINK = "text_link"
489
+ TEXT_MENTION = "text_mention"
490
+ CUSTOM_EMOJI = "custom_emoji"
491
+
492
+
493
+ class PollType(str, enum.Enum):
494
+ """Poll type, currently can be “regular” or “quiz”"""
495
+
496
+ REGULAR = "regular"
497
+ QUIZ = "quiz"
498
+
499
+
500
+ class StickerType(str, enum.Enum):
501
+ """Type of the sticker, currently one of “regular”, “mask”, “custom_emoji”.
502
+ The type of the sticker is independent from its format, which is determined
503
+ by the fields *is_animated* and *is_video*."""
504
+
505
+ REGULAR = "regular"
506
+ MASK = "mask"
507
+ CUSTOM_EMOJI = "custom_emoji"
508
+
509
+
510
+ class MessageOriginType(str, enum.Enum):
511
+ """Type of MessageOriginType
512
+ Docs: https://core.telegram.org/bots/api#messageorigin"""
513
+
514
+ USER = "user"
515
+ HIDDEN_USER = "hidden_user"
516
+ CHAT = "chat"
517
+ CHANNEL = "channel"
518
+
519
+
520
+ class StickerSetStickerType(str, enum.Enum):
521
+ """Type of stickers in the set, currently one of “regular”, “mask”, “custom_emoji”"""
522
+
523
+ REGULAR = "regular"
524
+ MASK = "mask"
525
+ CUSTOM_EMOJI = "custom_emoji"
526
+
527
+
528
+ class MaskPositionPoint(str, enum.Enum):
529
+ """The part of the face relative to which the mask should be placed. One of “forehead”,
530
+ “eyes”, “mouth”, or “chin”."""
531
+
532
+ FOREHEAD = "forehead"
533
+ EYES = "eyes"
534
+ MOUTH = "mouth"
535
+ CHIN = "chin"
536
+
537
+
538
+ class InlineQueryChatType(str, enum.Enum):
539
+ """Type of the chat from which the inline query was sent. Can be
540
+ either “sender” for a private chat with the inline query sender, “private”,
541
+ “group”, “supergroup”, or “channel”. The chat type should be always known
542
+ for requests sent from official clients and most third-party clients,
543
+ unless the request was sent from a secret chat"""
544
+
545
+ SENDER = "sender"
546
+ PRIVATE = "private"
547
+ GROUP = "group"
548
+ SUPERGROUP = "supergroup"
549
+ CHANNEL = "channel"
550
+
551
+
552
+ class InlineQueryResultMimeType(str, enum.Enum):
553
+ """MIME type of the content of the video URL, “text/html” or “video/mp4”"""
554
+
555
+ TEXT_HTML = "text/html"
556
+ VIDEO_MP4 = "video/mp4"
557
+
558
+
559
+ class InlineQueryResultThumbnailMimeType(str, enum.Enum):
560
+ """MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”,
561
+ or “video/mp4”. Defaults to “image/jpeg”"""
562
+
563
+ IMAGE_JPEG = "image/jpeg"
564
+ IMAGE_GIF = "image/gif"
565
+ VIDEO_MP4 = "video/mp4"
566
+
567
+
568
+ class PassportElementErrorType(str, enum.Enum):
569
+ """Type of PassportElementErrorType.
570
+ Docs: https://core.telegram.org/bots/api#passportelementerror
571
+ """
572
+
573
+ DATA = "data"
574
+ FRONT_SIDE = "front_side"
575
+ REVERSE_SIDE = "reverse_side"
576
+ SELFIE = "selfie"
577
+ FILE = "file"
578
+ FILES = "files"
579
+ TRANSLATION_FILE = "translation_file"
580
+ TRANSLATION_FILES = "translation_files"
581
+ UNSPECIFIED = "unspecified"
582
+
583
+
584
+ class ReactionTypeType(str, enum.Enum):
585
+ """Type of ReactionTypeType.
586
+ Docs: https://core.telegram.org/bots/api#reactiontype
587
+ """
588
+
589
+ EMOJI = "emoji"
590
+ CUSTOM_EMOJI = "custom_emoji"
591
+
592
+
593
+ class InlineQueryResultGifThumbnailMimeType(str, enum.Enum):
594
+ """MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”,
595
+ or “video/mp4”. Defaults to “image/jpeg”"""
596
+
597
+ IMAGE_JPEG = "image/jpeg"
598
+ IMAGE_GIF = "image/gif"
599
+ VIDEO_MP4 = "video/mp4"
600
+
601
+
602
+ class InlineQueryResultMpeg4GifThumbnailMimeType(str, enum.Enum):
603
+ """MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”,
604
+ or “video/mp4”. Defaults to “image/jpeg”"""
605
+
606
+ IMAGE_JPEG = "image/jpeg"
607
+ IMAGE_GIF = "image/gif"
608
+ VIDEO_MP4 = "video/mp4"
609
+
610
+
611
+ class InlineQueryResultVideoMimeType(str, enum.Enum):
612
+ """MIME type of the content of the video URL, “text/html” or “video/mp4”"""
613
+
614
+ TEXT_HTML = "text/html"
615
+ VIDEO_MP4 = "video/mp4"
616
+
617
+
618
+ class InlineQueryResultDocumentMimeType(str, enum.Enum):
619
+ """MIME type of the content of the file, either “application/pdf” or “application/zip”"""
620
+
621
+ APPLICATION_PDF = "application/pdf"
622
+ APPLICATION_ZIP = "application/zip"
623
+
624
+
625
+ class EncryptedPassportElementType(str, enum.Enum):
626
+ """Element type. One of “personal_details”, “passport”, “driver_license”,
627
+ “identity_card”, “internal_passport”, “address”, “utility_bill”,
628
+ “bank_statement”, “rental_agreement”, “passport_registration”,
629
+ “temporary_registration”, “phone_number”, “email”."""
630
+
631
+ PERSONAL_DETAILS = "personal_details"
632
+ PASSPORT = "passport"
633
+ DRIVER_LICENSE = "driver_license"
634
+ IDENTITY_CARD = "identity_card"
635
+ INTERNAL_PASSPORT = "internal_passport"
636
+ ADDRESS = "address"
637
+ UTILITY_BILL = "utility_bill"
638
+ BANK_STATEMENT = "bank_statement"
639
+ RENTAL_AGREEMENT = "rental_agreement"
640
+ PASSPORT_REGISTRATION = "passport_registration"
641
+ TEMPORARY_REGISTRATION = "temporary_registration"
642
+ PHONE_NUMBER = "phone_number"
643
+ EMAIL = "email"
644
+
645
+
646
+ class StickerFormat(str, enum.Enum):
647
+ """Format of the sticker."""
648
+
649
+ STATIC = "static"
650
+ ANIMATED = "animated"
651
+ VIDEO = "video"