mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 18:19:34 +00:00
parent
2c6d8ed5cb
commit
fadb11515e
5 changed files with 3 additions and 345 deletions
1
CHANGES/941.misc.rst
Normal file
1
CHANGES/941.misc.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Removed deprecated :code:`router.<event>_handler` and :code:`router.register_<event>_handler` methods.
|
||||||
|
|
@ -1,17 +1,16 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import warnings
|
import warnings
|
||||||
from typing import Any, Dict, Generator, List, Optional, Set, Union
|
from typing import Any, Dict, Final, Generator, List, Optional, Set, Union
|
||||||
|
|
||||||
from ..types import TelegramObject
|
from ..types import TelegramObject
|
||||||
from ..utils.warnings import CodeHasNoEffect
|
from ..utils.warnings import CodeHasNoEffect
|
||||||
from .event.bases import REJECTED, UNHANDLED
|
from .event.bases import REJECTED, UNHANDLED
|
||||||
from .event.event import EventObserver
|
from .event.event import EventObserver
|
||||||
from .event.handler import CallbackType
|
|
||||||
from .event.telegram import TelegramEventObserver
|
from .event.telegram import TelegramEventObserver
|
||||||
from .filters import BUILTIN_FILTERS
|
from .filters import BUILTIN_FILTERS
|
||||||
|
|
||||||
INTERNAL_UPDATE_TYPES = frozenset({"update", "error"})
|
INTERNAL_UPDATE_TYPES: Final[frozenset[str]] = frozenset({"update", "error"})
|
||||||
|
|
||||||
|
|
||||||
class Router:
|
class Router:
|
||||||
|
|
@ -242,288 +241,3 @@ class Router:
|
||||||
await self.shutdown.trigger(*args, **kwargs)
|
await self.shutdown.trigger(*args, **kwargs)
|
||||||
for router in self.sub_routers:
|
for router in self.sub_routers:
|
||||||
await router.emit_shutdown(*args, **kwargs)
|
await router.emit_shutdown(*args, **kwargs)
|
||||||
|
|
||||||
@property
|
|
||||||
def message_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.message_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.message(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.message
|
|
||||||
|
|
||||||
@property
|
|
||||||
def edited_message_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.edited_message_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.edited_message(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.edited_message
|
|
||||||
|
|
||||||
@property
|
|
||||||
def channel_post_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.channel_post_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.channel_post(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.channel_post
|
|
||||||
|
|
||||||
@property
|
|
||||||
def edited_channel_post_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.edited_channel_post_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.edited_channel_post(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.edited_channel_post
|
|
||||||
|
|
||||||
@property
|
|
||||||
def inline_query_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.inline_query_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.inline_query(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.inline_query
|
|
||||||
|
|
||||||
@property
|
|
||||||
def chosen_inline_result_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.chosen_inline_result_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chosen_inline_result(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chosen_inline_result
|
|
||||||
|
|
||||||
@property
|
|
||||||
def callback_query_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.callback_query_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.callback_query(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.callback_query
|
|
||||||
|
|
||||||
@property
|
|
||||||
def shipping_query_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.shipping_query_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.shipping_query(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.shipping_query
|
|
||||||
|
|
||||||
@property
|
|
||||||
def pre_checkout_query_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.pre_checkout_query_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.pre_checkout_query(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.pre_checkout_query
|
|
||||||
|
|
||||||
@property
|
|
||||||
def poll_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.poll_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.poll(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.poll
|
|
||||||
|
|
||||||
@property
|
|
||||||
def poll_answer_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.poll_answer_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.poll_answer(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.poll_answer
|
|
||||||
|
|
||||||
@property
|
|
||||||
def my_chat_member_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.my_chat_member_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.my_chat_member(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.my_chat_member
|
|
||||||
|
|
||||||
@property
|
|
||||||
def chat_member_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.chat_member_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chat_member(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chat_member
|
|
||||||
|
|
||||||
@property
|
|
||||||
def chat_join_request_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.chat_join_request_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chat_join_request(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chat_join_request
|
|
||||||
|
|
||||||
@property
|
|
||||||
def errors_handler(self) -> TelegramEventObserver:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.errors_handler(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.errors(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.errors
|
|
||||||
|
|
||||||
def register_message(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_message(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.message.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.message.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_edited_message(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_edited_message(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.edited_message.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.edited_message.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_channel_post(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_channel_post(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.channel_post.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.channel_post.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_edited_channel_post(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_edited_channel_post(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.edited_channel_post.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.edited_channel_post.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_inline_query(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_inline_query(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.inline_query.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.inline_query.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_chosen_inline_result(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_chosen_inline_result(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chosen_inline_result.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chosen_inline_result.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_callback_query(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_callback_query(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.callback_query.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.callback_query.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_shipping_query(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_shipping_query(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.shipping_query.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.shipping_query.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_pre_checkout_query(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_pre_checkout_query(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.pre_checkout_query.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.pre_checkout_query.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_poll(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_poll(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.poll.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.poll.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_poll_answer(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_poll_answer(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.poll_answer.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.poll_answer.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_my_chat_member(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_my_chat_member(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.my_chat_member.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.my_chat_member.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_chat_member(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_chat_member(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chat_member.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chat_member.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_chat_join_request(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_chat_join_request(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.chat_join_request.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.chat_join_request.register(*args, **kwargs)
|
|
||||||
|
|
||||||
def register_errors(self, *args: Any, **kwargs: Any) -> CallbackType:
|
|
||||||
warnings.warn(
|
|
||||||
"`Router.register_errors(...)` is deprecated and will be removed in version 3.2 "
|
|
||||||
"use `Router.errors.register(...)`",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.errors.register(*args, **kwargs)
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import warnings
|
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
||||||
|
|
@ -34,11 +33,3 @@ class MessageEntity(MutableTelegramObject):
|
||||||
return remove_surrogates(
|
return remove_surrogates(
|
||||||
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
|
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_text(self, text: str) -> str:
|
|
||||||
warnings.warn(
|
|
||||||
"Method `MessageEntity.get_text(...)` deprecated and will be removed in 3.2.\n"
|
|
||||||
" Use `MessageEntity.extract(...)` instead.",
|
|
||||||
DeprecationWarning,
|
|
||||||
)
|
|
||||||
return self.extract(text=text)
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,7 @@
|
||||||
from aiogram.types import MessageEntity
|
from aiogram.types import MessageEntity
|
||||||
from tests.deprecated import check_deprecated
|
|
||||||
|
|
||||||
|
|
||||||
class TestMessageEntity:
|
class TestMessageEntity:
|
||||||
def test_extract(self):
|
def test_extract(self):
|
||||||
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
||||||
assert entity.extract("#foo #bar #baz") == "#bar"
|
assert entity.extract("#foo #bar #baz") == "#bar"
|
||||||
|
|
||||||
def test_get_text(self):
|
|
||||||
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
|
||||||
with check_deprecated("3.2", exception=AttributeError):
|
|
||||||
assert entity.get_text("#foo #bar #baz") == "#bar"
|
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
import pytest
|
|
||||||
|
|
||||||
from aiogram.dispatcher.event.telegram import TelegramEventObserver
|
|
||||||
from aiogram.dispatcher.router import Router
|
|
||||||
from tests.deprecated import check_deprecated
|
|
||||||
|
|
||||||
OBSERVERS = {
|
|
||||||
"message",
|
|
||||||
"edited_message",
|
|
||||||
"channel_post",
|
|
||||||
"edited_channel_post",
|
|
||||||
"inline_query",
|
|
||||||
"chosen_inline_result",
|
|
||||||
"callback_query",
|
|
||||||
"shipping_query",
|
|
||||||
"pre_checkout_query",
|
|
||||||
"poll",
|
|
||||||
"poll_answer",
|
|
||||||
"my_chat_member",
|
|
||||||
"chat_member",
|
|
||||||
"chat_join_request",
|
|
||||||
"errors",
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("observer_name", OBSERVERS)
|
|
||||||
def test_deprecated_handlers_name(observer_name: str):
|
|
||||||
router = Router()
|
|
||||||
|
|
||||||
with check_deprecated("3.2", exception=AttributeError):
|
|
||||||
observer = getattr(router, f"{observer_name}_handler")
|
|
||||||
assert isinstance(observer, TelegramEventObserver)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("observer_name", OBSERVERS)
|
|
||||||
def test_deprecated_register_handlers(observer_name: str):
|
|
||||||
router = Router()
|
|
||||||
|
|
||||||
with check_deprecated("3.2", exception=AttributeError):
|
|
||||||
register = getattr(router, f"register_{observer_name}")
|
|
||||||
register(lambda event: True)
|
|
||||||
assert callable(register)
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue