telegrinder 0.1.dev20__py3-none-any.whl → 0.1.dev159__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 (132) 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 +47 -28
  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 +138 -0
  11. telegrinder/bot/cute_types/callback_query.py +458 -15
  12. telegrinder/bot/cute_types/inline_query.py +30 -24
  13. telegrinder/bot/cute_types/message.py +2982 -78
  14. telegrinder/bot/cute_types/update.py +30 -0
  15. telegrinder/bot/cute_types/utils.py +794 -0
  16. telegrinder/bot/dispatch/__init__.py +56 -3
  17. telegrinder/bot/dispatch/abc.py +9 -7
  18. telegrinder/bot/dispatch/composition.py +74 -0
  19. telegrinder/bot/dispatch/context.py +71 -0
  20. telegrinder/bot/dispatch/dispatch.py +86 -49
  21. telegrinder/bot/dispatch/handler/__init__.py +3 -0
  22. telegrinder/bot/dispatch/handler/abc.py +11 -5
  23. telegrinder/bot/dispatch/handler/func.py +41 -32
  24. telegrinder/bot/dispatch/handler/message_reply.py +46 -0
  25. telegrinder/bot/dispatch/middleware/__init__.py +2 -0
  26. telegrinder/bot/dispatch/middleware/abc.py +10 -4
  27. telegrinder/bot/dispatch/process.py +53 -49
  28. telegrinder/bot/dispatch/return_manager/__init__.py +19 -0
  29. telegrinder/bot/dispatch/return_manager/abc.py +95 -0
  30. telegrinder/bot/dispatch/return_manager/callback_query.py +19 -0
  31. telegrinder/bot/dispatch/return_manager/inline_query.py +14 -0
  32. telegrinder/bot/dispatch/return_manager/message.py +25 -0
  33. telegrinder/bot/dispatch/view/__init__.py +14 -2
  34. telegrinder/bot/dispatch/view/abc.py +128 -2
  35. telegrinder/bot/dispatch/view/box.py +38 -0
  36. telegrinder/bot/dispatch/view/callback_query.py +13 -39
  37. telegrinder/bot/dispatch/view/inline_query.py +11 -39
  38. telegrinder/bot/dispatch/view/message.py +11 -47
  39. telegrinder/bot/dispatch/waiter_machine/__init__.py +9 -0
  40. telegrinder/bot/dispatch/waiter_machine/machine.py +116 -0
  41. telegrinder/bot/dispatch/waiter_machine/middleware.py +76 -0
  42. telegrinder/bot/dispatch/waiter_machine/short_state.py +37 -0
  43. telegrinder/bot/polling/__init__.py +2 -0
  44. telegrinder/bot/polling/abc.py +11 -4
  45. telegrinder/bot/polling/polling.py +89 -40
  46. telegrinder/bot/rules/__init__.py +91 -5
  47. telegrinder/bot/rules/abc.py +81 -63
  48. telegrinder/bot/rules/adapter/__init__.py +11 -0
  49. telegrinder/bot/rules/adapter/abc.py +21 -0
  50. telegrinder/bot/rules/adapter/errors.py +5 -0
  51. telegrinder/bot/rules/adapter/event.py +49 -0
  52. telegrinder/bot/rules/adapter/raw_update.py +24 -0
  53. telegrinder/bot/rules/callback_data.py +159 -38
  54. telegrinder/bot/rules/command.py +116 -0
  55. telegrinder/bot/rules/enum_text.py +28 -0
  56. telegrinder/bot/rules/func.py +17 -17
  57. telegrinder/bot/rules/fuzzy.py +13 -10
  58. telegrinder/bot/rules/inline.py +61 -0
  59. telegrinder/bot/rules/integer.py +12 -7
  60. telegrinder/bot/rules/is_from.py +148 -7
  61. telegrinder/bot/rules/markup.py +21 -18
  62. telegrinder/bot/rules/mention.py +17 -0
  63. telegrinder/bot/rules/message_entities.py +33 -0
  64. telegrinder/bot/rules/regex.py +27 -19
  65. telegrinder/bot/rules/rule_enum.py +74 -0
  66. telegrinder/bot/rules/start.py +25 -13
  67. telegrinder/bot/rules/text.py +23 -14
  68. telegrinder/bot/scenario/__init__.py +2 -0
  69. telegrinder/bot/scenario/abc.py +12 -5
  70. telegrinder/bot/scenario/checkbox.py +48 -30
  71. telegrinder/bot/scenario/choice.py +16 -10
  72. telegrinder/client/__init__.py +3 -1
  73. telegrinder/client/abc.py +26 -16
  74. telegrinder/client/aiohttp.py +54 -32
  75. telegrinder/model.py +119 -40
  76. telegrinder/modules.py +189 -21
  77. telegrinder/msgspec_json.py +14 -0
  78. telegrinder/msgspec_utils.py +227 -0
  79. telegrinder/node/__init__.py +31 -0
  80. telegrinder/node/attachment.py +71 -0
  81. telegrinder/node/base.py +93 -0
  82. telegrinder/node/composer.py +71 -0
  83. telegrinder/node/container.py +22 -0
  84. telegrinder/node/message.py +18 -0
  85. telegrinder/node/rule.py +56 -0
  86. telegrinder/node/source.py +31 -0
  87. telegrinder/node/text.py +13 -0
  88. telegrinder/node/tools/__init__.py +3 -0
  89. telegrinder/node/tools/generator.py +40 -0
  90. telegrinder/node/update.py +12 -0
  91. telegrinder/rules.py +1 -1
  92. telegrinder/tools/__init__.py +138 -4
  93. telegrinder/tools/buttons.py +89 -51
  94. telegrinder/tools/error_handler/__init__.py +8 -0
  95. telegrinder/tools/error_handler/abc.py +30 -0
  96. telegrinder/tools/error_handler/error_handler.py +156 -0
  97. telegrinder/tools/formatting/__init__.py +81 -3
  98. telegrinder/tools/formatting/html.py +283 -37
  99. telegrinder/tools/formatting/links.py +32 -0
  100. telegrinder/tools/formatting/spec_html_formats.py +121 -0
  101. telegrinder/tools/global_context/__init__.py +12 -0
  102. telegrinder/tools/global_context/abc.py +66 -0
  103. telegrinder/tools/global_context/global_context.py +451 -0
  104. telegrinder/tools/global_context/telegrinder_ctx.py +25 -0
  105. telegrinder/tools/i18n/__init__.py +12 -0
  106. telegrinder/tools/i18n/base.py +31 -0
  107. telegrinder/tools/i18n/middleware/__init__.py +3 -0
  108. telegrinder/tools/i18n/middleware/base.py +26 -0
  109. telegrinder/tools/i18n/simple.py +48 -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 +653 -0
  121. telegrinder/types/methods.py +4107 -1279
  122. telegrinder/types/objects.py +4771 -1745
  123. {telegrinder-0.1.dev20.dist-info → telegrinder-0.1.dev159.dist-info}/LICENSE +2 -1
  124. telegrinder-0.1.dev159.dist-info/METADATA +109 -0
  125. telegrinder-0.1.dev159.dist-info/RECORD +126 -0
  126. {telegrinder-0.1.dev20.dist-info → telegrinder-0.1.dev159.dist-info}/WHEEL +1 -1
  127. telegrinder/bot/dispatch/waiter.py +0 -38
  128. telegrinder/result.py +0 -38
  129. telegrinder/tools/formatting/abc.py +0 -52
  130. telegrinder/tools/formatting/markdown.py +0 -57
  131. telegrinder-0.1.dev20.dist-info/METADATA +0 -22
  132. telegrinder-0.1.dev20.dist-info/RECORD +0 -71
@@ -1,6 +1,7 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022 timoniq
3
+ Copyright (c) 2022-2024 timoniq
4
+ Copyright (c) 2024 luwqz1
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.1
2
+ Name: telegrinder
3
+ Version: 0.1.dev159
4
+ Summary: Framework for effective and reliable async telegram bot building.
5
+ Home-page: https://github.com/timoniq/telegrinder
6
+ License: MIT
7
+ Keywords: telegram,telegram bot api framework,telegrinder,asyncio,middleware,composition,bot api,async
8
+ Author: timoniq
9
+ Author-email: tesseradecades@mail.ru
10
+ Maintainer: luwqz1
11
+ Requires-Python: >=3.11,<4.0
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: Software Development :: Quality Assurance
20
+ Classifier: Typing :: Typed
21
+ Requires-Dist: PyYAML (>=6.0,<7.0)
22
+ Requires-Dist: aiohttp (>=3.8.1,<4.0.0)
23
+ Requires-Dist: certifi (>=2023.7.22,<2024.0.0)
24
+ Requires-Dist: choicelib (>=0.1.5,<0.2.0)
25
+ Requires-Dist: colorama (>=0.4.0,<0.5.0)
26
+ Requires-Dist: envparse (>=0.2.0,<0.3.0)
27
+ Requires-Dist: fntypes (>=0.1.1,<0.2.0)
28
+ Requires-Dist: msgspec (>=0.18.4,<0.19.0)
29
+ Requires-Dist: requests (>=2.28.1,<3.0.0)
30
+ Requires-Dist: typing-extensions (>=4.8.0,<5.0.0)
31
+ Requires-Dist: vbml (>=1.1.post1,<2.0)
32
+ Project-URL: Repository, https://github.com/timoniq/telegrinder
33
+ Description-Content-Type: text/markdown
34
+
35
+ # Telegrinder
36
+
37
+ Framework for effective and reliable telegram bot building.
38
+
39
+ Still in development.
40
+
41
+ * Type hinted
42
+ * Customizable and extensible
43
+ * Ready to use scenarios and rules
44
+ * Fast models built on msgspec
45
+ * Both low-level and high-level API
46
+
47
+ # Getting started
48
+
49
+ Install using pip:
50
+
51
+ ```
52
+ pip install telegrinder
53
+ ```
54
+
55
+ Using poetry:
56
+
57
+ ```
58
+ poetry add telegrinder
59
+ ```
60
+
61
+ Install from github:
62
+
63
+ ```
64
+ pip install -U https://github.com/timoniq/telegrinder/archive/dev.zip
65
+ ```
66
+
67
+ ```
68
+ poetry add git+https://github.com/timoniq/telegrinder.git#dev
69
+ ```
70
+
71
+ Basic example:
72
+
73
+ ```python
74
+ from telegrinder import API, Message, Telegrinder, Token
75
+ from telegrinder.modules import logger
76
+ from telegrinder.rules import Text
77
+
78
+ logger.set_level("INFO")
79
+ api = API(token=Token("123:token"))
80
+ bot = Telegrinder(api)
81
+
82
+
83
+ @bot.on.message(Text("/start"))
84
+ async def start(message: Message):
85
+ me = (await api.get_me()).unwrap()
86
+ await message.answer(
87
+ f"Hello, {message.from_user.full_name}! I'm {me.full_name}."
88
+ )
89
+
90
+
91
+ bot.run_forever()
92
+ ```
93
+
94
+ # Documentation
95
+
96
+ [Readthedocs](https://telegrinder.readthedocs.io)
97
+
98
+ # Community
99
+
100
+ Join our [telegram forum](https://t.me/botoforum).
101
+
102
+ # [Contributing](https://github.com/timoniq/telegrinder/blob/main/contributing.md)
103
+
104
+ # License
105
+
106
+ Telegrinder is [MIT licensed](./LICENSE)
107
+ Copyright © 2022-2024 [timoniq](https://github.com/timoniq)\
108
+ Copyright © 2024 [luwqz1](https://github.com/luwqz1)
109
+
@@ -0,0 +1,126 @@
1
+ telegrinder/__init__.py,sha256=tuusAaob1cu2swfwv86_eSZWpJrfEcCZ2QyzS8u6HAM,2821
2
+ telegrinder/api/__init__.py,sha256=pIDtnsL0NwT5PgVm43Gkp-ByOqDsqnD-oFDiC9tcPT4,246
3
+ telegrinder/api/abc.py,sha256=5oaHWAd-BJ5vp0Okpef5EOnHxsiVsUmf6i4b-C86Eus,1570
4
+ telegrinder/api/api.py,sha256=eolmdAiFQ2rDrES7fd7gdah6nwEuVFqx4wFkeCOZO-w,2408
5
+ telegrinder/api/error.py,sha256=7qOYpP3P-s1p235Gp4VhCxcpY5VX8KyK_md3_-M-NCQ,390
6
+ telegrinder/api/response.py,sha256=d7Oxd5kOdbZNJiALkzkecHl8Y3K_BzCmsRq2Sn3otqA,491
7
+ telegrinder/bot/__init__.py,sha256=tLEUne5ftvKUVlkMAtPTO1_TSHkYJBbG73LuiBeC7gk,1560
8
+ telegrinder/bot/bot.py,sha256=C-egmfFZdYDBCxcyfq7GrIWUZ1WOZeUD9ulVG5Ksbd0,2222
9
+ telegrinder/bot/cute_types/__init__.py,sha256=HeuWq297lY209MssrEbj5MsxsGfOhwVLo1pH_-pHv_I,295
10
+ telegrinder/bot/cute_types/base.py,sha256=uvm9XcdPqnE0vq6DcuuIqWSfp2UO-zuQIs7Fa5GlJLY,4631
11
+ telegrinder/bot/cute_types/callback_query.py,sha256=9R7fyOzgAKu0kZYb1aGl3vy8RzhF5SlUiyBTy2ULLnQ,21217
12
+ telegrinder/bot/cute_types/inline_query.py,sha256=EaTtFRf-6DH-q6dsd_0MPOQJaVo8e-8nGXFeU6nts3g,1223
13
+ telegrinder/bot/cute_types/message.py,sha256=peuiGPrvrsZjIlZqK_bptSQYfQm88e3y9VjplH_kroQ,141368
14
+ telegrinder/bot/cute_types/update.py,sha256=VakZ2FwapOJvpEBIyzuiT8eftHHzBS-uPXrAUROQxOg,752
15
+ telegrinder/bot/cute_types/utils.py,sha256=_Ek2r4gQF3two0EAdDYx9AL-0A4P4wdmXnzt8sN2HrI,25567
16
+ telegrinder/bot/dispatch/__init__.py,sha256=o10t98PY1BuIGaJcloxfbgUYp0bf5ZqAaBQScIaV3VQ,1322
17
+ telegrinder/bot/dispatch/abc.py,sha256=3bOKEFJTKarwqWTDqhscVw2U5FBllJ-TyId-aUPzb7c,454
18
+ telegrinder/bot/dispatch/composition.py,sha256=3oYaL7IOnYC2Al0SJ4pk89LTqH8i0eP48t-4-BDtqRQ,2546
19
+ telegrinder/bot/dispatch/context.py,sha256=Uk_GFN3wlLuS5BGgBaLfLxU8xBp_yB4fPJcuzEd1ti4,2093
20
+ telegrinder/bot/dispatch/dispatch.py,sha256=ZjCm-0ZNywlhmd_-1jKJYUHhLRHASLOb8hbmhsBUb48,3783
21
+ telegrinder/bot/dispatch/handler/__init__.py,sha256=mzchbArrm0eoTEeVKHYrtJX4WSfW5t6T4xDU3-mtYaA,169
22
+ telegrinder/bot/dispatch/handler/abc.py,sha256=ffa9zmIcaIkIuQk8JKBty2pf53woH6hzIkQb0wmqA3k,573
23
+ telegrinder/bot/dispatch/handler/func.py,sha256=eoJ8RE-am2Pc49WlOCFTP3UwhVQ-k01Az1UuaTYnzc0,2074
24
+ telegrinder/bot/dispatch/handler/message_reply.py,sha256=pfFINSLwTsx9buHwVW1ahVRWYQZn0QKyIazkO8D5MVo,1425
25
+ telegrinder/bot/dispatch/middleware/__init__.py,sha256=qDuTt2ZZKX9UMjPdw5xaaNZdMI-i3P4Px2T8qbYCMJw,61
26
+ telegrinder/bot/dispatch/middleware/abc.py,sha256=RWmr1agbvCabsh-m1WeQORi-Lrkt1xRBidKkugzA41Y,421
27
+ telegrinder/bot/dispatch/process.py,sha256=Z4iNCwqZQyBogGxFzeNK7Pbk3ldH_e0Z95AE9sm5R-0,2267
28
+ telegrinder/bot/dispatch/return_manager/__init__.py,sha256=-4h9nU-vdyPgv7bqKi1fAlfzNOKTO9m9FtdTZOhrmuc,447
29
+ telegrinder/bot/dispatch/return_manager/abc.py,sha256=dGPwsIUJW_6SRsNxSiWS69xOOwSOATzMP2a7FoD90sA,3150
30
+ telegrinder/bot/dispatch/return_manager/callback_query.py,sha256=FV_bVdJRbtVNRvf_CvL1V5EFZqS83VqZQOWUi1x3pxk,624
31
+ telegrinder/bot/dispatch/return_manager/inline_query.py,sha256=erJ54AXSG_1lACnzmP1CIQYT4RkHT4Ml5PeRD1bkHK4,452
32
+ telegrinder/bot/dispatch/return_manager/message.py,sha256=eXjQEm1qBv5W9MfvdAfleytarR7UY_Ksnpv4EAaMfQY,824
33
+ telegrinder/bot/dispatch/view/__init__.py,sha256=iMReW_At2YzenjUGOgrVnOcHLVJAIQAfI9DdQElZdcM,379
34
+ telegrinder/bot/dispatch/view/abc.py,sha256=5jW5WU4KAMaWjVMU3ZUa8FPhMfG3b4a5_kvvkVOEe_g,4544
35
+ telegrinder/bot/dispatch/view/box.py,sha256=PbIZrAArerS0DjrltTtDorUNqTMyTaXKyF_F6KwMHzc,1197
36
+ telegrinder/bot/dispatch/view/callback_query.py,sha256=iL6DbB8ucXGvlv0w8eyMeZ94S1xz181pIn2yvYK1N_8,636
37
+ telegrinder/bot/dispatch/view/inline_query.py,sha256=ZcT1iCE8uRQ_PeaXGcOsXrMmIl2ow0YTTtDzuQ2kgjU,527
38
+ telegrinder/bot/dispatch/view/message.py,sha256=U80vO8tFtVsMfZHMA_LU9HunLB7nw0vbgEBltyZaSzk,498
39
+ telegrinder/bot/dispatch/waiter_machine/__init__.py,sha256=RUuq-J1qZMeREL8omM8kxEfgAz3-7h3B9NhzSjLTMqA,190
40
+ telegrinder/bot/dispatch/waiter_machine/machine.py,sha256=IhbbDDzRFQQFjOcq1Pzh8tSFE90o3LmxIqe0fnyMM80,3412
41
+ telegrinder/bot/dispatch/waiter_machine/middleware.py,sha256=MExbbYO9Bs_fBv1UTr28mOT3iozwY-H9Yg_7Z-B4Y5U,2483
42
+ telegrinder/bot/dispatch/waiter_machine/short_state.py,sha256=SUvbRRFuNKIZ6QPqp__eh7TrhDXAbBC4MuOjwBQUAUc,1106
43
+ telegrinder/bot/polling/__init__.py,sha256=OqfIFPS_V6UrCg-vCv9pkMFzTKdNbDP2faBfATs_TGg,94
44
+ telegrinder/bot/polling/abc.py,sha256=-5BpX55SJfDlEJWt15yOXWCizQRrgeY5oiA5eHkm1Nw,434
45
+ telegrinder/bot/polling/polling.py,sha256=xAPCyTFzL-5oKgI_Ty-R_Qcx0kcNDXjdqRqZWTgwXFQ,4361
46
+ telegrinder/bot/rules/__init__.py,sha256=d53pGSOmyGwG810JoorPZ0wBArZCbiWmk1hYoDQL7FY,2047
47
+ telegrinder/bot/rules/abc.py,sha256=tOP7hTMaIWgSxRDWrabJRIYBxKsQE8b9a_Vh1xJuFB8,3664
48
+ telegrinder/bot/rules/adapter/__init__.py,sha256=jFWpi3te8n-Ega3caCwLiA3iTW7F86brae0TZzH_BaU,231
49
+ telegrinder/bot/rules/adapter/abc.py,sha256=VxRGQbNtdfA6gZyTk0JjJBdB5n_7g6uwseewtovZEK8,558
50
+ telegrinder/bot/rules/adapter/errors.py,sha256=2r_UBTWm5-heU-NchBfobC1f848EWeC64nKvprGnAAY,73
51
+ telegrinder/bot/rules/adapter/event.py,sha256=7VnPRLQnrK0lc5UD0Yjq46B2MO567kswRf9IaX1uFsg,1704
52
+ telegrinder/bot/rules/adapter/raw_update.py,sha256=K0bwq3Hh-hIs_xbEYDOgZHMS4r-Zvo3VKs1B3gkJLGA,752
53
+ telegrinder/bot/rules/callback_data.py,sha256=J81mF2m-108Cr9o_j-ySFbMvDVo8aXLLDEQCUa5punI,5744
54
+ telegrinder/bot/rules/command.py,sha256=2qzcLr_r4g7i5Hndhfd7zyoDfVCLPplr-Ijbr_yE4jo,3322
55
+ telegrinder/bot/rules/enum_text.py,sha256=w5pLQNvBRgrRgh1QA_wATprNcJyt_nQ5t_-bD9BFO9s,901
56
+ telegrinder/bot/rules/func.py,sha256=rhLXf6FjS0p3Nx1ZHqmV7uelUYJOkCf1gwc-SZSyRCo,707
57
+ telegrinder/bot/rules/fuzzy.py,sha256=ReweSKmql4a6AHFv2tXqCQoGktYpeezBLWvW_hS1YJg,712
58
+ telegrinder/bot/rules/inline.py,sha256=vtQtsnUSYIf7kUBs9mPjyvMz2cE8spYSbomS4tY6RBc,1918
59
+ telegrinder/bot/rules/integer.py,sha256=iZWctQQbrUV5kIhv8GI-O3iYzeI2d0dUdQ8uCaLB9gQ,531
60
+ telegrinder/bot/rules/is_from.py,sha256=lnpbu9WXXc_sTyrPZxOjBOhZlw1JCD10j2wCG2yXJFQ,4753
61
+ telegrinder/bot/rules/markup.py,sha256=setJpQPdBfR0s5x-tUFQiNFQwfSlCUnB-7YnVNBPyUA,1074
62
+ telegrinder/bot/rules/mention.py,sha256=ozXV3awsrJhkFKrTvPEl1iyVkDs0GWMmuRSLSnSdOmo,493
63
+ telegrinder/bot/rules/message_entities.py,sha256=QyIzQZOHva7NvLuyw_SeejnvBGj5yf2qG3aD5q3Ti7E,1063
64
+ telegrinder/bot/rules/regex.py,sha256=azSNenYp5EBEGNacNLAfaEiPdIrF7L44m8SetOdYfiY,1173
65
+ telegrinder/bot/rules/rule_enum.py,sha256=BUd78f7fEa0hfu1Paa384_Q-r0lB-ZWWukqkrFXdn58,2083
66
+ telegrinder/bot/rules/start.py,sha256=5ok581Ww56g27rE4QkrykbBZ-ER-SnATQNzMGut2PHA,1183
67
+ telegrinder/bot/rules/text.py,sha256=LaY8A2KUYDZpIllYTRSXXCwWfDN6dnFFmdvXM1nCKvA,1147
68
+ telegrinder/bot/scenario/__init__.py,sha256=sH-n6ZhVPgAiAgQVY9Y8QA4wjkjR5a5z63Oa0PrWogs,148
69
+ telegrinder/bot/scenario/abc.py,sha256=3AZYRjZlkbDtyFbsKdZ6BefzWYlJ0DOrGwh8jI3nzv4,474
70
+ telegrinder/bot/scenario/checkbox.py,sha256=lTPXTxIISCQk2qDmtdj5KLcFsxp5p0QjK8ybT8KHpsk,3956
71
+ telegrinder/bot/scenario/choice.py,sha256=dbRBBSHwODtik95vm4A5SPMbRrDjqVxUbTfNHnnzsFo,1448
72
+ telegrinder/client/__init__.py,sha256=ZiS1Wb_l_kv3FHzEEi1oXtFLwlA_HXmWOzeN0xA3E7Y,104
73
+ telegrinder/client/abc.py,sha256=OxsTX_PLYBEeFT9zpidFUzAbQL9BM7rQqru7zdn5DiQ,1611
74
+ telegrinder/client/aiohttp.py,sha256=vGJDAttRVasDZJn39KgUFFZ0nowf7iXTRKcFTO85vwQ,4163
75
+ telegrinder/model.py,sha256=5qD85dXcIf_wb0k0lTfstn0VBxrfDi3LyWF8F4eI9eg,4382
76
+ telegrinder/modules.py,sha256=FSkGq7pAg5ENsByinw7OWBND20Qfy9SwASjUOdUbetU,7571
77
+ telegrinder/msgspec_json.py,sha256=aWio-5B0pPIEyARFCtHfSAWBDZoWdwRAaijxxGCeRL0,349
78
+ telegrinder/msgspec_utils.py,sha256=OAsssWwhQDNguk5xAfBICEYPs4IdsNlv0a1Znnu_NV0,6658
79
+ telegrinder/node/__init__.py,sha256=01XTe8GPUBp5LXayDshihTxre7ejf99NYte20d08JLM,706
80
+ telegrinder/node/attachment.py,sha256=vMnD2tWQQQ6PFuXEIq2ZdL91xcBxiwlAkMkqJqseLlk,2587
81
+ telegrinder/node/base.py,sha256=iszAnP2pD3REDpUfufbVyJmg0rkXt2-ByeG6LgmS7Zc,2221
82
+ telegrinder/node/composer.py,sha256=f6l8qLjewu6lJTcxAucKyiQ4t-4d614YF6ssk9kYCZg,2225
83
+ telegrinder/node/container.py,sha256=sECP3TyC6AaNcJqKOfrL1T7-N8fkZzP2vB84kku6Jxg,636
84
+ telegrinder/node/message.py,sha256=2IW6DjF0KqH2_TZbZ-MXNsDioQRVPg9TUt86aQos0Kk,415
85
+ telegrinder/node/rule.py,sha256=VGmS4lJAFCoR0hCZSLn56fonMt0FhOGyZ1BQn_1vgeg,1724
86
+ telegrinder/node/source.py,sha256=ccKuqgA9pzAavE0krp_q0joHcz6uWjSyxO2wHSp2p1I,820
87
+ telegrinder/node/text.py,sha256=4kVMHvYRi0hxztVNT4Cv0DvUoI9QSn7NIYMG4U-uqYM,303
88
+ telegrinder/node/tools/__init__.py,sha256=TI_o7MbS4DUOSkNNgJGLocXfRybPFv2WOhBty058wrY,57
89
+ telegrinder/node/tools/generator.py,sha256=bc3kJSvS2TdIcBXkEbI4tpfhnvVe16m9ba5-WcIPy0c,1025
90
+ telegrinder/node/update.py,sha256=QD-m9soBgsP3voTbhaErWdE1FciwYyJCIFNDYf_zra0,253
91
+ telegrinder/rules.py,sha256=BFB8RFwKKxqs9HFfo_p0RfulQNonPZAX8cHpmnG7qCU,39
92
+ telegrinder/tools/__init__.py,sha256=zIK3iFniWQsXKQ6pKoCzRhauf2KK_I3wt8K-SvuU60Q,2738
93
+ telegrinder/tools/buttons.py,sha256=BmhmLLT6XCa7FbevWEUxgz0nibHDTamMPogBA0eRBY0,2490
94
+ telegrinder/tools/error_handler/__init__.py,sha256=iW1EDWLy3HOoRinEpxydg9qeFmg2i5CphZ1S6QyakpY,155
95
+ telegrinder/tools/error_handler/abc.py,sha256=HaKgC-WWHe-6WoY-ATz-sGh536qeO48EGEzsrmVOjt4,764
96
+ telegrinder/tools/error_handler/error_handler.py,sha256=H-sfsZ-TsGokBSMrGTE-r1N3-xnGuKOJQqh5sRFgcmk,5423
97
+ telegrinder/tools/formatting/__init__.py,sha256=1tFuJjMpDphCIOR4uXQhptyLHuAZ26mYSFx_BQwL5Lo,1459
98
+ telegrinder/tools/formatting/html.py,sha256=wWSOT6_p-qaELYfHcMXnyttZG1miKOrapJDRPhZQAoM,8477
99
+ telegrinder/tools/formatting/links.py,sha256=yPFdeazdp_yoblDR9GEP5hM9B3myb1Pa1v4ouJRYIQI,852
100
+ telegrinder/tools/formatting/spec_html_formats.py,sha256=hgu-aD9fLYw-IzS7ZWab5H8BBhmIwtQgHgMZ5kgndaA,2311
101
+ telegrinder/tools/global_context/__init__.py,sha256=QcNZpVTS-ZsPGdF4BQ10wnrfr1fZ3jX9aI-6It0nQxE,282
102
+ telegrinder/tools/global_context/abc.py,sha256=twwAmbTk49KGl_POImr4yj6POr-zdx8mz74McuphZH0,1644
103
+ telegrinder/tools/global_context/global_context.py,sha256=qj502fJ4ySW7oKH1vq_BTVz2hPDd0vXyjxNS2iq2jRc,14071
104
+ telegrinder/tools/global_context/telegrinder_ctx.py,sha256=g4iXYlK2IEi2sbJz1MqfBIDBrqF_4vznddjOUSEW8f8,651
105
+ telegrinder/tools/i18n/__init__.py,sha256=CLUoiCJzOZzF-dqDIHZ5Fc8QUa38cYhIG4WF-ctPLfE,288
106
+ telegrinder/tools/i18n/base.py,sha256=sJwgw6lobMIQEKIC4QH5O4sPKZADHAcxltZJvTtvaFE,637
107
+ telegrinder/tools/i18n/middleware/__init__.py,sha256=y5ZX6s3fOix_Yn98UNO8VqQ7ihJbQ_e5Uz01RgL7pHg,82
108
+ telegrinder/tools/i18n/middleware/base.py,sha256=Gc0G4ix4xlYCcUzO4SHH1L-1h3c3vmudvNuxeuwZDSE,685
109
+ telegrinder/tools/i18n/simple.py,sha256=vgkrleAQiYKcE9-2jn0QLvgr09xEXUsnpmygizt77bA,1619
110
+ telegrinder/tools/kb_set/__init__.py,sha256=k1KCQTnvEgJ2y4KlghhJWOh5rccwg_27cs8264NtMmk,156
111
+ telegrinder/tools/kb_set/base.py,sha256=mbZs-ViUErfSibzyN064IqZp76LBJPg3NB4D9v4VFtg,243
112
+ telegrinder/tools/kb_set/yaml.py,sha256=gQZ9Ju0b8DAUrJKPehQDAL1KDszb0NiDzLsF1tT-H58,2022
113
+ telegrinder/tools/keyboard.py,sha256=Js4CXzHmLX_TRVawuz1lIRFNGdbG2fxh8L6t4OLkWxY,3824
114
+ telegrinder/tools/loop_wrapper/__init__.py,sha256=os6kfzNEpGa7EHBbwFpym-iEnQvJGokEyHtyuVIOtks,143
115
+ telegrinder/tools/loop_wrapper/abc.py,sha256=T1UnAogzsoSv46s1YBLL_g0vnqfu6NAbxGEQ018WDwE,405
116
+ telegrinder/tools/loop_wrapper/loop_wrapper.py,sha256=ZEwuqqEz-r5BehCRG-E5K1lg2i4ODyyhOh0iKFT8GDw,4306
117
+ telegrinder/tools/magic.py,sha256=roaB5fSymJMXMPMgVWbYjwpK23tDYF8HV_XXL_jxv7Q,1802
118
+ telegrinder/tools/parse_mode.py,sha256=JyQ-x9YAMPLhIIiUX01acyKkpWgs5TBA07W-iUyPHpE,92
119
+ telegrinder/types/__init__.py,sha256=pvPKWDXq9PBiIOCW8dFcJMqgr1kAqodPhwT-u8I4kug,78
120
+ telegrinder/types/enums.py,sha256=G99ptakbToTC277W-kcYEz_8TfvbT5RmYDaWrCyxyg8,18079
121
+ telegrinder/types/methods.py,sha256=4NMqR4qWO7YNYst2OH7YBB6xewgcmUKZmBXadfxM0QM,186251
122
+ telegrinder/types/objects.py,sha256=ehY6vVPQAayXiEgr3lW2NCTCfJdODqpPlbHrHLEjUfA,204929
123
+ telegrinder-0.1.dev159.dist-info/LICENSE,sha256=J9ngGsqHCNNjpm3xYPT7EnlzsnjhfqNXej5mJFjM6lw,1094
124
+ telegrinder-0.1.dev159.dist-info/METADATA,sha256=hvy7ioh5m3yDr2kIfaYMbr_KXsE-4UTHFBvuGtEdRro,2811
125
+ telegrinder-0.1.dev159.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
126
+ telegrinder-0.1.dev159.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.5.1
2
+ Generator: poetry-core 1.5.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,38 +0,0 @@
1
- import asyncio
2
- import dataclasses
3
- import typing
4
- from telegrinder.bot.rules import ABCRule
5
-
6
-
7
- DefaultWaiterHandler = typing.Callable[[typing.Any], typing.Coroutine]
8
- T = typing.TypeVar("T")
9
- E = typing.TypeVar("E")
10
-
11
-
12
- @dataclasses.dataclass
13
- class Waiter:
14
- rules: typing.Iterable[ABCRule]
15
- event: asyncio.Event
16
- default: typing.Optional[typing.Union[DefaultWaiterHandler, str]] = None
17
-
18
-
19
- async def wait(waiter: Waiter) -> typing.Tuple[typing.Any, dict]:
20
- await waiter.event.wait()
21
- event, ctx = getattr(waiter.event, "e")
22
- return event, ctx
23
-
24
-
25
- class WithWaiter(typing.Generic[T, E]):
26
- short_waiters: typing.Dict[T, Waiter]
27
- auto_rules: list[ABCRule]
28
-
29
- async def wait_for_answer(
30
- self,
31
- key: T,
32
- *rules: ABCRule,
33
- default: typing.Optional[typing.Union[DefaultWaiterHandler, str]] = None
34
- ) -> typing.Tuple[E, dict]:
35
- event = asyncio.Event()
36
- waiter = Waiter([*self.auto_rules, *rules], event, default)
37
- self.short_waiters[key] = waiter
38
- return await wait(waiter)
telegrinder/result.py DELETED
@@ -1,38 +0,0 @@
1
- import typing
2
-
3
- T = typing.TypeVar("T")
4
- E = typing.TypeVar("E")
5
-
6
-
7
- class Result(typing.Generic[T, E]):
8
- def __init__(
9
- self,
10
- is_ok: bool,
11
- *,
12
- value: typing.Optional[T] = None,
13
- error: typing.Optional[E] = None
14
- ):
15
- self.is_ok = is_ok
16
- self.value = value
17
- self.error = error
18
-
19
- def unwrap(self) -> T:
20
- if not self.is_ok:
21
- raise self.error
22
- return self.value
23
-
24
- def unwrap_or(self, alternate_value: T):
25
- if not self.is_ok:
26
- return alternate_value
27
- return self.value
28
-
29
- def unwrap_via_handler(
30
- self, handler: typing.Callable[["Result", dict], T], ctx: dict
31
- ):
32
- return handler(self, ctx)
33
-
34
- def __repr__(self):
35
- return "<Result ({}: {})>".format(
36
- "Ok" if self.is_ok else "Error",
37
- repr(self.value if self.is_ok else self.error),
38
- )
@@ -1,52 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from telegrinder.tools.parse_mode import get_mention_link
3
- import typing
4
-
5
- T = typing.TypeVar("T")
6
-
7
-
8
- class ABCFormatter(ABC, str):
9
- PARSE_MODE: str
10
-
11
- @abstractmethod
12
- def escape(self: T) -> T:
13
- ...
14
-
15
- @abstractmethod
16
- def bold(self: T) -> T:
17
- ...
18
-
19
- @abstractmethod
20
- def italic(self: T) -> T:
21
- ...
22
-
23
- @abstractmethod
24
- def underline(self: T) -> T:
25
- ...
26
-
27
- @abstractmethod
28
- def strike(self: T) -> T:
29
- ...
30
-
31
- @abstractmethod
32
- def link(self: T, href: str) -> T:
33
- ...
34
-
35
- @abstractmethod
36
- def spoiler(self: T) -> T:
37
- ...
38
-
39
- def mention(self: T, user_id: int) -> T:
40
- return self.link(get_mention_link(user_id))
41
-
42
- @abstractmethod
43
- def code_block(self: T) -> T:
44
- ...
45
-
46
- @abstractmethod
47
- def code_block_with_lang(self: T, lang: str) -> T:
48
- ...
49
-
50
- @abstractmethod
51
- def code_inline(self: T) -> T:
52
- ...
@@ -1,57 +0,0 @@
1
- from .abc import ABCFormatter
2
- from telegrinder.tools.parse_mode import ParseMode
3
-
4
- FMT_CHARS = "\\`*_{}[]()#+-=!.@~|"
5
-
6
-
7
- def wrap_md(wrapper: str, s: str) -> "MarkdownFormatter":
8
- return MarkdownFormatter(wrapper + s + wrapper)
9
-
10
-
11
- class MarkdownFormatter(ABCFormatter):
12
- PARSE_MODE = ParseMode.MARKDOWNV2
13
-
14
- def escape(self) -> "MarkdownFormatter":
15
- return MarkdownFormatter(
16
- "".join("\\" + x if x in FMT_CHARS else x for x in self)
17
- .replace("&", "&amp;")
18
- .replace("<", "&lt;")
19
- .replace(">", "&gt;")
20
- )
21
-
22
- def escape_code(self) -> "MarkdownFormatter":
23
- return MarkdownFormatter(self.replace("\\", "\\\\").replace("`", "\\`"))
24
-
25
- def escape_link(self) -> "MarkdownFormatter":
26
- return MarkdownFormatter(self.replace("`", "\\`").replace(")", "\\)"))
27
-
28
- def bold(self) -> "MarkdownFormatter":
29
- return wrap_md("*", self)
30
-
31
- def italic(self) -> "MarkdownFormatter":
32
- return wrap_md("_", self)
33
-
34
- def underline(self) -> "MarkdownFormatter":
35
- return wrap_md("__", self)
36
-
37
- def strike(self) -> "MarkdownFormatter":
38
- return wrap_md("~", self)
39
-
40
- def spoiler(self) -> "MarkdownFormatter":
41
- return wrap_md("||", self)
42
-
43
- def link(self, href: str) -> "MarkdownFormatter":
44
- return MarkdownFormatter(
45
- f"[{self.escape()}]({MarkdownFormatter(href).escape_link()})"
46
- )
47
-
48
- def code_block(self) -> "MarkdownFormatter":
49
- return MarkdownFormatter(f"```\n{self.escape_code()}\n```")
50
-
51
- def code_block_with_lang(self, lang: str) -> "MarkdownFormatter":
52
- return MarkdownFormatter(
53
- f"```{MarkdownFormatter(lang).escape()}\n{self.escape_code()}\n```"
54
- )
55
-
56
- def code_inline(self) -> "MarkdownFormatter":
57
- return MarkdownFormatter(f"`{self.escape_code()}`")
@@ -1,22 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: telegrinder
3
- Version: 0.1.dev20
4
- Summary: async telegram bot building
5
- License: MIT
6
- Author: timoniq
7
- Author-email: tesseradecades@mail.ru
8
- Requires-Python: >=3.8,<4.0
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.8
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Requires-Dist: PyYAML (>=6.0,<7.0)
16
- Requires-Dist: aiohttp (>=3.8.1,<4.0.0)
17
- Requires-Dist: certifi (>=2022.6.15,<2023.0.0)
18
- Requires-Dist: choicelib (>=0.1.5,<0.2.0)
19
- Requires-Dist: envparse (>=0.2.0,<0.3.0)
20
- Requires-Dist: msgspec (>=0.9.0,<0.10.0)
21
- Requires-Dist: requests (>=2.28.1,<3.0.0)
22
- Requires-Dist: vbml (>=1.1.post1,<2.0)
@@ -1,71 +0,0 @@
1
- telegrinder/__init__.py,sha256=rb93CGVNscnwhhiWAkFbK7FtJ5JYLGprOkI0FiJo_70,740
2
- telegrinder/api/__init__.py,sha256=3ud8t2bfULV25IILu3CYYxr2_caa5B7We_l2tft_IOM,124
3
- telegrinder/api/abc.py,sha256=oxNx2PSlL6hkPuXet_rw_TJGOrbdS57h4Rq7DN_L5NM,1085
4
- telegrinder/api/api.py,sha256=LvR3_1zKKDQEClbmHUww3Jx1_Yar0qjmf6gU1r5WsXQ,1993
5
- telegrinder/api/error.py,sha256=Aca9HkvHI7hitHCd9_FObzeF5iGxLkGGYtfIoIpOQaY,162
6
- telegrinder/api/response.py,sha256=sna3gCo9T9ck5rugN7ptTFUwimrDAejb42DvbL9NNTA,463
7
- telegrinder/bot/__init__.py,sha256=BK31L1pLKg6p3T8G0ZkOtCUEeYELpOfEKLVHIS6bHLk,405
8
- telegrinder/bot/bot.py,sha256=lY7dXHLOgY3Z2Mi4RKD94RW0DpbLorilmUfYJYtDhFU,1802
9
- telegrinder/bot/cute_types/__init__.py,sha256=s0otW5gfNLBYKFgvInymzdu-BE_RwZO77vpEMXx1ICA,121
10
- telegrinder/bot/cute_types/callback_query.py,sha256=MiLutMHNgoTAF11orr1N6b2g95NmvlaUnRfc_4ORviQ,766
11
- telegrinder/bot/cute_types/inline_query.py,sha256=0jmCKIJM3Jerc65R81Fnm4VzFCyJk6v81VOZNSgvaw0,1034
12
- telegrinder/bot/cute_types/message.py,sha256=TVvPRJaOTOKv399tn2VIXrxjrYphU1vk1diN0jaO0EU,3660
13
- telegrinder/bot/dispatch/__init__.py,sha256=59KKzW9JFMVD03IeLCRgILHNPzDd0hv8sKxu-9qvrBA,240
14
- telegrinder/bot/dispatch/abc.py,sha256=A2pXBQhbR3SlKqI-efAgKT_9kZdKXbFRuFX3xKC6-tA,448
15
- telegrinder/bot/dispatch/dispatch.py,sha256=MPpKW0QcK-16PKf67hm6f7W1XdQcPUJEZ23V-OaxeOY,2931
16
- telegrinder/bot/dispatch/handler/__init__.py,sha256=CNqgXHxt4Lqkp-gKtehNQ83zamsjPozi_Q8p51OcQ_k,58
17
- telegrinder/bot/dispatch/handler/abc.py,sha256=cgzahm7YBZQ5HWdxDioF_iQoY4JFnWmxUppjNW7CXN0,411
18
- telegrinder/bot/dispatch/handler/func.py,sha256=RgrzXi1mr3I4C5CnFmgUGzeB1yICCtT769d0AI45CA8,1576
19
- telegrinder/bot/dispatch/middleware/__init__.py,sha256=X1zpKTP3llOu8xgZ8uWRIJOFJtEPFpKnE1V8lsPuWWE,31
20
- telegrinder/bot/dispatch/middleware/abc.py,sha256=UYvk2xPNde6FQUYY1MWh4EmNZNskUAkHZrg1qMf7W_w,268
21
- telegrinder/bot/dispatch/process.py,sha256=FJUs7rmjtuzgTYe7iocKwG8IBd8RX60lhal8j2KnOTs,2000
22
- telegrinder/bot/dispatch/view/__init__.py,sha256=6nhvURPwwhBYHLV_i8HdaXFvqu1pdrM_ltoIO-eiieA,146
23
- telegrinder/bot/dispatch/view/abc.py,sha256=pr-p1xzUJwGveI4T-0IgSxCXKHivV_-i4cAfqVlNCy4,389
24
- telegrinder/bot/dispatch/view/callback_query.py,sha256=mRkh-HZZbh7i7i8nox_F6qkgIy9eLl1voNIQSeaiI28,1862
25
- telegrinder/bot/dispatch/view/inline_query.py,sha256=Wa-wn6DHFhkQhSuBjuhFvC04IgUvlJFh1XGu3gqEd08,1828
26
- telegrinder/bot/dispatch/view/message.py,sha256=e3bLOZB6ZcBgF2V2iTBlNHggoGlhU2vkum5UpvAN4sU,2120
27
- telegrinder/bot/dispatch/waiter.py,sha256=ioLfHuBD8At9g9SiqzwjQPCFdHACCyQlf1eHdxNPqsY,1041
28
- telegrinder/bot/polling/__init__.py,sha256=aasMlIgjhwYcw1uhrWdMtZ8M9xHPwINv9fcHCR_lxnA,57
29
- telegrinder/bot/polling/abc.py,sha256=yvFNnk470gvbyWF9dfM1n53N990trUAyf8sbHuilrJg,401
30
- telegrinder/bot/polling/polling.py,sha256=MmOE7wzRJfGVzACanddq1KJj1ZdjXWi52EwWBeLvQc8,2040
31
- telegrinder/bot/rules/__init__.py,sha256=1LVe0ums54BnHsZbo3jCjDuIpWCuW1wo0opNAUfssdQ,460
32
- telegrinder/bot/rules/abc.py,sha256=WgLod1BluMoZdsXvEYOtyE0n7bIUd4eXZ1Ifnlwz9ug,3044
33
- telegrinder/bot/rules/callback_data.py,sha256=3OK0YihQwU2G018MSLSsrKI7Gu69LkI7V3CWG6Eh8Io,1763
34
- telegrinder/bot/rules/func.py,sha256=DM247BG0jBGJTrX4o7no_8__qFu5Ut1DtNu6YDeGRkA,859
35
- telegrinder/bot/rules/fuzzy.py,sha256=y4wXLAFslDDIfzuwWg1P1wOtsGR9C5_xFJ8U8aXHEbc,675
36
- telegrinder/bot/rules/integer.py,sha256=YSUAwZ3n5TaiLgXxZ3Wd5KaqTbjYbFwbJqDE_Yxo8vU,419
37
- telegrinder/bot/rules/is_from.py,sha256=heXO21MlI1IM0uxggX8sCIA_zjUYOf2qVqHpXjFIJm0,306
38
- telegrinder/bot/rules/markup.py,sha256=Hz1HZ_0LsKLjjpBJR-wocjE2dJmzbiVGTKf8d5-9OCg,1017
39
- telegrinder/bot/rules/regex.py,sha256=jJOqIcpk5MqXLymQdAB_C6SAy4j37xK0N5HamZ9uh2k,877
40
- telegrinder/bot/rules/start.py,sha256=_d7k6gcYnvFgIwkn-UW3bYbH18JUi0MCY5Bf5cROHF4,831
41
- telegrinder/bot/rules/text.py,sha256=feum_D04hxO2yqG0Wg5hBREj5B_2d1g0WM-OADNCJk4,759
42
- telegrinder/bot/scenario/__init__.py,sha256=tOl23Yss8cpzkbZfqJqJ6YGuh5PqL70hk8ZiY1MH0AY,93
43
- telegrinder/bot/scenario/abc.py,sha256=ad3VxvclZyEVuKKtunHKtxj9UiwNAmkyiC1JjOOUvS4,289
44
- telegrinder/bot/scenario/checkbox.py,sha256=m5EUMMOiuVL0l_CwSCRATfsPaH0BZiN8OEBbtX34nuQ,3586
45
- telegrinder/bot/scenario/choice.py,sha256=C5oK6R37pUGz2sZiyNcErdBnjJpRo3RUA7yowSFSr-k,1321
46
- telegrinder/client/__init__.py,sha256=YEx_WQAl9r07CE74xNyTUDOE2Da7K_A46jvC9U2zpyc,74
47
- telegrinder/client/abc.py,sha256=tPgTp2Gcs9mgd6cSeKZegMnUEIgg0puS7nt7cdrseIM,1305
48
- telegrinder/client/aiohttp.py,sha256=OZgGEPkwOeKveyTtQ8BxaEAZmXhS9XUodfswSFupgyk,3556
49
- telegrinder/model.py,sha256=hMLn50r_uvGOv4L597zcEQkBF4VrNw1K1T8LqvgV-WY,1538
50
- telegrinder/modules.py,sha256=ReQC1RXemqnRth7St4q9tBa-KZOYASjdsB9cYAAxheM,2286
51
- telegrinder/result.py,sha256=MfNCEHabXU5XEyD27K7Mh_EWgju11kec2HmpRZU08L8,904
52
- telegrinder/rules.py,sha256=O1cDQnG75wu7MULiih3gyKs7O07XQSPxvZRQVjHznLk,25
53
- telegrinder/tools/__init__.py,sha256=YLSR6IUUoLE9DAuwTKSj2S6ztHn_d_g76oicG4EAdKA,317
54
- telegrinder/tools/buttons.py,sha256=yWedpA-hFBCm1pcdwbA7jFm8zrTtQy-WDWrLsUq-OHg,1462
55
- telegrinder/tools/formatting/__init__.py,sha256=-Rd9rWkRYND3TV2oWmS88KuClV9MMbwMI9LVD_Xbe_g,102
56
- telegrinder/tools/formatting/abc.py,sha256=8sFL2h6hHGfSasnX5QvnPoH2NMLQeJa2MocVUATNGzE,958
57
- telegrinder/tools/formatting/html.py,sha256=ogLTY3PA-R02hh4yL-cMQ4glCNy2zfwsWyEO2wxwzNs,1606
58
- telegrinder/tools/formatting/markdown.py,sha256=UZQVD354ez1yFblwozha0Jl5YKtchB3CHSXIVu6Ek84,1833
59
- telegrinder/tools/kb_set/__init__.py,sha256=91sEn_9526CxNIuwopHeJD4k4iD0XxvLOFV7t5z_iEg,86
60
- telegrinder/tools/kb_set/base.py,sha256=Bp0cJGMVIqbBsmLeelBwZCBz-kicht4cwMN05kTNBO4,191
61
- telegrinder/tools/kb_set/yaml.py,sha256=xE9Ojjl21cHHAsp7JmmjYlRFYkJ9E_I85JxLT1GGqNQ,1830
62
- telegrinder/tools/keyboard.py,sha256=SZia2MxB832JMosT0NAs9TURBQYIN92fefVCgGP_LS4,3053
63
- telegrinder/tools/magic.py,sha256=r_ygCQFMiEi3-Yl6t3ujdcnI0Ptxd5WpkENZ6HL5rgA,1201
64
- telegrinder/tools/parse_mode.py,sha256=f51IlWqrdt-t-XEezceyWQKQ1noKamyyp92PxT-JPHQ,147
65
- telegrinder/types/__init__.py,sha256=RvjDKdmzKFNGZycud8Pn2y3VBtbWy2ZqZVDOJKYWsi8,40
66
- telegrinder/types/methods.py,sha256=AQpV8Dzwo9YPywpe7U5K69pPMUP0ouGDMqdwgg_8-qg,58143
67
- telegrinder/types/objects.py,sha256=Sv_Ldw-sdw21Xugok0b0QdPA8yymGXnkQBPgXUdRSn0,82844
68
- telegrinder-0.1.dev20.dist-info/LICENSE,sha256=ZJrZvGo1MQqQN2M-pPrYlpSmquLFja0i6-liRLlbKGo,1063
69
- telegrinder-0.1.dev20.dist-info/METADATA,sha256=nColhsP6pI1JyVqinZnzs694iMHGSzyYReiSTfrF-aE,818
70
- telegrinder-0.1.dev20.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
71
- telegrinder-0.1.dev20.dist-info/RECORD,,