mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Added full support of the Bot API 9.4 (#1761)
* Bump API schema to version 9.4, add new object types, methods, and properties.
* Add tests for `ChatOwnerChanged` and `ChatOwnerLeft` message types
* Add tests for `GetUserProfileAudios`, `RemoveMyProfilePhoto`, and `SetMyProfilePhoto` methods
* Bump version
* Update Makefile variables and refactor `test_get_user_profile_audios.py`
* Document new features and updates from Bot API 9.4 in changelog
* Add `ButtonStyle` enum to represent button styles in the Telegram API
* Fix review issues from PR #1761
- Remove stray '-' artifact from GameHighScore docstring and butcher schema
- Fix Makefile reformat target scope inconsistency (ruff check --fix)
- Fix ButtonStyle enum source URL (#chat -> #inlinekeyboardbutton)
- Add User.get_profile_audios() shortcut method (parallel to get_profile_photos)
- Test ChatOwnerLeft with new_owner=None (edge case)
- Add VideoQuality type and Video.qualities nesting tests
- Add User.get_profile_audios() test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Revert "Fix review issues from PR #1761"
This reverts commit 2184e98988.
* Update source links for `ButtonStyle` documentation to reflect accurate API references
* Fix review issues from PR #1761 (#1762)
* Fix review issues from PR #1761
- Remove stray '-' artifact from GameHighScore docstring
- Fix Makefile reformat target scope inconsistency (ruff check --fix)
- Add User.get_profile_audios() shortcut method (parallel to get_profile_photos)
- Test ChatOwnerLeft with new_owner=None (edge case)
- Add VideoQuality type and Video.qualities nesting tests
- Add User.get_profile_audios() test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Address review comments: use fixture and variables in tests, add changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Address review follow-ups for PR #1762
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Reformat code
* Shut up, ruff
---------
Co-authored-by: latand <latand666@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Kostiantyn Kriuchkov <36363097+Latand@users.noreply.github.com>
This commit is contained in:
parent
da7bfdca0c
commit
49d0784e33
67 changed files with 1457 additions and 61 deletions
19
tests/test_api/test_methods/test_get_user_profile_audios.py
Normal file
19
tests/test_api/test_methods/test_get_user_profile_audios.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
from aiogram.methods import GetUserProfileAudios
|
||||
from aiogram.types import Audio, UserProfileAudios
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestGetUserProfileAudios:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
GetUserProfileAudios,
|
||||
ok=True,
|
||||
result=UserProfileAudios(
|
||||
total_count=1,
|
||||
audios=[Audio(file_id="file_id", file_unique_id="file_unique_id", duration=120)],
|
||||
),
|
||||
)
|
||||
|
||||
response: UserProfileAudios = await bot.get_user_profile_audios(user_id=42)
|
||||
bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
11
tests/test_api/test_methods/test_remove_my_profile_photo.py
Normal file
11
tests/test_api/test_methods/test_remove_my_profile_photo.py
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
from aiogram.methods import RemoveMyProfilePhoto
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestRemoveMyProfilePhoto:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(RemoveMyProfilePhoto, ok=True, result=True)
|
||||
|
||||
response: bool = await bot.remove_my_profile_photo()
|
||||
bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
14
tests/test_api/test_methods/test_set_my_profile_photo.py
Normal file
14
tests/test_api/test_methods/test_set_my_profile_photo.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
from aiogram.methods import SetMyProfilePhoto
|
||||
from aiogram.types import InputProfilePhotoStatic
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestSetMyProfilePhoto:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(SetMyProfilePhoto, ok=True, result=True)
|
||||
|
||||
response: bool = await bot.set_my_profile_photo(
|
||||
photo=InputProfilePhotoStatic(photo="file_id")
|
||||
)
|
||||
bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
Loading…
Add table
Add a link
Reference in a new issue