diff --git a/aiogram/utils/auth_widget.py b/aiogram/utils/auth_widget.py index c5b03aa3..a39a0eed 100644 --- a/aiogram/utils/auth_widget.py +++ b/aiogram/utils/auth_widget.py @@ -11,7 +11,7 @@ import hmac from aiogram.utils.deprecated import deprecated -@deprecated('`generate_hash` is outdated, please use `check_signature` or `check_integrity`') +@deprecated('`generate_hash` is outdated, please use `check_signature` or `check_integrity`', stacklevel=3) def generate_hash(data: dict, token: str) -> str: """ Generate secret hash @@ -27,7 +27,7 @@ def generate_hash(data: dict, token: str) -> str: return hmac.new(secret.digest(), msg.encode('utf-8'), digestmod=hashlib.sha256).hexdigest() -@deprecated('`check_token` helper was renamed to `check_integrity`') +@deprecated('`check_token` helper was renamed to `check_integrity`', stacklevel=3) def check_token(data: dict, token: str) -> bool: """ Validate auth token diff --git a/aiogram/utils/deprecated.py b/aiogram/utils/deprecated.py index b88efcd7..ebdb14a3 100644 --- a/aiogram/utils/deprecated.py +++ b/aiogram/utils/deprecated.py @@ -5,7 +5,7 @@ import functools from typing import Callable -def deprecated(reason) -> Callable: +def deprecated(reason, stacklevel=2) -> Callable: """ This is a decorator which can be used to mark functions as deprecated. It will result in a warning being emitted @@ -33,7 +33,7 @@ def deprecated(reason) -> Callable: @functools.wraps(func) def wrapper(*args, **kwargs): - warn_deprecated(msg.format(name=func.__name__, reason=reason)) + warn_deprecated(msg.format(name=func.__name__, reason=reason), stacklevel=stacklevel) warnings.simplefilter('default', DeprecationWarning) return func(*args, **kwargs) @@ -60,7 +60,7 @@ def deprecated(reason) -> Callable: @functools.wraps(func1) def wrapper1(*args, **kwargs): - warn_deprecated(msg1.format(name=func1.__name__)) + warn_deprecated(msg1.format(name=func1.__name__), stacklevel=stacklevel) return func1(*args, **kwargs) return wrapper1 diff --git a/tests/test_bot.py b/tests/test_bot.py index 448f8dda..3e48ea57 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -333,9 +333,15 @@ async def test_restrict_chat_member(bot: Bot, event_loop): chat = types.Chat(**CHAT) async with FakeTelegram(message_dict=True, loop=event_loop): - result = await bot.restrict_chat_member(chat_id=chat.id, user_id=user.id, can_add_web_page_previews=False, - can_send_media_messages=False, can_send_messages=False, - can_send_other_messages=False, until_date=123) + result = await bot.restrict_chat_member( + chat_id=chat.id, + user_id=user.id, + permissions=types.ChatPermissions( + can_add_web_page_previews=False, + can_send_media_messages=False, + can_send_messages=False, + can_send_other_messages=False + ), until_date=123) assert isinstance(result, bool) assert result is True