mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 02:03:04 +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
|
||||
|
||||
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 ..utils.warnings import CodeHasNoEffect
|
||||
from .event.bases import REJECTED, UNHANDLED
|
||||
from .event.event import EventObserver
|
||||
from .event.handler import CallbackType
|
||||
from .event.telegram import TelegramEventObserver
|
||||
from .filters import BUILTIN_FILTERS
|
||||
|
||||
INTERNAL_UPDATE_TYPES = frozenset({"update", "error"})
|
||||
INTERNAL_UPDATE_TYPES: Final[frozenset[str]] = frozenset({"update", "error"})
|
||||
|
||||
|
||||
class Router:
|
||||
|
|
@ -242,288 +241,3 @@ class Router:
|
|||
await self.shutdown.trigger(*args, **kwargs)
|
||||
for router in self.sub_routers:
|
||||
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
|
||||
|
||||
import warnings
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
|
||||
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
||||
|
|
@ -34,11 +33,3 @@ class MessageEntity(MutableTelegramObject):
|
|||
return remove_surrogates(
|
||||
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 tests.deprecated import check_deprecated
|
||||
|
||||
|
||||
class TestMessageEntity:
|
||||
def test_extract(self):
|
||||
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
||||
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