telegrinder 0.1.dev160__tar.gz → 0.1.dev161__tar.gz
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-0.1.dev160 → telegrinder-0.1.dev161}/PKG-INFO +1 -1
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/pyproject.toml +1 -1
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/api/abc.py +3 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/api/api.py +3 -3
- telegrinder-0.1.dev161/telegrinder/bot/scenario/__init__.py +5 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/scenario/checkbox.py +9 -13
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/scenario/choice.py +2 -2
- telegrinder-0.1.dev160/telegrinder/bot/scenario/__init__.py +0 -5
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/LICENSE +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/readme.md +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/api/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/api/error.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/api/response.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/bot.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/base.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/callback_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/inline_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/message.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/update.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/utils.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/composition.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/context.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/dispatch.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/func.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/message_reply.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/middleware/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/middleware/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/process.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/callback_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/inline_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/message.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/box.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/callback_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/inline_query.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/message.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/waiter_machine/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/waiter_machine/machine.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/waiter_machine/middleware.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/waiter_machine/short_state.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/polling/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/polling/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/polling/polling.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/errors.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/event.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/raw_update.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/callback_data.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/command.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/enum_text.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/func.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/fuzzy.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/inline.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/integer.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/is_from.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/markup.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/mention.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/message_entities.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/regex.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/rule_enum.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/start.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/text.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/scenario/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/client/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/client/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/client/aiohttp.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/model.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/modules.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/msgspec_json.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/msgspec_utils.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/attachment.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/base.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/composer.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/container.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/message.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/rule.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/source.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/text.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/tools/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/tools/generator.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/node/update.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/rules.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/buttons.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/error.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/error_handler.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/formatting/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/formatting/html.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/formatting/links.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/formatting/spec_html_formats.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/global_context.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/telegrinder_ctx.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/base.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/middleware/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/middleware/base.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/simple.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/kb_set/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/kb_set/base.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/kb_set/yaml.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/keyboard.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/loop_wrapper/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/loop_wrapper/abc.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/loop_wrapper/loop_wrapper.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/magic.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/parse_mode.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/types/__init__.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/types/enums.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/types/methods.py +0 -0
- {telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/types/objects.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "telegrinder"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.dev161"
|
|
4
4
|
description = "Framework for effective and reliable async telegram bot building."
|
|
5
5
|
authors = ["timoniq <tesseradecades@mail.ru>"]
|
|
6
6
|
maintainers = ["luwqz1 <howluwqz1@gmail.com>"]
|
|
@@ -17,6 +17,9 @@ class Token(str):
|
|
|
17
17
|
if token.count(":") != 1 or not token.split(":")[0].isdigit():
|
|
18
18
|
raise InvalidTokenError("Invalid token, it should look like this '123:ABC'.")
|
|
19
19
|
return super().__new__(cls, token)
|
|
20
|
+
|
|
21
|
+
def __repr__(self) -> str:
|
|
22
|
+
return f"<Token: {self.bot_id}:{''.join(self.split(':')[-1])[:6]}...>"
|
|
20
23
|
|
|
21
24
|
@classmethod
|
|
22
25
|
def from_env(
|
|
@@ -24,7 +24,7 @@ def compose_data(
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class API(ABCAPI, APIMethods):
|
|
27
|
-
API_URL
|
|
27
|
+
API_URL = "https://api.telegram.org/"
|
|
28
28
|
|
|
29
29
|
def __init__(self, token: Token, *, http: ABCClient | None = None) -> None:
|
|
30
30
|
self.token = token
|
|
@@ -32,9 +32,9 @@ class API(ABCAPI, APIMethods):
|
|
|
32
32
|
super().__init__(self)
|
|
33
33
|
|
|
34
34
|
def __repr__(self) -> str:
|
|
35
|
-
return "<{}:
|
|
35
|
+
return "<{}: token={!r}, http={!r}>".format(
|
|
36
36
|
self.__class__.__name__,
|
|
37
|
-
self.
|
|
37
|
+
self.token,
|
|
38
38
|
self.http,
|
|
39
39
|
)
|
|
40
40
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import dataclasses
|
|
2
|
-
import
|
|
3
|
-
import string
|
|
2
|
+
import secrets
|
|
4
3
|
import typing
|
|
5
4
|
|
|
6
5
|
from telegrinder.bot.cute_types import CallbackQueryCute
|
|
@@ -25,29 +24,26 @@ class Choice:
|
|
|
25
24
|
code: str
|
|
26
25
|
|
|
27
26
|
|
|
28
|
-
def random_code(length: int) -> str:
|
|
29
|
-
return "".join(random.choices(string.ascii_letters + string.digits, k=length))
|
|
30
|
-
|
|
31
|
-
|
|
32
27
|
class Checkbox(ABCScenario[CallbackQueryCute]):
|
|
33
|
-
INVALID_CODE
|
|
34
|
-
CALLBACK_ANSWER
|
|
35
|
-
PARSE_MODE
|
|
28
|
+
INVALID_CODE = "Invalid code"
|
|
29
|
+
CALLBACK_ANSWER = "Done"
|
|
30
|
+
PARSE_MODE = ParseMode.HTML
|
|
36
31
|
|
|
37
32
|
def __init__(
|
|
38
33
|
self,
|
|
39
34
|
waiter_machine: WaiterMachine,
|
|
40
35
|
chat_id: int,
|
|
41
36
|
msg: str,
|
|
37
|
+
*,
|
|
42
38
|
ready_text: str = "Ready",
|
|
43
39
|
max_in_row: int = 3,
|
|
44
|
-
):
|
|
40
|
+
) -> None:
|
|
45
41
|
self.chat_id = chat_id
|
|
46
42
|
self.msg = msg
|
|
47
43
|
self.choices: list[Choice] = []
|
|
48
44
|
self.ready = ready_text
|
|
49
45
|
self.max_in_row = max_in_row
|
|
50
|
-
self.random_code =
|
|
46
|
+
self.random_code = secrets.token_hex(16)
|
|
51
47
|
self.waiter_machine = waiter_machine
|
|
52
48
|
|
|
53
49
|
def get_markup(self) -> InlineKeyboardMarkup:
|
|
@@ -77,7 +73,7 @@ class Checkbox(ABCScenario[CallbackQueryCute]):
|
|
|
77
73
|
is_picked: bool = False,
|
|
78
74
|
) -> typing.Self:
|
|
79
75
|
self.choices.append(
|
|
80
|
-
Choice(name, is_picked, default_text, picked_text,
|
|
76
|
+
Choice(name, is_picked, default_text, picked_text, secrets.token_hex(16)),
|
|
81
77
|
)
|
|
82
78
|
return self
|
|
83
79
|
|
|
@@ -128,4 +124,4 @@ class Checkbox(ABCScenario[CallbackQueryCute]):
|
|
|
128
124
|
)
|
|
129
125
|
|
|
130
126
|
|
|
131
|
-
__all__ = ("Checkbox", "Choice"
|
|
127
|
+
__all__ = ("Checkbox", "Choice")
|
|
@@ -34,11 +34,11 @@ class SingleChoice(Checkbox):
|
|
|
34
34
|
async def wait(
|
|
35
35
|
self,
|
|
36
36
|
api: "API",
|
|
37
|
-
|
|
37
|
+
view: "BaseStateView[CallbackQueryCute]",
|
|
38
38
|
) -> tuple[str, int]:
|
|
39
39
|
if len([choice for choice in self.choices if choice.is_picked]) != 1:
|
|
40
40
|
raise ValueError("Exactly one choice must be picked")
|
|
41
|
-
choices, m_id = await super().wait(api,
|
|
41
|
+
choices, m_id = await super().wait(api, view)
|
|
42
42
|
return list(choices.keys())[list(choices.values()).index(True)], m_id
|
|
43
43
|
|
|
44
44
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/callback_query.py
RENAMED
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/cute_types/inline_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/handler/message_reply.py
RENAMED
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/middleware/__init__.py
RENAMED
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/middleware/abc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/abc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/return_manager/message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/callback_query.py
RENAMED
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/view/inline_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/dispatch/waiter_machine/machine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/bot/rules/adapter/raw_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/error_handler/error_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/formatting/spec_html_formats.py
RENAMED
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/global_context/global_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/i18n/middleware/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/loop_wrapper/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{telegrinder-0.1.dev160 → telegrinder-0.1.dev161}/telegrinder/tools/loop_wrapper/loop_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|