Skip to content

Commit 3611451

Browse files
author
Pyrogram-Mod - Dev
committed
fix(methods): correct TL namespaces and InputUser conversion
- web browser methods: messages.* → account.* namespace (get/update_web_browser_settings, toggle/delete_web_browser_exceptions) - confirm_bot_connection: messages.* → account.* namespace - set_chat_guard_bot, get/edit_bot_access_settings: convert InputPeerUser → InputUser where TL expects InputUser fix(ci): migrate workflow from pip/tox to uv, drop Python 3.9 Align with build: migrate to uv and requires-python >=3.10
1 parent d4955f9 commit 3611451

9 files changed

Lines changed: 41 additions & 23 deletions

.github/workflows/python.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,24 @@ jobs:
1313
strategy:
1414
matrix:
1515
os: [ubuntu-latest, macos-latest]
16-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
16+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1717

1818
steps:
1919
- name: Checkout repository
2020
uses: actions/checkout@v4
2121

22-
- name: Set up Python ${{ matrix.python-version }}
23-
uses: actions/setup-python@v5
22+
- name: Install uv
23+
uses: astral-sh/setup-uv@v5
2424
with:
2525
python-version: ${{ matrix.python-version }}
26-
cache: "pip"
2726

28-
- name: Upgrade pip and install dependencies
29-
run: |
30-
python -m pip install --upgrade pip
31-
pip install --upgrade tox wheel setuptools
27+
- name: Install dependencies
28+
run: uv sync --extra dev
3229

3330
- name: Generate API
34-
run: |
35-
make venv
36-
make api
31+
run: make api
3732

38-
- name: Run tests with tox
33+
- name: Run tests
3934
env:
4035
PYTHONWARNINGS: "ignore"
41-
run: tox
36+
run: uv run pytest

pyrogram/methods/bots/confirm_bot_connection.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,14 @@ async def confirm_bot_connection(
4646
await app.confirm_bot_connection("@mybot")
4747
"""
4848

49+
peer = await self.resolve_peer(bot)
50+
if isinstance(peer, raw.types.InputPeerUser):
51+
input_user = raw.types.InputUser(user_id=peer.user_id, access_hash=peer.access_hash)
52+
else:
53+
input_user = peer
54+
4955
return await self.invoke(
50-
raw.functions.messages.ConfirmBotConnection(
51-
bot_id=await self.resolve_peer(bot)
56+
raw.functions.account.ConfirmBotConnection(
57+
bot_id=input_user
5258
)
5359
)

pyrogram/methods/bots/edit_bot_access_settings.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,20 @@ async def edit_bot_access_settings(
5656
await app.edit_bot_access_settings("@mybot", add_users=["@user1", "@user2"])
5757
"""
5858

59+
def to_input_user(peer):
60+
if isinstance(peer, raw.types.InputPeerUser):
61+
return raw.types.InputUser(user_id=peer.user_id, access_hash=peer.access_hash)
62+
return peer
63+
64+
bot_peer = to_input_user(await self.resolve_peer(bot))
65+
5966
resolved_users = None
6067
if add_users is not None:
61-
resolved_users = [await self.resolve_peer(u) for u in add_users]
68+
resolved_users = [to_input_user(await self.resolve_peer(u)) for u in add_users]
6269

6370
await self.invoke(
6471
raw.functions.bots.EditAccessSettings(
65-
bot=await self.resolve_peer(bot),
72+
bot=bot_peer,
6673
restricted=restricted,
6774
add_users=resolved_users
6875
)

pyrogram/methods/bots/get_bot_access_settings.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,12 @@ async def get_bot_access_settings(
4545
print(settings.restricted, settings.add_users)
4646
"""
4747

48+
peer = await self.resolve_peer(bot)
49+
if isinstance(peer, raw.types.InputPeerUser):
50+
peer = raw.types.InputUser(user_id=peer.user_id, access_hash=peer.access_hash)
51+
4852
return await self.invoke(
4953
raw.functions.bots.GetAccessSettings(
50-
bot=await self.resolve_peer(bot)
54+
bot=peer
5155
)
5256
)

pyrogram/methods/chats/set_chat_guard_bot.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,13 @@ async def set_chat_guard_bot(
6363
await app.set_chat_guard_bot(chat_id, None)
6464
"""
6565

66-
guard_bot = await self.resolve_peer(bot) if bot is not None else None
66+
guard_bot = None
67+
if bot is not None:
68+
peer = await self.resolve_peer(bot)
69+
if isinstance(peer, raw.types.InputPeerUser):
70+
guard_bot = raw.types.InputUser(user_id=peer.user_id, access_hash=peer.access_hash)
71+
else:
72+
guard_bot = peer
6773

6874
await self.invoke(
6975
raw.functions.channels.ToggleJoinRequest(

pyrogram/methods/messages/delete_web_browser_exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ async def delete_web_browser_exceptions(
3838
"""
3939

4040
return await self.invoke(
41-
raw.functions.messages.DeleteWebBrowserSettingsExceptions()
41+
raw.functions.account.DeleteWebBrowserSettingsExceptions()
4242
)

pyrogram/methods/messages/get_web_browser_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ async def get_web_browser_settings(
3939
"""
4040

4141
return await self.invoke(
42-
raw.functions.messages.GetWebBrowserSettings(hash=0)
42+
raw.functions.account.GetWebBrowserSettings(hash=0)
4343
)

pyrogram/methods/messages/toggle_web_browser_exception.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async def toggle_web_browser_exception(
5858
"""
5959

6060
await self.invoke(
61-
raw.functions.messages.ToggleWebBrowserSettingsException(
61+
raw.functions.account.ToggleWebBrowserSettingsException(
6262
url=url,
6363
open_external_browser=open_external_browser,
6464
delete=delete

pyrogram/methods/messages/update_web_browser_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async def update_web_browser_settings(
4949
"""
5050

5151
return await self.invoke(
52-
raw.functions.messages.UpdateWebBrowserSettings(
52+
raw.functions.account.UpdateWebBrowserSettings(
5353
open_external_browser=open_external_browser,
5454
display_close_button=display_close_button
5555
)

0 commit comments

Comments
 (0)