telegrinder 0.3.1__py3-none-any.whl → 0.3.3__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 +144 -144
- telegrinder/api/__init__.py +8 -8
- telegrinder/api/api.py +93 -93
- telegrinder/api/error.py +16 -16
- telegrinder/api/response.py +20 -20
- telegrinder/api/token.py +36 -36
- telegrinder/bot/__init__.py +66 -66
- telegrinder/bot/bot.py +76 -76
- telegrinder/bot/cute_types/__init__.py +17 -17
- telegrinder/bot/cute_types/base.py +258 -234
- telegrinder/bot/cute_types/callback_query.py +385 -382
- telegrinder/bot/cute_types/chat_join_request.py +61 -61
- telegrinder/bot/cute_types/chat_member_updated.py +160 -160
- telegrinder/bot/cute_types/inline_query.py +43 -53
- telegrinder/bot/cute_types/message.py +2637 -2631
- telegrinder/bot/cute_types/update.py +109 -75
- telegrinder/bot/cute_types/utils.py +95 -95
- telegrinder/bot/dispatch/__init__.py +55 -55
- telegrinder/bot/dispatch/abc.py +77 -77
- telegrinder/bot/dispatch/context.py +98 -92
- telegrinder/bot/dispatch/dispatch.py +202 -201
- telegrinder/bot/dispatch/handler/__init__.py +13 -13
- telegrinder/bot/dispatch/handler/abc.py +24 -24
- telegrinder/bot/dispatch/handler/audio_reply.py +44 -44
- telegrinder/bot/dispatch/handler/base.py +57 -57
- telegrinder/bot/dispatch/handler/document_reply.py +44 -44
- telegrinder/bot/dispatch/handler/func.py +135 -123
- telegrinder/bot/dispatch/handler/media_group_reply.py +43 -43
- telegrinder/bot/dispatch/handler/message_reply.py +36 -36
- telegrinder/bot/dispatch/handler/photo_reply.py +44 -44
- telegrinder/bot/dispatch/handler/sticker_reply.py +37 -37
- telegrinder/bot/dispatch/handler/video_reply.py +44 -44
- telegrinder/bot/dispatch/middleware/__init__.py +3 -3
- telegrinder/bot/dispatch/middleware/abc.py +16 -16
- telegrinder/bot/dispatch/process.py +132 -132
- telegrinder/bot/dispatch/return_manager/__init__.py +13 -13
- telegrinder/bot/dispatch/return_manager/abc.py +108 -108
- telegrinder/bot/dispatch/return_manager/callback_query.py +20 -20
- telegrinder/bot/dispatch/return_manager/inline_query.py +15 -15
- telegrinder/bot/dispatch/return_manager/message.py +36 -36
- telegrinder/bot/dispatch/view/__init__.py +13 -13
- telegrinder/bot/dispatch/view/abc.py +41 -41
- telegrinder/bot/dispatch/view/base.py +200 -211
- telegrinder/bot/dispatch/view/box.py +129 -129
- telegrinder/bot/dispatch/view/callback_query.py +17 -17
- telegrinder/bot/dispatch/view/chat_join_request.py +16 -16
- telegrinder/bot/dispatch/view/chat_member.py +39 -39
- telegrinder/bot/dispatch/view/inline_query.py +17 -17
- telegrinder/bot/dispatch/view/message.py +44 -44
- telegrinder/bot/dispatch/view/raw.py +114 -118
- telegrinder/bot/dispatch/waiter_machine/__init__.py +17 -17
- telegrinder/bot/dispatch/waiter_machine/actions.py +13 -13
- telegrinder/bot/dispatch/waiter_machine/hasher/__init__.py +8 -8
- telegrinder/bot/dispatch/waiter_machine/hasher/callback.py +55 -55
- telegrinder/bot/dispatch/waiter_machine/hasher/hasher.py +57 -57
- telegrinder/bot/dispatch/waiter_machine/hasher/message.py +51 -51
- telegrinder/bot/dispatch/waiter_machine/hasher/state.py +19 -19
- telegrinder/bot/dispatch/waiter_machine/machine.py +167 -170
- telegrinder/bot/dispatch/waiter_machine/middleware.py +89 -89
- telegrinder/bot/dispatch/waiter_machine/short_state.py +68 -65
- telegrinder/bot/polling/__init__.py +4 -4
- telegrinder/bot/polling/abc.py +25 -25
- telegrinder/bot/polling/polling.py +131 -131
- telegrinder/bot/rules/__init__.py +62 -62
- telegrinder/bot/rules/abc.py +213 -238
- telegrinder/bot/rules/adapter/__init__.py +9 -9
- telegrinder/bot/rules/adapter/abc.py +29 -29
- telegrinder/bot/rules/adapter/errors.py +5 -5
- telegrinder/bot/rules/adapter/event.py +67 -76
- telegrinder/bot/rules/adapter/node.py +48 -48
- telegrinder/bot/rules/adapter/raw_update.py +30 -30
- telegrinder/bot/rules/callback_data.py +170 -171
- telegrinder/bot/rules/chat_join.py +46 -48
- telegrinder/bot/rules/command.py +126 -126
- telegrinder/bot/rules/enum_text.py +36 -36
- telegrinder/bot/rules/func.py +26 -26
- telegrinder/bot/rules/fuzzy.py +24 -24
- telegrinder/bot/rules/inline.py +60 -60
- telegrinder/bot/rules/integer.py +20 -20
- telegrinder/bot/rules/is_from.py +127 -127
- telegrinder/bot/rules/markup.py +43 -43
- telegrinder/bot/rules/mention.py +14 -14
- telegrinder/bot/rules/message.py +17 -17
- telegrinder/bot/rules/message_entities.py +35 -35
- telegrinder/bot/rules/node.py +27 -27
- telegrinder/bot/rules/regex.py +37 -37
- telegrinder/bot/rules/rule_enum.py +72 -72
- telegrinder/bot/rules/start.py +42 -42
- telegrinder/bot/rules/state.py +37 -37
- telegrinder/bot/rules/text.py +33 -33
- telegrinder/bot/rules/update.py +15 -15
- telegrinder/bot/scenario/__init__.py +5 -5
- telegrinder/bot/scenario/abc.py +19 -19
- telegrinder/bot/scenario/checkbox.py +167 -147
- telegrinder/bot/scenario/choice.py +46 -44
- telegrinder/client/__init__.py +4 -4
- telegrinder/client/abc.py +75 -75
- telegrinder/client/aiohttp.py +130 -130
- telegrinder/model.py +295 -244
- telegrinder/modules.py +237 -237
- telegrinder/msgspec_json.py +14 -14
- telegrinder/msgspec_utils.py +410 -410
- telegrinder/node/__init__.py +7 -3
- telegrinder/node/attachment.py +87 -87
- telegrinder/node/base.py +166 -144
- telegrinder/node/callback_query.py +53 -14
- telegrinder/node/command.py +33 -33
- telegrinder/node/composer.py +198 -184
- telegrinder/node/container.py +27 -27
- telegrinder/node/event.py +65 -73
- telegrinder/node/me.py +16 -16
- telegrinder/node/message.py +14 -14
- telegrinder/node/polymorphic.py +48 -52
- telegrinder/node/rule.py +76 -76
- telegrinder/node/scope.py +38 -38
- telegrinder/node/source.py +71 -71
- telegrinder/node/text.py +41 -21
- telegrinder/node/tools/__init__.py +3 -3
- telegrinder/node/tools/generator.py +40 -40
- telegrinder/node/update.py +15 -15
- telegrinder/rules.py +0 -0
- telegrinder/tools/__init__.py +74 -74
- telegrinder/tools/buttons.py +79 -79
- telegrinder/tools/error_handler/__init__.py +7 -7
- telegrinder/tools/error_handler/abc.py +33 -33
- telegrinder/tools/error_handler/error.py +9 -9
- telegrinder/tools/error_handler/error_handler.py +193 -193
- telegrinder/tools/formatting/__init__.py +46 -46
- telegrinder/tools/formatting/html.py +283 -283
- telegrinder/tools/formatting/links.py +33 -33
- telegrinder/tools/formatting/spec_html_formats.py +111 -111
- telegrinder/tools/functional.py +12 -12
- telegrinder/tools/global_context/__init__.py +7 -7
- telegrinder/tools/global_context/abc.py +63 -63
- telegrinder/tools/global_context/global_context.py +412 -412
- telegrinder/tools/global_context/telegrinder_ctx.py +27 -27
- telegrinder/tools/i18n/__init__.py +7 -7
- telegrinder/tools/i18n/abc.py +30 -30
- telegrinder/tools/i18n/middleware/__init__.py +3 -3
- telegrinder/tools/i18n/middleware/abc.py +25 -25
- telegrinder/tools/i18n/simple.py +43 -43
- telegrinder/tools/kb_set/__init__.py +4 -4
- telegrinder/tools/kb_set/base.py +15 -15
- telegrinder/tools/kb_set/yaml.py +63 -63
- telegrinder/tools/keyboard.py +132 -132
- telegrinder/tools/limited_dict.py +37 -37
- telegrinder/tools/loop_wrapper/__init__.py +4 -4
- telegrinder/tools/loop_wrapper/abc.py +15 -15
- telegrinder/tools/loop_wrapper/loop_wrapper.py +224 -216
- telegrinder/tools/magic.py +157 -157
- telegrinder/tools/parse_mode.py +6 -6
- telegrinder/tools/state_storage/__init__.py +4 -4
- telegrinder/tools/state_storage/abc.py +35 -35
- telegrinder/tools/state_storage/memory.py +25 -25
- telegrinder/types/__init__.py +260 -260
- telegrinder/types/enums.py +701 -701
- telegrinder/types/methods.py +4633 -4633
- telegrinder/types/objects.py +8561 -6541
- telegrinder/verification_utils.py +32 -32
- {telegrinder-0.3.1.dist-info → telegrinder-0.3.3.dist-info}/LICENSE +22 -22
- {telegrinder-0.3.1.dist-info → telegrinder-0.3.3.dist-info}/METADATA +1 -1
- telegrinder-0.3.3.dist-info/RECORD +164 -0
- telegrinder-0.3.1.dist-info/RECORD +0 -164
- {telegrinder-0.3.1.dist-info → telegrinder-0.3.3.dist-info}/WHEEL +0 -0
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
|
|
3
|
-
from telegrinder.api.api import API
|
|
4
|
-
from telegrinder.bot.cute_types.message import InputMediaType, MessageCute
|
|
5
|
-
from telegrinder.bot.dispatch.context import Context
|
|
6
|
-
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
-
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class MediaGroupReplyHandler(BaseReplyHandler):
|
|
11
|
-
def __init__(
|
|
12
|
-
self,
|
|
13
|
-
media: InputMediaType | list[InputMediaType],
|
|
14
|
-
*rules: ABCRule,
|
|
15
|
-
caption: str | list[str] | None = None,
|
|
16
|
-
parse_mode: str | list[str] | None = None,
|
|
17
|
-
is_blocking: bool = True,
|
|
18
|
-
as_reply: bool = False,
|
|
19
|
-
preset_context: Context | None = None,
|
|
20
|
-
**default_params: typing.Any,
|
|
21
|
-
) -> None:
|
|
22
|
-
self.media = media
|
|
23
|
-
self.parse_mode = parse_mode
|
|
24
|
-
self.caption = caption
|
|
25
|
-
super().__init__(
|
|
26
|
-
*rules,
|
|
27
|
-
is_blocking=is_blocking,
|
|
28
|
-
as_reply=as_reply,
|
|
29
|
-
preset_context=preset_context,
|
|
30
|
-
**default_params,
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
34
|
-
method = event.answer_media_group if not self.as_reply else event.reply_media_group
|
|
35
|
-
await method(
|
|
36
|
-
media=self.media,
|
|
37
|
-
parse_mode=self.parse_mode,
|
|
38
|
-
caption=self.caption,
|
|
39
|
-
**self.default_params,
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
__all__ = ("MediaGroupReplyHandler",)
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from telegrinder.api.api import API
|
|
4
|
+
from telegrinder.bot.cute_types.message import InputMediaType, MessageCute
|
|
5
|
+
from telegrinder.bot.dispatch.context import Context
|
|
6
|
+
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
+
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class MediaGroupReplyHandler(BaseReplyHandler):
|
|
11
|
+
def __init__(
|
|
12
|
+
self,
|
|
13
|
+
media: InputMediaType | list[InputMediaType],
|
|
14
|
+
*rules: ABCRule,
|
|
15
|
+
caption: str | list[str] | None = None,
|
|
16
|
+
parse_mode: str | list[str] | None = None,
|
|
17
|
+
is_blocking: bool = True,
|
|
18
|
+
as_reply: bool = False,
|
|
19
|
+
preset_context: Context | None = None,
|
|
20
|
+
**default_params: typing.Any,
|
|
21
|
+
) -> None:
|
|
22
|
+
self.media = media
|
|
23
|
+
self.parse_mode = parse_mode
|
|
24
|
+
self.caption = caption
|
|
25
|
+
super().__init__(
|
|
26
|
+
*rules,
|
|
27
|
+
is_blocking=is_blocking,
|
|
28
|
+
as_reply=as_reply,
|
|
29
|
+
preset_context=preset_context,
|
|
30
|
+
**default_params,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
34
|
+
method = event.answer_media_group if not self.as_reply else event.reply_media_group
|
|
35
|
+
await method(
|
|
36
|
+
media=self.media,
|
|
37
|
+
parse_mode=self.parse_mode,
|
|
38
|
+
caption=self.caption,
|
|
39
|
+
**self.default_params,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
__all__ = ("MediaGroupReplyHandler",)
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
|
|
3
|
-
from telegrinder.api.api import API
|
|
4
|
-
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
-
from telegrinder.bot.dispatch.context import Context
|
|
6
|
-
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
-
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class MessageReplyHandler(BaseReplyHandler):
|
|
11
|
-
def __init__(
|
|
12
|
-
self,
|
|
13
|
-
text: str,
|
|
14
|
-
*rules: ABCRule,
|
|
15
|
-
parse_mode: str | None = None,
|
|
16
|
-
is_blocking: bool = True,
|
|
17
|
-
as_reply: bool = False,
|
|
18
|
-
preset_context: Context | None = None,
|
|
19
|
-
**default_params: typing.Any,
|
|
20
|
-
) -> None:
|
|
21
|
-
self.text = text
|
|
22
|
-
self.parse_mode = parse_mode
|
|
23
|
-
super().__init__(
|
|
24
|
-
*rules,
|
|
25
|
-
is_blocking=is_blocking,
|
|
26
|
-
as_reply=as_reply,
|
|
27
|
-
preset_context=preset_context,
|
|
28
|
-
**default_params,
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
32
|
-
method = event.answer if not self.as_reply else event.reply
|
|
33
|
-
await method(text=self.text, parse_mode=self.parse_mode, **self.default_params)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
__all__ = ("MessageReplyHandler",)
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from telegrinder.api.api import API
|
|
4
|
+
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
+
from telegrinder.bot.dispatch.context import Context
|
|
6
|
+
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
+
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class MessageReplyHandler(BaseReplyHandler):
|
|
11
|
+
def __init__(
|
|
12
|
+
self,
|
|
13
|
+
text: str,
|
|
14
|
+
*rules: ABCRule,
|
|
15
|
+
parse_mode: str | None = None,
|
|
16
|
+
is_blocking: bool = True,
|
|
17
|
+
as_reply: bool = False,
|
|
18
|
+
preset_context: Context | None = None,
|
|
19
|
+
**default_params: typing.Any,
|
|
20
|
+
) -> None:
|
|
21
|
+
self.text = text
|
|
22
|
+
self.parse_mode = parse_mode
|
|
23
|
+
super().__init__(
|
|
24
|
+
*rules,
|
|
25
|
+
is_blocking=is_blocking,
|
|
26
|
+
as_reply=as_reply,
|
|
27
|
+
preset_context=preset_context,
|
|
28
|
+
**default_params,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
32
|
+
method = event.answer if not self.as_reply else event.reply
|
|
33
|
+
await method(text=self.text, parse_mode=self.parse_mode, **self.default_params)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
__all__ = ("MessageReplyHandler",)
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
|
|
3
|
-
from telegrinder.api.api import API
|
|
4
|
-
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
-
from telegrinder.bot.dispatch.context import Context
|
|
6
|
-
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
-
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
-
from telegrinder.types.objects import InputFile
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class PhotoReplyHandler(BaseReplyHandler):
|
|
12
|
-
def __init__(
|
|
13
|
-
self,
|
|
14
|
-
photo: InputFile | str,
|
|
15
|
-
*rules: ABCRule,
|
|
16
|
-
caption: str | None = None,
|
|
17
|
-
parse_mode: str | None = None,
|
|
18
|
-
is_blocking: bool = True,
|
|
19
|
-
as_reply: bool = False,
|
|
20
|
-
preset_context: Context | None = None,
|
|
21
|
-
**default_params: typing.Any,
|
|
22
|
-
) -> None:
|
|
23
|
-
self.photo = photo
|
|
24
|
-
self.parse_mode = parse_mode
|
|
25
|
-
self.caption = caption
|
|
26
|
-
super().__init__(
|
|
27
|
-
*rules,
|
|
28
|
-
is_blocking=is_blocking,
|
|
29
|
-
as_reply=as_reply,
|
|
30
|
-
preset_context=preset_context,
|
|
31
|
-
**default_params,
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
35
|
-
method = event.answer_photo if not self.as_reply else event.reply_photo
|
|
36
|
-
await method(
|
|
37
|
-
photo=self.photo,
|
|
38
|
-
parse_mode=self.parse_mode,
|
|
39
|
-
caption=self.caption,
|
|
40
|
-
**self.default_params,
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
__all__ = ("PhotoReplyHandler",)
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from telegrinder.api.api import API
|
|
4
|
+
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
+
from telegrinder.bot.dispatch.context import Context
|
|
6
|
+
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
+
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
+
from telegrinder.types.objects import InputFile
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PhotoReplyHandler(BaseReplyHandler):
|
|
12
|
+
def __init__(
|
|
13
|
+
self,
|
|
14
|
+
photo: InputFile | str,
|
|
15
|
+
*rules: ABCRule,
|
|
16
|
+
caption: str | None = None,
|
|
17
|
+
parse_mode: str | None = None,
|
|
18
|
+
is_blocking: bool = True,
|
|
19
|
+
as_reply: bool = False,
|
|
20
|
+
preset_context: Context | None = None,
|
|
21
|
+
**default_params: typing.Any,
|
|
22
|
+
) -> None:
|
|
23
|
+
self.photo = photo
|
|
24
|
+
self.parse_mode = parse_mode
|
|
25
|
+
self.caption = caption
|
|
26
|
+
super().__init__(
|
|
27
|
+
*rules,
|
|
28
|
+
is_blocking=is_blocking,
|
|
29
|
+
as_reply=as_reply,
|
|
30
|
+
preset_context=preset_context,
|
|
31
|
+
**default_params,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
35
|
+
method = event.answer_photo if not self.as_reply else event.reply_photo
|
|
36
|
+
await method(
|
|
37
|
+
photo=self.photo,
|
|
38
|
+
parse_mode=self.parse_mode,
|
|
39
|
+
caption=self.caption,
|
|
40
|
+
**self.default_params,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
__all__ = ("PhotoReplyHandler",)
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
|
|
3
|
-
from telegrinder.api.api import API
|
|
4
|
-
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
-
from telegrinder.bot.dispatch.context import Context
|
|
6
|
-
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
-
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
-
from telegrinder.types.objects import InputFile
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class StickerReplyHandler(BaseReplyHandler):
|
|
12
|
-
def __init__(
|
|
13
|
-
self,
|
|
14
|
-
sticker: InputFile | str,
|
|
15
|
-
*rules: ABCRule,
|
|
16
|
-
emoji: str | None = None,
|
|
17
|
-
is_blocking: bool = True,
|
|
18
|
-
as_reply: bool = False,
|
|
19
|
-
preset_context: Context | None = None,
|
|
20
|
-
**default_params: typing.Any,
|
|
21
|
-
) -> None:
|
|
22
|
-
self.sticker = sticker
|
|
23
|
-
self.emoji = emoji
|
|
24
|
-
super().__init__(
|
|
25
|
-
*rules,
|
|
26
|
-
is_blocking=is_blocking,
|
|
27
|
-
as_reply=as_reply,
|
|
28
|
-
preset_context=preset_context,
|
|
29
|
-
**default_params,
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
33
|
-
method = event.answer_sticker if not self.as_reply else event.reply_sticker
|
|
34
|
-
await method(sticker=self.sticker, emoji=self.emoji, **self.default_params)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
__all__ = ("StickerReplyHandler",)
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from telegrinder.api.api import API
|
|
4
|
+
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
+
from telegrinder.bot.dispatch.context import Context
|
|
6
|
+
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
+
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
+
from telegrinder.types.objects import InputFile
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class StickerReplyHandler(BaseReplyHandler):
|
|
12
|
+
def __init__(
|
|
13
|
+
self,
|
|
14
|
+
sticker: InputFile | str,
|
|
15
|
+
*rules: ABCRule,
|
|
16
|
+
emoji: str | None = None,
|
|
17
|
+
is_blocking: bool = True,
|
|
18
|
+
as_reply: bool = False,
|
|
19
|
+
preset_context: Context | None = None,
|
|
20
|
+
**default_params: typing.Any,
|
|
21
|
+
) -> None:
|
|
22
|
+
self.sticker = sticker
|
|
23
|
+
self.emoji = emoji
|
|
24
|
+
super().__init__(
|
|
25
|
+
*rules,
|
|
26
|
+
is_blocking=is_blocking,
|
|
27
|
+
as_reply=as_reply,
|
|
28
|
+
preset_context=preset_context,
|
|
29
|
+
**default_params,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
33
|
+
method = event.answer_sticker if not self.as_reply else event.reply_sticker
|
|
34
|
+
await method(sticker=self.sticker, emoji=self.emoji, **self.default_params)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
__all__ = ("StickerReplyHandler",)
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
|
|
3
|
-
from telegrinder.api.api import API
|
|
4
|
-
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
-
from telegrinder.bot.dispatch.context import Context
|
|
6
|
-
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
-
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
-
from telegrinder.types.objects import InputFile
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class VideoReplyHandler(BaseReplyHandler):
|
|
12
|
-
def __init__(
|
|
13
|
-
self,
|
|
14
|
-
video: InputFile | str,
|
|
15
|
-
*rules: ABCRule,
|
|
16
|
-
caption: str | None = None,
|
|
17
|
-
parse_mode: str | None = None,
|
|
18
|
-
is_blocking: bool = True,
|
|
19
|
-
as_reply: bool = False,
|
|
20
|
-
preset_context: Context | None = None,
|
|
21
|
-
**default_params: typing.Any,
|
|
22
|
-
) -> None:
|
|
23
|
-
self.video = video
|
|
24
|
-
self.parse_mode = parse_mode
|
|
25
|
-
self.caption = caption
|
|
26
|
-
super().__init__(
|
|
27
|
-
*rules,
|
|
28
|
-
is_blocking=is_blocking,
|
|
29
|
-
as_reply=as_reply,
|
|
30
|
-
preset_context=preset_context,
|
|
31
|
-
**default_params,
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
35
|
-
method = event.answer_video if not self.as_reply else event.reply_video
|
|
36
|
-
await method(
|
|
37
|
-
video=self.video,
|
|
38
|
-
parse_mode=self.parse_mode,
|
|
39
|
-
caption=self.caption,
|
|
40
|
-
**self.default_params,
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
__all__ = ("VideoReplyHandler",)
|
|
1
|
+
import typing
|
|
2
|
+
|
|
3
|
+
from telegrinder.api.api import API
|
|
4
|
+
from telegrinder.bot.cute_types.message import MessageCute
|
|
5
|
+
from telegrinder.bot.dispatch.context import Context
|
|
6
|
+
from telegrinder.bot.dispatch.handler.base import BaseReplyHandler
|
|
7
|
+
from telegrinder.bot.rules.abc import ABCRule
|
|
8
|
+
from telegrinder.types.objects import InputFile
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class VideoReplyHandler(BaseReplyHandler):
|
|
12
|
+
def __init__(
|
|
13
|
+
self,
|
|
14
|
+
video: InputFile | str,
|
|
15
|
+
*rules: ABCRule,
|
|
16
|
+
caption: str | None = None,
|
|
17
|
+
parse_mode: str | None = None,
|
|
18
|
+
is_blocking: bool = True,
|
|
19
|
+
as_reply: bool = False,
|
|
20
|
+
preset_context: Context | None = None,
|
|
21
|
+
**default_params: typing.Any,
|
|
22
|
+
) -> None:
|
|
23
|
+
self.video = video
|
|
24
|
+
self.parse_mode = parse_mode
|
|
25
|
+
self.caption = caption
|
|
26
|
+
super().__init__(
|
|
27
|
+
*rules,
|
|
28
|
+
is_blocking=is_blocking,
|
|
29
|
+
as_reply=as_reply,
|
|
30
|
+
preset_context=preset_context,
|
|
31
|
+
**default_params,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
async def run(self, _: API, event: MessageCute, __: Context) -> typing.Any:
|
|
35
|
+
method = event.answer_video if not self.as_reply else event.reply_video
|
|
36
|
+
await method(
|
|
37
|
+
video=self.video,
|
|
38
|
+
parse_mode=self.parse_mode,
|
|
39
|
+
caption=self.caption,
|
|
40
|
+
**self.default_params,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
__all__ = ("VideoReplyHandler",)
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
from telegrinder.bot.dispatch.middleware.abc import ABCMiddleware
|
|
2
|
-
|
|
3
|
-
__all__ = ("ABCMiddleware",)
|
|
1
|
+
from telegrinder.bot.dispatch.middleware.abc import ABCMiddleware
|
|
2
|
+
|
|
3
|
+
__all__ = ("ABCMiddleware",)
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from abc import ABC
|
|
3
|
-
|
|
4
|
-
from telegrinder.bot.dispatch.context import Context
|
|
5
|
-
from telegrinder.model import Model
|
|
6
|
-
|
|
7
|
-
Event = typing.TypeVar("Event", bound=Model)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ABCMiddleware(ABC, typing.Generic[Event]):
|
|
11
|
-
async def pre(self, event: Event, ctx: Context) -> bool: ...
|
|
12
|
-
|
|
13
|
-
async def post(self, event: Event, responses: list[typing.Any], ctx: Context) -> None: ...
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
__all__ = ("ABCMiddleware",)
|
|
1
|
+
import typing
|
|
2
|
+
from abc import ABC
|
|
3
|
+
|
|
4
|
+
from telegrinder.bot.dispatch.context import Context
|
|
5
|
+
from telegrinder.model import Model
|
|
6
|
+
|
|
7
|
+
Event = typing.TypeVar("Event", bound=Model)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ABCMiddleware(ABC, typing.Generic[Event]):
|
|
11
|
+
async def pre(self, event: Event, ctx: Context) -> bool: ...
|
|
12
|
+
|
|
13
|
+
async def post(self, event: Event, responses: list[typing.Any], ctx: Context) -> None: ...
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
__all__ = ("ABCMiddleware",)
|