telegrinder 0.1.dev166__py3-none-any.whl → 0.1.dev167__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.
- telegrinder/__init__.py +0 -2
- telegrinder/bot/__init__.py +0 -2
- telegrinder/bot/bot.py +1 -3
- telegrinder/bot/cute_types/base.py +3 -12
- telegrinder/bot/cute_types/callback_query.py +1 -3
- telegrinder/bot/cute_types/chat_join_request.py +3 -1
- telegrinder/bot/cute_types/chat_member_updated.py +3 -1
- telegrinder/bot/cute_types/message.py +10 -31
- telegrinder/bot/cute_types/utils.py +1 -3
- telegrinder/bot/dispatch/__init__.py +1 -2
- telegrinder/bot/dispatch/composition.py +1 -3
- telegrinder/bot/dispatch/dispatch.py +1 -3
- telegrinder/bot/dispatch/handler/func.py +3 -10
- telegrinder/bot/dispatch/return_manager/abc.py +9 -13
- telegrinder/bot/dispatch/return_manager/message.py +5 -7
- telegrinder/bot/dispatch/view/abc.py +1 -3
- telegrinder/bot/dispatch/view/box.py +3 -11
- telegrinder/bot/dispatch/view/raw.py +2 -6
- telegrinder/bot/dispatch/waiter_machine/__init__.py +1 -2
- telegrinder/bot/dispatch/waiter_machine/machine.py +35 -74
- telegrinder/bot/dispatch/waiter_machine/middleware.py +12 -5
- telegrinder/bot/dispatch/waiter_machine/short_state.py +6 -6
- telegrinder/bot/polling/polling.py +2 -6
- telegrinder/bot/rules/adapter/event.py +1 -3
- telegrinder/bot/rules/callback_data.py +3 -1
- telegrinder/bot/rules/fuzzy.py +1 -2
- telegrinder/bot/rules/is_from.py +6 -4
- telegrinder/bot/rules/markup.py +1 -2
- telegrinder/bot/rules/mention.py +1 -4
- telegrinder/bot/rules/regex.py +1 -2
- telegrinder/bot/rules/rule_enum.py +1 -3
- telegrinder/bot/rules/start.py +1 -3
- telegrinder/bot/scenario/checkbox.py +1 -5
- telegrinder/client/aiohttp.py +1 -3
- telegrinder/model.py +4 -3
- telegrinder/modules.py +1 -3
- telegrinder/msgspec_utils.py +1 -3
- telegrinder/node/attachment.py +18 -14
- telegrinder/node/base.py +4 -11
- telegrinder/node/composer.py +1 -3
- telegrinder/node/message.py +3 -1
- telegrinder/node/source.py +3 -1
- telegrinder/node/text.py +3 -1
- telegrinder/tools/__init__.py +2 -0
- telegrinder/tools/buttons.py +4 -6
- telegrinder/tools/error_handler/abc.py +1 -3
- telegrinder/tools/error_handler/error.py +3 -6
- telegrinder/tools/error_handler/error_handler.py +17 -13
- telegrinder/tools/formatting/html.py +2 -6
- telegrinder/tools/formatting/links.py +1 -3
- telegrinder/tools/global_context/abc.py +1 -3
- telegrinder/tools/global_context/global_context.py +13 -31
- telegrinder/tools/i18n/middleware/base.py +1 -3
- telegrinder/tools/limited_dict.py +27 -0
- telegrinder/tools/loop_wrapper/loop_wrapper.py +3 -7
- telegrinder/types/__init__.py +30 -0
- telegrinder/types/objects.py +4 -4
- telegrinder/verification_utils.py +2 -1
- {telegrinder-0.1.dev166.dist-info → telegrinder-0.1.dev167.dist-info}/METADATA +1 -1
- {telegrinder-0.1.dev166.dist-info → telegrinder-0.1.dev167.dist-info}/RECORD +62 -61
- {telegrinder-0.1.dev166.dist-info → telegrinder-0.1.dev167.dist-info}/LICENSE +0 -0
- {telegrinder-0.1.dev166.dist-info → telegrinder-0.1.dev167.dist-info}/WHEEL +0 -0
|
@@ -36,9 +36,7 @@ class GlobalCtxVar(typing.Generic[T]):
|
|
|
36
36
|
@classmethod
|
|
37
37
|
def collect(cls, name: str, ctx_value: T | CtxVariable[T]) -> typing.Self:
|
|
38
38
|
ctx_value = (
|
|
39
|
-
CtxVar(ctx_value)
|
|
40
|
-
if not isinstance(ctx_value, CtxVar | GlobalCtxVar)
|
|
41
|
-
else ctx_value
|
|
39
|
+
CtxVar(ctx_value) if not isinstance(ctx_value, CtxVar | GlobalCtxVar) else ctx_value
|
|
42
40
|
)
|
|
43
41
|
params = ctx_value.__dict__
|
|
44
42
|
params["name"] = name
|
|
@@ -15,10 +15,8 @@ F = typing.TypeVar("F", bound=typing.Callable)
|
|
|
15
15
|
CtxValueT = typing.TypeVar("CtxValueT", default=typing.Any)
|
|
16
16
|
|
|
17
17
|
if typing.TYPE_CHECKING:
|
|
18
|
-
|
|
19
18
|
_: typing.TypeAlias = None
|
|
20
19
|
else:
|
|
21
|
-
|
|
22
20
|
_ = lambda: None
|
|
23
21
|
|
|
24
22
|
|
|
@@ -51,14 +49,10 @@ def root_protection(func: F) -> F:
|
|
|
51
49
|
|
|
52
50
|
@wraps(func)
|
|
53
51
|
def wrapper(self: "GlobalContext", name: str, /, *args) -> typing.Any:
|
|
54
|
-
if self.is_root_attribute(name) and name in (
|
|
55
|
-
self.__dict__ | self.__class__.__dict__
|
|
56
|
-
):
|
|
52
|
+
if self.is_root_attribute(name) and name in (self.__dict__ | self.__class__.__dict__):
|
|
57
53
|
root_attr = self.get_root_attribute(name).unwrap()
|
|
58
54
|
if all((not root_attr.can_be_rewritten, not root_attr.can_be_read)):
|
|
59
|
-
raise AttributeError(
|
|
60
|
-
f"Unable to set, get, delete root attribute {name!r}."
|
|
61
|
-
)
|
|
55
|
+
raise AttributeError(f"Unable to set, get, delete root attribute {name!r}.")
|
|
62
56
|
if func.__name__ == "__setattr__" and not root_attr.can_be_rewritten:
|
|
63
57
|
raise AttributeError(f"Unable to set root attribute {name!r}.")
|
|
64
58
|
if func.__name__ == "__getattr__" and not root_attr.can_be_read:
|
|
@@ -106,9 +100,7 @@ class Storage:
|
|
|
106
100
|
)
|
|
107
101
|
|
|
108
102
|
def __repr__(self) -> str:
|
|
109
|
-
return "<ContextStorage: %s>" % ", ".join(
|
|
110
|
-
"ctx @" + repr(x) for x in self._storage
|
|
111
|
-
)
|
|
103
|
+
return "<ContextStorage: %s>" % ", ".join("ctx @" + repr(x) for x in self._storage)
|
|
112
104
|
|
|
113
105
|
@property
|
|
114
106
|
def storage(self) -> dict[str, "GlobalContext"]:
|
|
@@ -132,7 +124,9 @@ class Storage:
|
|
|
132
124
|
order_default=True,
|
|
133
125
|
field_specifiers=(ctx_var,),
|
|
134
126
|
)
|
|
135
|
-
class GlobalContext(
|
|
127
|
+
class GlobalContext(
|
|
128
|
+
ABCGlobalContext, typing.Generic[CtxValueT], dict[str, GlobalCtxVar[CtxValueT]]
|
|
129
|
+
):
|
|
136
130
|
"""GlobalContext.
|
|
137
131
|
|
|
138
132
|
```
|
|
@@ -208,19 +202,14 @@ class GlobalContext(ABCGlobalContext, typing.Generic[CtxValueT], dict[str, Globa
|
|
|
208
202
|
"""Returns True if the names of context stores
|
|
209
203
|
that use self and __value instances are equivalent."""
|
|
210
204
|
|
|
211
|
-
return (
|
|
212
|
-
isinstance(__value, GlobalContext)
|
|
213
|
-
and self.__ctx_name__ == __value.__ctx_name__
|
|
214
|
-
)
|
|
205
|
+
return isinstance(__value, GlobalContext) and self.__ctx_name__ == __value.__ctx_name__
|
|
215
206
|
|
|
216
207
|
def __setitem__(self, __name: str, __value: CtxValueT | CtxVariable[CtxValueT]):
|
|
217
208
|
if is_dunder(__name):
|
|
218
209
|
raise NameError("Cannot set a context variable with dunder name.")
|
|
219
210
|
var = self.get(__name)
|
|
220
211
|
if var and var.unwrap().const:
|
|
221
|
-
raise TypeError(
|
|
222
|
-
f"Unable to set variable {__name!r}, because it's a constant."
|
|
223
|
-
)
|
|
212
|
+
raise TypeError(f"Unable to set variable {__name!r}, because it's a constant.")
|
|
224
213
|
dict.__setitem__(self, __name, GlobalCtxVar.collect(__name, __value))
|
|
225
214
|
|
|
226
215
|
def __getitem__(self, __name: str) -> CtxValueT:
|
|
@@ -229,9 +218,7 @@ class GlobalContext(ABCGlobalContext, typing.Generic[CtxValueT], dict[str, Globa
|
|
|
229
218
|
def __delitem__(self, __name: str):
|
|
230
219
|
var = self.get(__name).unwrap()
|
|
231
220
|
if var.const:
|
|
232
|
-
raise TypeError(
|
|
233
|
-
f"Unable to delete variable {__name!r}, because it's a constant."
|
|
234
|
-
)
|
|
221
|
+
raise TypeError(f"Unable to delete variable {__name!r}, because it's a constant.")
|
|
235
222
|
dict.__delitem__(self, __name)
|
|
236
223
|
|
|
237
224
|
@root_protection
|
|
@@ -328,9 +315,7 @@ class GlobalContext(ABCGlobalContext, typing.Generic[CtxValueT], dict[str, Globa
|
|
|
328
315
|
var_value_type: type[T],
|
|
329
316
|
) -> Option[GlobalCtxVar[T]]: ...
|
|
330
317
|
|
|
331
|
-
def pop(
|
|
332
|
-
self, var_name: str, var_value_type: type[T] = object
|
|
333
|
-
) -> Option[GlobalCtxVar[T]]:
|
|
318
|
+
def pop(self, var_name: str, var_value_type: type[T] = object) -> Option[GlobalCtxVar[T]]:
|
|
334
319
|
"""Pop context variable by name."""
|
|
335
320
|
|
|
336
321
|
val = self.get(var_name, var_value_type)
|
|
@@ -398,9 +383,7 @@ class GlobalContext(ABCGlobalContext, typing.Generic[CtxValueT], dict[str, Globa
|
|
|
398
383
|
|
|
399
384
|
var = self.get(old_var_name).unwrap()
|
|
400
385
|
if var.const:
|
|
401
|
-
return Error(
|
|
402
|
-
f"Unable to rename variable {old_var_name!r}, " "because it's a constant."
|
|
403
|
-
)
|
|
386
|
+
return Error(f"Unable to rename variable {old_var_name!r}, " "because it's a constant.")
|
|
404
387
|
del self[old_var_name]
|
|
405
388
|
self[new_var_name] = var.value
|
|
406
389
|
return Ok(_())
|
|
@@ -419,9 +402,8 @@ class GlobalContext(ABCGlobalContext, typing.Generic[CtxValueT], dict[str, Globa
|
|
|
419
402
|
return dict.clear(self)
|
|
420
403
|
|
|
421
404
|
for name, var in self.dict().items():
|
|
422
|
-
if var.const:
|
|
423
|
-
|
|
424
|
-
del self[name]
|
|
405
|
+
if not var.const:
|
|
406
|
+
del self[name]
|
|
425
407
|
|
|
426
408
|
def delete_ctx(self) -> Result[_, str]:
|
|
427
409
|
"""Delete context by `ctx_name`."""
|
|
@@ -17,9 +17,7 @@ class ABCTranslatorMiddleware(ABCMiddleware[T]):
|
|
|
17
17
|
pass
|
|
18
18
|
|
|
19
19
|
async def pre(self, event: T, ctx: dict) -> bool:
|
|
20
|
-
ctx[I18nEnum.I18N] = self.i18n.get_translator_by_locale(
|
|
21
|
-
await self.get_locale(event)
|
|
22
|
-
)
|
|
20
|
+
ctx[I18nEnum.I18N] = self.i18n.get_translator_by_locale(await self.get_locale(event))
|
|
23
21
|
return True
|
|
24
22
|
|
|
25
23
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from collections import UserDict, deque
|
|
3
|
+
|
|
4
|
+
KT = typing.TypeVar("KT")
|
|
5
|
+
VT = typing.TypeVar("VT")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class LimitedDict(UserDict[KT, VT]):
|
|
9
|
+
def __init__(self, *, maxlimit: int = 1000) -> None:
|
|
10
|
+
super().__init__()
|
|
11
|
+
self.maxlimit = maxlimit
|
|
12
|
+
self.queue: deque[KT] = deque(maxlen=maxlimit)
|
|
13
|
+
|
|
14
|
+
def __setitem__(self, key: KT, value: VT, /) -> None:
|
|
15
|
+
if len(self.queue) >= self.maxlimit:
|
|
16
|
+
self.pop(self.queue.popleft(), None)
|
|
17
|
+
if key not in self.queue:
|
|
18
|
+
self.queue.append(key)
|
|
19
|
+
super().__setitem__(key, value)
|
|
20
|
+
|
|
21
|
+
def __delitem__(self, key: KT) -> None:
|
|
22
|
+
if key in self.queue:
|
|
23
|
+
self.queue.remove(key)
|
|
24
|
+
return super().__delitem__(key)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
__all__ = ("LimitedDict",)
|
|
@@ -17,7 +17,7 @@ Task: typing.TypeAlias = typing.Union[CoroutineFunc, CoroutineTask, "DelayedTask
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
def run_tasks(
|
|
20
|
-
tasks: list[CoroutineTask[typing.Any]],
|
|
20
|
+
tasks: list[CoroutineTask[typing.Any]],
|
|
21
21
|
loop: asyncio.AbstractEventLoop,
|
|
22
22
|
) -> None:
|
|
23
23
|
while tasks:
|
|
@@ -59,12 +59,8 @@ class DelayedTask(typing.Generic[CoroFunc]):
|
|
|
59
59
|
|
|
60
60
|
@dataclasses.dataclass(kw_only=True)
|
|
61
61
|
class Lifespan:
|
|
62
|
-
startup_tasks: list[CoroutineTask[typing.Any]] = dataclasses.field(
|
|
63
|
-
|
|
64
|
-
)
|
|
65
|
-
shutdown_tasks: list[CoroutineTask[typing.Any]] = dataclasses.field(
|
|
66
|
-
default_factory=lambda: []
|
|
67
|
-
)
|
|
62
|
+
startup_tasks: list[CoroutineTask[typing.Any]] = dataclasses.field(default_factory=lambda: [])
|
|
63
|
+
shutdown_tasks: list[CoroutineTask[typing.Any]] = dataclasses.field(default_factory=lambda: [])
|
|
68
64
|
|
|
69
65
|
def on_startup(self, task_or_func: Task) -> Task:
|
|
70
66
|
task_or_func = to_coroutine_task(task_or_func)
|
telegrinder/types/__init__.py
CHANGED
|
@@ -23,6 +23,7 @@ __all__ = (
|
|
|
23
23
|
"BotCommandScopeChatAdministrators",
|
|
24
24
|
"BotCommandScopeChatMember",
|
|
25
25
|
"BotCommandScopeDefault",
|
|
26
|
+
"BotCommandScopeType",
|
|
26
27
|
"BotDescription",
|
|
27
28
|
"BotName",
|
|
28
29
|
"BotShortDescription",
|
|
@@ -35,6 +36,7 @@ __all__ = (
|
|
|
35
36
|
"CallbackGame",
|
|
36
37
|
"CallbackQuery",
|
|
37
38
|
"Chat",
|
|
39
|
+
"ChatAction",
|
|
38
40
|
"ChatAdministratorRights",
|
|
39
41
|
"ChatBackground",
|
|
40
42
|
"ChatBoost",
|
|
@@ -44,6 +46,7 @@ __all__ = (
|
|
|
44
46
|
"ChatBoostSourceGiftCode",
|
|
45
47
|
"ChatBoostSourceGiveaway",
|
|
46
48
|
"ChatBoostSourcePremium",
|
|
49
|
+
"ChatBoostSourceType",
|
|
47
50
|
"ChatBoostUpdated",
|
|
48
51
|
"ChatFullInfo",
|
|
49
52
|
"ChatInviteLink",
|
|
@@ -56,16 +59,23 @@ __all__ = (
|
|
|
56
59
|
"ChatMemberMember",
|
|
57
60
|
"ChatMemberOwner",
|
|
58
61
|
"ChatMemberRestricted",
|
|
62
|
+
"ChatMemberStatus",
|
|
59
63
|
"ChatMemberUpdated",
|
|
60
64
|
"ChatPermissions",
|
|
61
65
|
"ChatPhoto",
|
|
62
66
|
"ChatShared",
|
|
67
|
+
"ChatType",
|
|
63
68
|
"ChosenInlineResult",
|
|
64
69
|
"Contact",
|
|
70
|
+
"ContentType",
|
|
71
|
+
"Currency",
|
|
72
|
+
"DefaultAccentColor",
|
|
65
73
|
"Dice",
|
|
74
|
+
"DiceEmoji",
|
|
66
75
|
"Document",
|
|
67
76
|
"EncryptedCredentials",
|
|
68
77
|
"EncryptedPassportElement",
|
|
78
|
+
"EncryptedPassportElementType",
|
|
69
79
|
"ExternalReplyInfo",
|
|
70
80
|
"File",
|
|
71
81
|
"ForceReply",
|
|
@@ -86,6 +96,7 @@ __all__ = (
|
|
|
86
96
|
"InlineKeyboardButton",
|
|
87
97
|
"InlineKeyboardMarkup",
|
|
88
98
|
"InlineQuery",
|
|
99
|
+
"InlineQueryChatType",
|
|
89
100
|
"InlineQueryResult",
|
|
90
101
|
"InlineQueryResultArticle",
|
|
91
102
|
"InlineQueryResultAudio",
|
|
@@ -99,13 +110,19 @@ __all__ = (
|
|
|
99
110
|
"InlineQueryResultCachedVoice",
|
|
100
111
|
"InlineQueryResultContact",
|
|
101
112
|
"InlineQueryResultDocument",
|
|
113
|
+
"InlineQueryResultDocumentMimeType",
|
|
102
114
|
"InlineQueryResultGame",
|
|
103
115
|
"InlineQueryResultGif",
|
|
116
|
+
"InlineQueryResultGifThumbnailMimeType",
|
|
104
117
|
"InlineQueryResultLocation",
|
|
118
|
+
"InlineQueryResultMimeType",
|
|
105
119
|
"InlineQueryResultMpeg4Gif",
|
|
120
|
+
"InlineQueryResultMpeg4GifThumbnailMimeType",
|
|
106
121
|
"InlineQueryResultPhoto",
|
|
122
|
+
"InlineQueryResultThumbnailMimeType",
|
|
107
123
|
"InlineQueryResultVenue",
|
|
108
124
|
"InlineQueryResultVideo",
|
|
125
|
+
"InlineQueryResultVideoMimeType",
|
|
109
126
|
"InlineQueryResultVoice",
|
|
110
127
|
"InlineQueryResultsButton",
|
|
111
128
|
"InputContactMessageContent",
|
|
@@ -133,6 +150,7 @@ __all__ = (
|
|
|
133
150
|
"Location",
|
|
134
151
|
"LoginUrl",
|
|
135
152
|
"MaskPosition",
|
|
153
|
+
"MaskPositionPoint",
|
|
136
154
|
"MaybeInaccessibleMessage",
|
|
137
155
|
"MenuButton",
|
|
138
156
|
"MenuButtonCommands",
|
|
@@ -141,11 +159,13 @@ __all__ = (
|
|
|
141
159
|
"Message",
|
|
142
160
|
"MessageAutoDeleteTimerChanged",
|
|
143
161
|
"MessageEntity",
|
|
162
|
+
"MessageEntityType",
|
|
144
163
|
"MessageId",
|
|
145
164
|
"MessageOrigin",
|
|
146
165
|
"MessageOriginChannel",
|
|
147
166
|
"MessageOriginChat",
|
|
148
167
|
"MessageOriginHiddenUser",
|
|
168
|
+
"MessageOriginType",
|
|
149
169
|
"MessageOriginUser",
|
|
150
170
|
"MessageReactionCountUpdated",
|
|
151
171
|
"MessageReactionUpdated",
|
|
@@ -161,18 +181,23 @@ __all__ = (
|
|
|
161
181
|
"PassportElementErrorSelfie",
|
|
162
182
|
"PassportElementErrorTranslationFile",
|
|
163
183
|
"PassportElementErrorTranslationFiles",
|
|
184
|
+
"PassportElementErrorType",
|
|
164
185
|
"PassportElementErrorUnspecified",
|
|
165
186
|
"PassportFile",
|
|
166
187
|
"PhotoSize",
|
|
167
188
|
"Poll",
|
|
168
189
|
"PollAnswer",
|
|
169
190
|
"PollOption",
|
|
191
|
+
"PollType",
|
|
170
192
|
"PreCheckoutQuery",
|
|
193
|
+
"ProgrammingLanguage",
|
|
171
194
|
"ProximityAlertTriggered",
|
|
172
195
|
"ReactionCount",
|
|
196
|
+
"ReactionEmoji",
|
|
173
197
|
"ReactionType",
|
|
174
198
|
"ReactionTypeCustomEmoji",
|
|
175
199
|
"ReactionTypeEmoji",
|
|
200
|
+
"ReactionTypeType",
|
|
176
201
|
"ReplyKeyboardMarkup",
|
|
177
202
|
"ReplyKeyboardRemove",
|
|
178
203
|
"ReplyParameters",
|
|
@@ -183,12 +208,17 @@ __all__ = (
|
|
|
183
208
|
"ShippingOption",
|
|
184
209
|
"ShippingQuery",
|
|
185
210
|
"Sticker",
|
|
211
|
+
"StickerFormat",
|
|
186
212
|
"StickerSet",
|
|
213
|
+
"StickerSetStickerType",
|
|
214
|
+
"StickerType",
|
|
187
215
|
"Story",
|
|
188
216
|
"SuccessfulPayment",
|
|
189
217
|
"SwitchInlineQueryChosenChat",
|
|
190
218
|
"TextQuote",
|
|
219
|
+
"TopicIconColor",
|
|
191
220
|
"Update",
|
|
221
|
+
"UpdateType",
|
|
192
222
|
"User",
|
|
193
223
|
"UserChatBoosts",
|
|
194
224
|
"UserProfilePhotos",
|
telegrinder/types/objects.py
CHANGED
|
@@ -210,7 +210,7 @@ class Update(Model):
|
|
|
210
210
|
or a user edited an existing connection with the bot."""
|
|
211
211
|
|
|
212
212
|
business_message: Option["Message"] = Nothing
|
|
213
|
-
"""Optional. New
|
|
213
|
+
"""Optional. New message from a connected business account."""
|
|
214
214
|
|
|
215
215
|
edited_business_message: Option["Message"] = Nothing
|
|
216
216
|
"""Optional. New version of a message from a connected business account."""
|
|
@@ -534,8 +534,8 @@ class ChatFullInfo(Model):
|
|
|
534
534
|
messages."""
|
|
535
535
|
|
|
536
536
|
join_by_request: Option[bool] = Nothing
|
|
537
|
-
"""Optional. True, if all users directly joining the supergroup
|
|
538
|
-
approved by supergroup administrators."""
|
|
537
|
+
"""Optional. True, if all users directly joining the supergroup without using
|
|
538
|
+
an invite link need to be approved by supergroup administrators."""
|
|
539
539
|
|
|
540
540
|
description: Option[str] = Nothing
|
|
541
541
|
"""Optional. Description, for groups, supergroups and channel chats."""
|
|
@@ -2781,7 +2781,7 @@ class ChatMemberUpdated(Model):
|
|
|
2781
2781
|
|
|
2782
2782
|
via_join_request: Option[bool] = Nothing
|
|
2783
2783
|
"""Optional. True, if the user joined the chat after sending a direct join request
|
|
2784
|
-
and being approved by an administrator."""
|
|
2784
|
+
without using an invite link and being approved by an administrator."""
|
|
2785
2785
|
|
|
2786
2786
|
via_chat_folder_invite_link: Option[bool] = Nothing
|
|
2787
2787
|
"""Optional. True, if the user joined the chat via a chat folder invite link."""
|
|
@@ -6,7 +6,8 @@ from telegrinder.api.abc import Token
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def verify_webapp_request(
|
|
9
|
-
secret_token: str,
|
|
9
|
+
secret_token: str,
|
|
10
|
+
request_headers: typing.Mapping[str, typing.Any],
|
|
10
11
|
) -> bool:
|
|
11
12
|
"""Verifies update request is from telegram."""
|
|
12
13
|
|
|
@@ -1,136 +1,137 @@
|
|
|
1
|
-
telegrinder/__init__.py,sha256=
|
|
1
|
+
telegrinder/__init__.py,sha256=LtOXSbLJKgQZnHIO86vpzTh0YlZDwyg0hM9R_yBBFnE,4117
|
|
2
2
|
telegrinder/api/__init__.py,sha256=pIDtnsL0NwT5PgVm43Gkp-ByOqDsqnD-oFDiC9tcPT4,246
|
|
3
3
|
telegrinder/api/abc.py,sha256=IPPGed6dSDvK5lMQ2eABHD_aiXVC2geY04u7ZFlGiCI,1799
|
|
4
4
|
telegrinder/api/api.py,sha256=3vq9o0s2y3kCFjH-PcIcAMY071Cs_A3BSazgTzum39c,2473
|
|
5
5
|
telegrinder/api/error.py,sha256=NOlVjQ6AsgCldCgeHZ2zFSA4DXolP6ADBPA16xFEwJU,417
|
|
6
6
|
telegrinder/api/response.py,sha256=d7Oxd5kOdbZNJiALkzkecHl8Y3K_BzCmsRq2Sn3otqA,491
|
|
7
|
-
telegrinder/bot/__init__.py,sha256=
|
|
8
|
-
telegrinder/bot/bot.py,sha256=
|
|
7
|
+
telegrinder/bot/__init__.py,sha256=91NKeAbQH10sZ0Lzm-qENoxJRHz2SNvOy-30Ww5gzkA,1834
|
|
8
|
+
telegrinder/bot/bot.py,sha256=FZFyi-CLEcJYlOz5BbL5Ev6dZQ5VhVqxh1nYburXplQ,2464
|
|
9
9
|
telegrinder/bot/cute_types/__init__.py,sha256=XDcZJMKDFYJExvaNSm3B-bMQ2_wRETALz7-OWAytBC0,457
|
|
10
|
-
telegrinder/bot/cute_types/base.py,sha256=
|
|
11
|
-
telegrinder/bot/cute_types/callback_query.py,sha256=
|
|
12
|
-
telegrinder/bot/cute_types/chat_join_request.py,sha256=
|
|
13
|
-
telegrinder/bot/cute_types/chat_member_updated.py,sha256=
|
|
10
|
+
telegrinder/bot/cute_types/base.py,sha256=k20aJtTNoLn_63xQUFU-upVcwvwT0OX6odTLnCBY-xQ,4521
|
|
11
|
+
telegrinder/bot/cute_types/callback_query.py,sha256=kCPjELrzRNEfa3h_gxbl12bkS6ejY8pTNxCJZTNZuNw,20244
|
|
12
|
+
telegrinder/bot/cute_types/chat_join_request.py,sha256=Rkgu8myVlxbyGX2YIyyMRk5Io_fXqzNFcaTjzuBJ-jw,2237
|
|
13
|
+
telegrinder/bot/cute_types/chat_member_updated.py,sha256=3zoAiSSiFScXcAp8956nxsHTzaiD44boHKALFx_9XkY,10883
|
|
14
14
|
telegrinder/bot/cute_types/inline_query.py,sha256=QmaYkXSOQHrkWs7N6eD_HiTGGOtegN10hVppU37z3bE,2475
|
|
15
|
-
telegrinder/bot/cute_types/message.py,sha256=
|
|
15
|
+
telegrinder/bot/cute_types/message.py,sha256=sFLnz1C0dtyJkSxJlsfOOrYPLGDsMMgdAHeAyGbpTp4,142042
|
|
16
16
|
telegrinder/bot/cute_types/update.py,sha256=X2YLPnYqQcZ_7Wtot5vEarcE8yjye47kjjtgfu3pfbo,787
|
|
17
|
-
telegrinder/bot/cute_types/utils.py,sha256=
|
|
18
|
-
telegrinder/bot/dispatch/__init__.py,sha256=
|
|
17
|
+
telegrinder/bot/cute_types/utils.py,sha256=aCi4D86uVhCVQgalUqxdlTerI36K90B1PTSp86CnGXI,17110
|
|
18
|
+
telegrinder/bot/dispatch/__init__.py,sha256=z4pWNEdWBHKP902bvtUe4WWhtMKW-LgPj5Dds8aUFHE,1484
|
|
19
19
|
telegrinder/bot/dispatch/abc.py,sha256=YX184RfqSTMtxrt6qyNRu9uhlPHJLEJY3RKsLfBV7nw,462
|
|
20
|
-
telegrinder/bot/dispatch/composition.py,sha256=
|
|
20
|
+
telegrinder/bot/dispatch/composition.py,sha256=bR_fBib4mHEDFgDyGvmejGG1hHBV5zeFWuv2RBHPKXY,2942
|
|
21
21
|
telegrinder/bot/dispatch/context.py,sha256=lVnFaZm1jWlfG9JbtE5c_0pBV1pWlExvh24ESkO5Nag,2278
|
|
22
|
-
telegrinder/bot/dispatch/dispatch.py,sha256=
|
|
22
|
+
telegrinder/bot/dispatch/dispatch.py,sha256=PHwp3VfN8b9xiFZ2e5rR0VyezG7kHEcObjWxfX_W4so,5193
|
|
23
23
|
telegrinder/bot/dispatch/handler/__init__.py,sha256=mzchbArrm0eoTEeVKHYrtJX4WSfW5t6T4xDU3-mtYaA,169
|
|
24
24
|
telegrinder/bot/dispatch/handler/abc.py,sha256=ry5gMUxB6buiDksAFiuWM-LcIAg5S8rJZlW_0PWpVJA,570
|
|
25
|
-
telegrinder/bot/dispatch/handler/func.py,sha256=
|
|
25
|
+
telegrinder/bot/dispatch/handler/func.py,sha256=QBR8vudGmDn1euc3UuecWJxuWiB-yXzdEm0acZtcfKI,3018
|
|
26
26
|
telegrinder/bot/dispatch/handler/message_reply.py,sha256=_3gb3NLAwfTw7FTd7iga2tSe5WZ8IU9AdxwDWq5nMqI,1811
|
|
27
27
|
telegrinder/bot/dispatch/middleware/__init__.py,sha256=qDuTt2ZZKX9UMjPdw5xaaNZdMI-i3P4Px2T8qbYCMJw,61
|
|
28
28
|
telegrinder/bot/dispatch/middleware/abc.py,sha256=Aj9aEQ0yNM-pprUOdnYAmoIbq4wPMgyhCP8EUAvxzXs,413
|
|
29
29
|
telegrinder/bot/dispatch/process.py,sha256=TNgBoos7MkhIYJsqVC_m6L1iHaMJUu4jT95xPjBmdk4,2377
|
|
30
30
|
telegrinder/bot/dispatch/return_manager/__init__.py,sha256=M9RmSqs5U_JixX_1FT1byMAxdfcC3UGvZAhmmebFDN4,446
|
|
31
|
-
telegrinder/bot/dispatch/return_manager/abc.py,sha256=
|
|
31
|
+
telegrinder/bot/dispatch/return_manager/abc.py,sha256=wpAbMJO2Y8sz780X7wFoMNKFm9mKxzdQmhctbzYudvo,3436
|
|
32
32
|
telegrinder/bot/dispatch/return_manager/callback_query.py,sha256=actPlW6JqZ2Qi8thDQUNiGmYT2WmME4YxhDL9F9OlYQ,666
|
|
33
33
|
telegrinder/bot/dispatch/return_manager/inline_query.py,sha256=Clo6Uvl__Ja9u5yg6RSJBjyqhhSpJINtq2NFS_pG45Q,489
|
|
34
|
-
telegrinder/bot/dispatch/return_manager/message.py,sha256=
|
|
34
|
+
telegrinder/bot/dispatch/return_manager/message.py,sha256=ZrCrvq8wNmz8TTykoVMzneKk11cIqkCFZIOynZ5PjAQ,1160
|
|
35
35
|
telegrinder/bot/dispatch/view/__init__.py,sha256=x8qPwRWosGNTk89tvyiWZhHKvVK2IqFI87D7YTrRKbk,569
|
|
36
|
-
telegrinder/bot/dispatch/view/abc.py,sha256=
|
|
37
|
-
telegrinder/bot/dispatch/view/box.py,sha256=
|
|
36
|
+
telegrinder/bot/dispatch/view/abc.py,sha256=AgtskFpCln5tYDdx9nJqYUaU8DO5W5AlXvfnygY6zwE,5639
|
|
37
|
+
telegrinder/bot/dispatch/view/box.py,sha256=4cLaC6U31RbPC0AqrHIjtB_Av-Wbip9gJ0yODZ-jClA,3825
|
|
38
38
|
telegrinder/bot/dispatch/view/callback_query.py,sha256=ALQm-cUFDQggZqwGVOEVodvpTcYKXCebwYDbLcZ36cE,560
|
|
39
39
|
telegrinder/bot/dispatch/view/chat_join_request.py,sha256=y1wQMrPSiqxDHQm7TqdOA-ecAP3rnocYTzQxa7-7vws,447
|
|
40
40
|
telegrinder/bot/dispatch/view/chat_member.py,sha256=VGXp0F_y4b1b3kYNO5Y4QLeoM6pt_DzA1sNysBdObAY,715
|
|
41
41
|
telegrinder/bot/dispatch/view/inline_query.py,sha256=hRwrgfhgS5YF0E6eUrR8FuWVHUMlnA758kG7V049lkE,531
|
|
42
42
|
telegrinder/bot/dispatch/view/message.py,sha256=Fb7GRVCsVhE5xHZtFyiNntKcqtGCVzj2pEIOLcfFMm8,1175
|
|
43
|
-
telegrinder/bot/dispatch/view/raw.py,sha256=
|
|
44
|
-
telegrinder/bot/dispatch/waiter_machine/__init__.py,sha256=
|
|
45
|
-
telegrinder/bot/dispatch/waiter_machine/machine.py,sha256=
|
|
46
|
-
telegrinder/bot/dispatch/waiter_machine/middleware.py,sha256=
|
|
47
|
-
telegrinder/bot/dispatch/waiter_machine/short_state.py,sha256=
|
|
43
|
+
telegrinder/bot/dispatch/view/raw.py,sha256=U1nY4sE_8TSR7nlyYh8Zn8qysfEWYS_dKhPGglE9VFw,3438
|
|
44
|
+
telegrinder/bot/dispatch/waiter_machine/__init__.py,sha256=RUuq-J1qZMeREL8omM8kxEfgAz3-7h3B9NhzSjLTMqA,190
|
|
45
|
+
telegrinder/bot/dispatch/waiter_machine/machine.py,sha256=rWAIwl9-igZ4V40XF87ItdiQBdjiqKvQmVzDKyZr39M,4114
|
|
46
|
+
telegrinder/bot/dispatch/waiter_machine/middleware.py,sha256=YdB3KSJRo11aoUfpV48Rm2GC14ea9ucJWL2ACRiTnig,2706
|
|
47
|
+
telegrinder/bot/dispatch/waiter_machine/short_state.py,sha256=zAtIVsQo1xHXwKeWn8GAsK4mlzzmzCDBUqc9g6r5FTg,1294
|
|
48
48
|
telegrinder/bot/polling/__init__.py,sha256=OqfIFPS_V6UrCg-vCv9pkMFzTKdNbDP2faBfATs_TGg,94
|
|
49
49
|
telegrinder/bot/polling/abc.py,sha256=-5BpX55SJfDlEJWt15yOXWCizQRrgeY5oiA5eHkm1Nw,434
|
|
50
|
-
telegrinder/bot/polling/polling.py,sha256=
|
|
50
|
+
telegrinder/bot/polling/polling.py,sha256=omSV2HhNIY78DTzll5yswRrEtYbbhFZGi5Q4QGHI_fE,4681
|
|
51
51
|
telegrinder/bot/rules/__init__.py,sha256=htt3Q3OkwBu8LXOMNoEvvLLqtnBQE88umPvLnk7B_kY,2311
|
|
52
52
|
telegrinder/bot/rules/abc.py,sha256=OJ7QLY-mpuIRU0xPzH_iePLgx15asg7DpbIoXKdzQ6I,3453
|
|
53
53
|
telegrinder/bot/rules/adapter/__init__.py,sha256=jFWpi3te8n-Ega3caCwLiA3iTW7F86brae0TZzH_BaU,231
|
|
54
54
|
telegrinder/bot/rules/adapter/abc.py,sha256=VxRGQbNtdfA6gZyTk0JjJBdB5n_7g6uwseewtovZEK8,558
|
|
55
55
|
telegrinder/bot/rules/adapter/errors.py,sha256=2r_UBTWm5-heU-NchBfobC1f848EWeC64nKvprGnAAY,73
|
|
56
|
-
telegrinder/bot/rules/adapter/event.py,sha256=
|
|
56
|
+
telegrinder/bot/rules/adapter/event.py,sha256=SHCKW-bE0LS9jK6v2ciZTi5ELVw8WLcYJQ5b2qD53kc,2160
|
|
57
57
|
telegrinder/bot/rules/adapter/raw_update.py,sha256=K0bwq3Hh-hIs_xbEYDOgZHMS4r-Zvo3VKs1B3gkJLGA,752
|
|
58
|
-
telegrinder/bot/rules/callback_data.py,sha256=
|
|
58
|
+
telegrinder/bot/rules/callback_data.py,sha256=iZYDyOej2bSToo1eYQKRM7TryknC3KpvuZUJYJGcciQ,5398
|
|
59
59
|
telegrinder/bot/rules/chat_join.py,sha256=pWVMhrKi40-1vhBNQqV24i98GGJ0SwhagrvGeL1hMas,1401
|
|
60
60
|
telegrinder/bot/rules/command.py,sha256=2qzcLr_r4g7i5Hndhfd7zyoDfVCLPplr-Ijbr_yE4jo,3322
|
|
61
61
|
telegrinder/bot/rules/enum_text.py,sha256=O8J1xm5AtLnLVfIIbY1B1lygm9XLZ86YeApa4LuDn1o,954
|
|
62
62
|
telegrinder/bot/rules/func.py,sha256=rhLXf6FjS0p3Nx1ZHqmV7uelUYJOkCf1gwc-SZSyRCo,707
|
|
63
|
-
telegrinder/bot/rules/fuzzy.py,sha256=
|
|
63
|
+
telegrinder/bot/rules/fuzzy.py,sha256=1rYcrMlv2Kepj-OQj-2G40OfelbqW8HGNqnujWwZWzw,700
|
|
64
64
|
telegrinder/bot/rules/inline.py,sha256=TKJfn2pdpQiFE8nkEZ2saH1oZzynxxd6unAdPJSXV3w,1946
|
|
65
65
|
telegrinder/bot/rules/integer.py,sha256=iZWctQQbrUV5kIhv8GI-O3iYzeI2d0dUdQ8uCaLB9gQ,531
|
|
66
|
-
telegrinder/bot/rules/is_from.py,sha256=
|
|
67
|
-
telegrinder/bot/rules/markup.py,sha256=
|
|
68
|
-
telegrinder/bot/rules/mention.py,sha256=
|
|
66
|
+
telegrinder/bot/rules/is_from.py,sha256=RXWAS9cG_3Eh9poP0LPzHCrSW7LC0ld2T6Q-Q7d1QaQ,4839
|
|
67
|
+
telegrinder/bot/rules/markup.py,sha256=M81xQ9XJo1uxBXgEU9CY3TVzVANWNVa0JdobBk1Bdcg,1098
|
|
68
|
+
telegrinder/bot/rules/mention.py,sha256=aVhqRHn48f85f3v-gaA-vFh9lI8D9-Ho7akO-Jmryi4,459
|
|
69
69
|
telegrinder/bot/rules/message.py,sha256=XQ2gV9ivOHuIfNl-565ncmPLKDtlbNrXozURRK-GJyA,419
|
|
70
70
|
telegrinder/bot/rules/message_entities.py,sha256=QyzpQ6avhI6WniafDHtGZ5PVwyHn6JGffbhU4uA5gE8,1100
|
|
71
|
-
telegrinder/bot/rules/regex.py,sha256=
|
|
72
|
-
telegrinder/bot/rules/rule_enum.py,sha256=
|
|
73
|
-
telegrinder/bot/rules/start.py,sha256=
|
|
71
|
+
telegrinder/bot/rules/regex.py,sha256=amd_vIBNGL-Pce-rjRHDi2WXeB4zDTgjsin1d9wQr7Y,1171
|
|
72
|
+
telegrinder/bot/rules/rule_enum.py,sha256=86Qc7mVaMuMLkBv4EtW24IO1-B223h0QEAK2_i79cNk,2059
|
|
73
|
+
telegrinder/bot/rules/start.py,sha256=NyzyPu1t4J60EH44ErP3QpOZFA-Uhhmce2-cjOItN50,1176
|
|
74
74
|
telegrinder/bot/rules/text.py,sha256=MIEbbIu6X2zcOD70hM0TrQI4jN2ulKmuREos3BN7Ii4,1178
|
|
75
75
|
telegrinder/bot/rules/update.py,sha256=0ccDDD4QW2qx6hBMwNteUnGRbsGbrdE2fCkCx6AmuEA,480
|
|
76
76
|
telegrinder/bot/scenario/__init__.py,sha256=Ehe2uH-eQ-vRBPxIzdmE23B-FBOAa9YQyndmb6K8C5E,166
|
|
77
77
|
telegrinder/bot/scenario/abc.py,sha256=3AZYRjZlkbDtyFbsKdZ6BefzWYlJ0DOrGwh8jI3nzv4,474
|
|
78
|
-
telegrinder/bot/scenario/checkbox.py,sha256=
|
|
78
|
+
telegrinder/bot/scenario/checkbox.py,sha256=vjedhLVurQtSbpFDPwMuLx5j5OJxa0Iv6aV8Ufd_jYw,4128
|
|
79
79
|
telegrinder/bot/scenario/choice.py,sha256=-NYyzgfGI0njVuT-EY0j3jS4tPlsKOEkZaUagtns7dE,1442
|
|
80
80
|
telegrinder/client/__init__.py,sha256=ZiS1Wb_l_kv3FHzEEi1oXtFLwlA_HXmWOzeN0xA3E7Y,104
|
|
81
81
|
telegrinder/client/abc.py,sha256=OxsTX_PLYBEeFT9zpidFUzAbQL9BM7rQqru7zdn5DiQ,1611
|
|
82
|
-
telegrinder/client/aiohttp.py,sha256=
|
|
83
|
-
telegrinder/model.py,sha256=
|
|
84
|
-
telegrinder/modules.py,sha256=
|
|
82
|
+
telegrinder/client/aiohttp.py,sha256=AqmuHd6Z3zy96YBe7xIMC4U8Hi9SA7j-0EI7xYE3ZCU,4085
|
|
83
|
+
telegrinder/model.py,sha256=F6lJAgNMTi7krCRDgATRSKiVbw7s-mJlt-hyo1TxUwU,4759
|
|
84
|
+
telegrinder/modules.py,sha256=_-xjQBCOpS63FXPlFdAIOQOFb0v0P9bcyPUYakOoSqE,7785
|
|
85
85
|
telegrinder/msgspec_json.py,sha256=phfyhUvYYZUGEcI6RAyRx9lnARPK_Fqtw3Q0MEJnuUk,226
|
|
86
|
-
telegrinder/msgspec_utils.py,sha256=
|
|
86
|
+
telegrinder/msgspec_utils.py,sha256=4K9Tgjzko7p_yQlo5Wm2X2qpWgdRNyWg4_cGZITD7zE,8199
|
|
87
87
|
telegrinder/node/__init__.py,sha256=QfIzKIzRxYjnphilZMecZ2Wj-RpQ6RGvGUHdC9AtQ38,706
|
|
88
|
-
telegrinder/node/attachment.py,sha256=
|
|
89
|
-
telegrinder/node/base.py,sha256=
|
|
90
|
-
telegrinder/node/composer.py,sha256=
|
|
88
|
+
telegrinder/node/attachment.py,sha256=Dd6J7a8-S3UqHQ_JZ4sFupqw0aDElz_zRJRWpHPX9OE,2877
|
|
89
|
+
telegrinder/node/base.py,sha256=bgQZdkbwJD9RhTqyybSATDqnlMYvS_i6USZ6UAxNSxk,2201
|
|
90
|
+
telegrinder/node/composer.py,sha256=k8PSEj9GUx6l3WJqBbNVRxTUc34h1h8zs15Ije_eHw4,2219
|
|
91
91
|
telegrinder/node/container.py,sha256=arXgXw92nVJVvsxCYAljUwPGGbKqLcu0qcdILWt09X8,632
|
|
92
|
-
telegrinder/node/message.py,sha256=
|
|
92
|
+
telegrinder/node/message.py,sha256=2SRVmkcZJZT6AUOihLSUmdyMxhjkkT4VU5tmiQ71OwQ,465
|
|
93
93
|
telegrinder/node/rule.py,sha256=-Hww0foPCg3-uk1w6lKGSeKEekbnVLP9W9fOShJ35Dc,1708
|
|
94
|
-
telegrinder/node/source.py,sha256=
|
|
95
|
-
telegrinder/node/text.py,sha256=
|
|
94
|
+
telegrinder/node/source.py,sha256=atv84Ehu0icpfqRdFCMvhCxiIx2htxf0Q2PGM59kmUU,787
|
|
95
|
+
telegrinder/node/text.py,sha256=j9fqOuGtGaaeRxawqDU9QT-duQ--XD8FH5kXj1ILTiM,351
|
|
96
96
|
telegrinder/node/tools/__init__.py,sha256=TI_o7MbS4DUOSkNNgJGLocXfRybPFv2WOhBty058wrY,57
|
|
97
97
|
telegrinder/node/tools/generator.py,sha256=rs7UcFxgnXgjiSdFPyChqZW4K4oRcmiPst6nYYOSrnw,1024
|
|
98
98
|
telegrinder/node/update.py,sha256=QD-m9soBgsP3voTbhaErWdE1FciwYyJCIFNDYf_zra0,253
|
|
99
99
|
telegrinder/rules.py,sha256=BFB8RFwKKxqs9HFfo_p0RfulQNonPZAX8cHpmnG7qCU,39
|
|
100
|
-
telegrinder/tools/__init__.py,sha256=
|
|
101
|
-
telegrinder/tools/buttons.py,sha256=
|
|
100
|
+
telegrinder/tools/__init__.py,sha256=lDcl3dDXQ_4daAmxoe9r8lyAsUhG79MZHgmq3uSpSko,2961
|
|
101
|
+
telegrinder/tools/buttons.py,sha256=0p-hebPWNVPfX6f_8CNtruRZ_W9monthz0Mb3rwPFRY,2414
|
|
102
102
|
telegrinder/tools/error_handler/__init__.py,sha256=WmYWZCNhhSk32j4lIOltEwzoYUx086TGTbOF5h3Ps7s,207
|
|
103
|
-
telegrinder/tools/error_handler/abc.py,sha256=
|
|
104
|
-
telegrinder/tools/error_handler/error.py,sha256=
|
|
105
|
-
telegrinder/tools/error_handler/error_handler.py,sha256=
|
|
103
|
+
telegrinder/tools/error_handler/abc.py,sha256=w5t2sWa_xt9iy7pdphiFs1kgmsll7A7eaPbm3Yes8t0,888
|
|
104
|
+
telegrinder/tools/error_handler/error.py,sha256=3T2nbxL9vEXzZX2sxeUqpiEd5RPv-R1ZDT1Yjq9Fb4I,185
|
|
105
|
+
telegrinder/tools/error_handler/error_handler.py,sha256=yXlzbHv_h7XclD5xOZ9gWiawznGVxUBP3uX_kJlieHc,6313
|
|
106
106
|
telegrinder/tools/formatting/__init__.py,sha256=_oxb-4y_vyIgALlO2rfaa-azqicySpHHIcaYBrVPdSg,1609
|
|
107
|
-
telegrinder/tools/formatting/html.py,sha256=
|
|
108
|
-
telegrinder/tools/formatting/links.py,sha256=
|
|
107
|
+
telegrinder/tools/formatting/html.py,sha256=58WOeUBHqOBbSphyKj-4YomicYIQmiWFKd6c37RbaDg,8708
|
|
108
|
+
telegrinder/tools/formatting/links.py,sha256=ge9ZJflnfJEZIW8FGdsentzEsepyhSGwnk66tW9j7YI,1320
|
|
109
109
|
telegrinder/tools/formatting/spec_html_formats.py,sha256=akqgiKvRWQSYl3bgaX2UEVHfpZp-qBIOYdHmscjaXvI,2743
|
|
110
110
|
telegrinder/tools/global_context/__init__.py,sha256=QcNZpVTS-ZsPGdF4BQ10wnrfr1fZ3jX9aI-6It0nQxE,282
|
|
111
|
-
telegrinder/tools/global_context/abc.py,sha256=
|
|
112
|
-
telegrinder/tools/global_context/global_context.py,sha256=
|
|
111
|
+
telegrinder/tools/global_context/abc.py,sha256=NgaySAslYkYSN_FMwVjLG907PJs1kSNEBzb08VzJEQo,1668
|
|
112
|
+
telegrinder/tools/global_context/global_context.py,sha256=IRjsJRCgwQZLCsyI3GRPpay6brljOdOLFpGMCwE12sM,13712
|
|
113
113
|
telegrinder/tools/global_context/telegrinder_ctx.py,sha256=6vlUAtdDUTF_pbKByOBTwJm1Rst6m6LQnz59Lx1mV2g,647
|
|
114
114
|
telegrinder/tools/i18n/__init__.py,sha256=CLUoiCJzOZzF-dqDIHZ5Fc8QUa38cYhIG4WF-ctPLfE,288
|
|
115
115
|
telegrinder/tools/i18n/base.py,sha256=jxJVYiTplJaNeklkGiin-m7BkfZiac2fbVXTEdhNw6o,726
|
|
116
116
|
telegrinder/tools/i18n/middleware/__init__.py,sha256=y5ZX6s3fOix_Yn98UNO8VqQ7ihJbQ_e5Uz01RgL7pHg,82
|
|
117
|
-
telegrinder/tools/i18n/middleware/base.py,sha256=
|
|
117
|
+
telegrinder/tools/i18n/middleware/base.py,sha256=gGqcPxJLLC3f6XfV_0-drhr27TND40cL1Z5sNmC84lo,663
|
|
118
118
|
telegrinder/tools/i18n/simple.py,sha256=aVPhBZJQG33sq8uumF0DkSzpc-o13ZCCwAvmFnwfm8s,1589
|
|
119
119
|
telegrinder/tools/kb_set/__init__.py,sha256=k1KCQTnvEgJ2y4KlghhJWOh5rccwg_27cs8264NtMmk,156
|
|
120
120
|
telegrinder/tools/kb_set/base.py,sha256=mbZs-ViUErfSibzyN064IqZp76LBJPg3NB4D9v4VFtg,243
|
|
121
121
|
telegrinder/tools/kb_set/yaml.py,sha256=rDoVkdfxp3gz-pS82nB1LDQU8cyckErwMee4nCXHunI,2027
|
|
122
122
|
telegrinder/tools/keyboard.py,sha256=oHwFnqj_pmKsxI6AnvFgZWQYqSkyK-Lgnnd6qbNTmEI,3730
|
|
123
|
+
telegrinder/tools/limited_dict.py,sha256=SkfHdDI3hb02zVDaKpFwTggcVU7yYqcudSRNsKqKYA4,763
|
|
123
124
|
telegrinder/tools/loop_wrapper/__init__.py,sha256=ZQ5jmE1lOKnqJlMZ9k2OYmjvOEhOlHPijUWqZ4nHIgk,165
|
|
124
125
|
telegrinder/tools/loop_wrapper/abc.py,sha256=ET_Dp-kRz75Jo1fZB3qofUgEXN4FqlU0xH2diESKGCM,266
|
|
125
|
-
telegrinder/tools/loop_wrapper/loop_wrapper.py,sha256=
|
|
126
|
+
telegrinder/tools/loop_wrapper/loop_wrapper.py,sha256=4JvtVIy14oAMYUy0Z3hayFqFXvoh6cBdgmnFHMo4s0Y,5701
|
|
126
127
|
telegrinder/tools/magic.py,sha256=ijUw7LipMPn0vO7UJzUpx5kNNRL_MTFArTxnxn_8qEU,1855
|
|
127
128
|
telegrinder/tools/parse_mode.py,sha256=JyQ-x9YAMPLhIIiUX01acyKkpWgs5TBA07W-iUyPHpE,92
|
|
128
|
-
telegrinder/types/__init__.py,sha256=
|
|
129
|
+
telegrinder/types/__init__.py,sha256=IDaQRxugF7lh8LHFjs1fjAQY9y6Z5en_j8CezBdoL7E,6036
|
|
129
130
|
telegrinder/types/enums.py,sha256=LRPPSB95NhKnt5hd3dW_wMhiGEzGjyWSo5bheAfyz_s,19152
|
|
130
131
|
telegrinder/types/methods.py,sha256=RPDCeYHuVFtF0CT3XW4Gq8fI26P5ql4UqyVdQdIeXTE,186543
|
|
131
|
-
telegrinder/types/objects.py,sha256=
|
|
132
|
-
telegrinder/verification_utils.py,sha256=
|
|
133
|
-
telegrinder-0.1.
|
|
134
|
-
telegrinder-0.1.
|
|
135
|
-
telegrinder-0.1.
|
|
136
|
-
telegrinder-0.1.
|
|
132
|
+
telegrinder/types/objects.py,sha256=QWlpNjjJc1jRBpG8cFKGLXhSyIiwtUHP2aIw446oPo8,228684
|
|
133
|
+
telegrinder/verification_utils.py,sha256=ZUgHsouZjs930D5rI_w7VGy0ub69vovwKXeKjqgrSNc,1028
|
|
134
|
+
telegrinder-0.1.dev167.dist-info/LICENSE,sha256=J9ngGsqHCNNjpm3xYPT7EnlzsnjhfqNXej5mJFjM6lw,1094
|
|
135
|
+
telegrinder-0.1.dev167.dist-info/METADATA,sha256=CPe-uupiL9vzJsSSiPLo9qvA78F9CnRNsbKOUn-hBfA,2892
|
|
136
|
+
telegrinder-0.1.dev167.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
137
|
+
telegrinder-0.1.dev167.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|