style: ruff format 统一 4 处签名换行漂移,CI 补格式检查

channel/group/guild/test_api 的函数签名换行偏离 ruff format(CI 只跑
ruff check 拦不住格式漂移),先归一再补 ruff format --check 步骤防回潮。
This commit is contained in:
snowy-yang committed 2026-10-01 23:05:01 +08:00
1 parent e5dd805d19
commit 0fa63d564b
5 files changed
+28 -19

No files matched your search

+3
View File
@@ -26,6 +26,9 @@ jobs:
- name: ruff 静态检查 - name: ruff 静态检查
run: uv run ruff check src tests examples run: uv run ruff check src tests examples
- name: ruff 格式检查
run: uv run ruff format --check src tests examples
- name: pyright 类型检查 - name: pyright 类型检查
run: uv run pyright run: uv run pyright
+1 -3
View File
@@ -87,9 +87,7 @@ class ChannelApi(BaseApi):
""" """
return await self.get(f"/channels/{channel_id}/members/{user_id}/permissions") return await self.get(f"/channels/{channel_id}/members/{user_id}/permissions")
async def get_channel_role_permissions( async def get_channel_role_permissions(self, channel_id: str, role_id: str) -> dict:
self, channel_id: str, role_id: str
) -> dict:
"""获取子频道指定身份组的权限(GET .../roles/{role_id}/permissions)。""" """获取子频道指定身份组的权限(GET .../roles/{role_id}/permissions)。"""
return await self.get(f"/channels/{channel_id}/roles/{role_id}/permissions") return await self.get(f"/channels/{channel_id}/roles/{role_id}/permissions")
+7 -5
View File
@@ -31,7 +31,9 @@ class GroupApi(BaseApi):
""" """
return await self.get(f"/v2/groups/{group_openid}/info") return await self.get(f"/v2/groups/{group_openid}/info")
async def get_group_members(self, group_openid: str, cursor: str | None = None) -> dict: async def get_group_members(
self, group_openid: str, cursor: str | None = None
) -> dict:
"""获取群成员列表(GET /v2/groups/{group_openid}/members)。 """获取群成员列表(GET /v2/groups/{group_openid}/members)。
每次最多返回 30 条,翻页透传上次响应的 next_cursor(空串=末页)。 每次最多返回 30 条,翻页透传上次响应的 next_cursor(空串=末页)。
@@ -44,9 +46,7 @@ class GroupApi(BaseApi):
返回昵称、角色(member/owner/admin)、入群时间等。 返回昵称、角色(member/owner/admin)、入群时间等。
""" """
return await self.get( return await self.get(f"/v2/groups/{group_openid}/members/{member_openid}")
f"/v2/groups/{group_openid}/members/{member_openid}"
)
async def get_group_bot_state(self, group_openid: str) -> dict: async def get_group_bot_state(self, group_openid: str) -> dict:
"""获取机器人在指定群内的状态(GET .../bot_state)。 """获取机器人在指定群内的状态(GET .../bot_state)。
@@ -247,7 +247,9 @@ class GroupApi(BaseApi):
对策略关联的全部群发起全量扫描,命中白名单号码的入群申请自动 对策略关联的全部群发起全量扫描,命中白名单号码的入群申请自动
审批通过;异步执行,约 10 分钟完成。 审批通过;异步执行,约 10 分钟完成。
""" """
return await self.post(f"/v2/groups/join_approval_strategy/{strategy_id}/execute") return await self.post(
f"/v2/groups/join_approval_strategy/{strategy_id}/execute"
)
async def update_join_approval_strategy_whitelist( async def update_join_approval_strategy_whitelist(
self, strategy_id: str, op: str, whitelist_users: list[str] self, strategy_id: str, op: str, whitelist_users: list[str]
+1 -3
View File
@@ -247,9 +247,7 @@ class GuildApi(BaseApi):
需要管理员权限(同身份组的成员也可操作)。 需要管理员权限(同身份组的成员也可操作)。
""" """
return await self.put( return await self.put(f"/guilds/{guild_id}/members/{user_id}/roles/{role_id}")
f"/guilds/{guild_id}/members/{user_id}/roles/{role_id}"
)
async def remove_guild_member_role( async def remove_guild_member_role(
self, guild_id: str, user_id: str, role_id: str self, guild_id: str, user_id: str, role_id: str
+16 -8
View File
@@ -298,7 +298,9 @@ async def test_chunked_upload_group_and_c2c():
await api.prepare_c2c_upload("U1", **common) await api.prepare_c2c_upload("U1", **common)
assert cap["call"][:2] == ("POST", "/v2/users/U1/upload_prepare") assert cap["call"][:2] == ("POST", "/v2/users/U1/upload_prepare")
await api.finish_c2c_upload_part("U1", "up1", part_index=1, block_size=4096, md5="p1") await api.finish_c2c_upload_part(
"U1", "up1", part_index=1, block_size=4096, md5="p1"
)
method, path, kwargs = cap["call"] method, path, kwargs = cap["call"]
assert (method, path) == ("POST", "/v2/users/U1/upload_part_finish") assert (method, path) == ("POST", "/v2/users/U1/upload_part_finish")
assert kwargs["json"] == { assert kwargs["json"] == {
@@ -377,16 +379,18 @@ async def test_group_join_request_flow():
assert (method, path) == ("GET", "/v2/groups/G1/join_request_list") assert (method, path) == ("GET", "/v2/groups/G1/join_request_list")
assert kwargs["params"] == {"limit": 10} assert kwargs["params"] == {"limit": 10}
await api.review_group_join_request( await api.review_group_join_request("G1", "M1", "approve", join_request_id="j1")
"G1", "M1", "approve", join_request_id="j1"
)
method, path, kwargs = cap["call"] method, path, kwargs = cap["call"]
assert (method, path) == ("POST", "/v2/groups/G1/approval_join_request/M1") assert (method, path) == ("POST", "/v2/groups/G1/approval_join_request/M1")
assert kwargs["json"] == {"op": "approve", "join_request_id": "j1"} assert kwargs["json"] == {"op": "approve", "join_request_id": "j1"}
await api.review_group_join_request( await api.review_group_join_request(
"G1", "M1", "decline", join_request_id="j1", "G1",
reject_reason="广告", add_to_member_blacklist=True, "M1",
"decline",
join_request_id="j1",
reject_reason="广告",
add_to_member_blacklist=True,
) )
body = cap["call"][2]["json"] body = cap["call"][2]["json"]
assert body == { assert body == {
@@ -689,7 +693,9 @@ async def test_guild_members_mutes_and_api_permission():
await api.get_guild_members("GID") await api.get_guild_members("GID")
assert cap["call"][:2] == ("GET", "/guilds/GID/members") assert cap["call"][:2] == ("GET", "/guilds/GID/members")
await api.remove_guild_member("GID", "U1", add_blacklist=True, delete_history_msg_days=7) await api.remove_guild_member(
"GID", "U1", add_blacklist=True, delete_history_msg_days=7
)
method, path, kwargs = cap["call"] method, path, kwargs = cap["call"]
assert (method, path) == ("DELETE", "/guilds/GID/members/U1") assert (method, path) == ("DELETE", "/guilds/GID/members/U1")
assert kwargs["json"] == {"add_blacklist": True, "delete_history_msg_days": 7} assert kwargs["json"] == {"add_blacklist": True, "delete_history_msg_days": 7}
@@ -717,7 +723,9 @@ async def test_guild_members_mutes_and_api_permission():
await api.get_guild_api_permissions("GID") await api.get_guild_api_permissions("GID")
assert cap["call"][:2] == ("GET", "/guilds/GID/api_permission") assert cap["call"][:2] == ("GET", "/guilds/GID/api_permission")
await api.create_api_permission_demand("GID", "C1", "/channels/x/messages", "POST", "d") await api.create_api_permission_demand(
"GID", "C1", "/channels/x/messages", "POST", "d"
)
method, path, kwargs = cap["call"] method, path, kwargs = cap["call"]
assert (method, path) == ("POST", "/guilds/GID/api_permission/demand") assert (method, path) == ("POST", "/guilds/GID/api_permission/demand")
assert kwargs["json"] == { assert kwargs["json"] == {