Skip to content

Commit

Permalink
🎨 format
Browse files Browse the repository at this point in the history
  • Loading branch information
RF-Tar-Railt committed Aug 28, 2023
1 parent 6326f63 commit 745c364
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 21 deletions.
7 changes: 4 additions & 3 deletions nonebot/adapters/red/adapter.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import json
import asyncio
from typing import Any, Dict, List, Optional, Union
from typing import Any, Dict, List, Union, Optional

from yarl import URL
from nonebot.typing import override
from nonebot.utils import escape_tag
from nonebot.exception import WebSocketClosed
from nonebot.drivers import Driver, Request, WebSocket, ForwardDriver

from nonebot.adapters import Event as BaseEvent
from nonebot.adapters import Adapter as BaseAdapter

from .bot import Bot
Expand Down Expand Up @@ -163,7 +162,9 @@ def payload_to_event(cls, payload: Dict[str, Any]) -> Event:
return Event.parse_obj(payload)

@override
async def _call_api(self, bot: Bot, api: str, **data: Any) -> Optional[Union[dict, bytes]]:
async def _call_api(
self, bot: Bot, api: str, **data: Any
) -> Optional[Union[dict, bytes]]:
log("DEBUG", f"Calling API <y>{api}</y>") # 给予日志提示
api, method, platform_data = handle_data(api, **data)
if api == "send_message":
Expand Down
17 changes: 6 additions & 11 deletions nonebot/adapters/red/bot.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Any, Tuple, Union, Literal, List, Optional
from typing_extensions import override
from typing import Any, List, Tuple, Union, Literal, Optional

from nonebot.message import handle_event

Expand All @@ -9,15 +9,16 @@
from .utils import log
from .config import BotInfo
from .event import Event, MessageEvent
from .model import Group, Member, Profile
from .message import Message, MessageSegment
from .model import Profile, Group, Member


def get_peer_data(event: Event, **kwargs: Any) -> Tuple[int, str]:
if isinstance(event, MessageEvent):
return event.chatType, event.peerUin or event.peerUid
return kwargs["chatType"], kwargs["peerUin"]


class Bot(BaseBot):
"""
Red 协议 Bot 适配。
Expand Down Expand Up @@ -107,9 +108,7 @@ async def get_groups(self) -> List[Group]:
resp = await self.call_api("get_groups")
return [Group.parse_obj(data) for data in resp]

async def mute_everyone(
self, group: int, enable: bool = True
):
async def mute_everyone(self, group: int, enable: bool = True):
await self.call_api("mute_everyone", group=group, enable=enable)

async def kick(
Expand Down Expand Up @@ -173,14 +172,10 @@ async def recall_message(
msg_ids=list(ids),
)

async def recall_group_message(
self, group: int, *ids: str
):
async def recall_group_message(self, group: int, *ids: str):
await self.recall_message("group", group, *ids)

async def recall_friend_message(
self, friend: int, *ids: str
):
async def recall_friend_message(self, friend: int, *ids: str):
await self.recall_message("friend", friend, *ids)

async def get_history_messages(
Expand Down
7 changes: 3 additions & 4 deletions nonebot/adapters/red/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
from nonebot.adapters import MessageSegment as BaseMessageSegment

from .model import Element
from .utils import log, is_amr
from .config import BotInfo
from .utils import log, is_amr

if TYPE_CHECKING:
from .adapter import Adapter
Expand Down Expand Up @@ -66,7 +66,7 @@ def _audio_trans(file: str, ffmpeg: str = "ffmpeg") -> bytes:
return amr
except subprocess.CalledProcessError as e:
raise RuntimeError(
"音频转码到 amr 失败, 请确认你的 ffmpeg 可以处理此转换"
"音频转码到 amr 失败, 请确认你的 ffmpeg 可以处理此转换",
) from e
finally:
os.remove(tmpfile)
Expand Down Expand Up @@ -96,8 +96,7 @@ async def _handle_image(
return f.read()
resp = await adapter.request(
Request(
"GET",
f"https://gchat.qpic.cn/gchatpic_new/0/0-0-{data['md5'].upper()}/0"
"GET", f"https://gchat.qpic.cn/gchatpic_new/0/0-0-{data['md5'].upper()}/0"
)
)
if resp.status_code == 200:
Expand Down
2 changes: 2 additions & 0 deletions nonebot/adapters/red/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ class Profile(BaseModel):
svipFlag: bool
vipLevel: int


class Member(BaseModel):
uid: str
qid: str
Expand All @@ -306,6 +307,7 @@ class Member(BaseModel):
shutUpTime: int
isDelete: bool


class Group(BaseModel):
groupCode: str
maxMember: int
Expand Down
18 changes: 15 additions & 3 deletions nonebot/adapters/red/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ def handle_data(api: str, **data: Any) -> Tuple[str, str, Any]:
{
"type": "message::send",
"payload": {
"peer": {"chatType": data["chat_type"], "peerUin": data["target"], "guildId": None},
"peer": {
"chatType": data["chat_type"],
"peerUin": data["target"],
"guildId": None,
},
"elements": data["elements"],
},
},
Expand Down Expand Up @@ -71,15 +75,23 @@ def handle_data(api: str, **data: Any) -> Tuple[str, str, Any]:
"POST",
{
"msgIds": data["msg_ids"],
"peer": {"chatType": data["chat_type"], "peerUin": data["target"], "guildId": None}
"peer": {
"chatType": data["chat_type"],
"peerUin": data["target"],
"guildId": None,
},
},
)
if api == "get_history_messages":
return (
"message/getHistory",
"POST",
{
"peer": {"chatType": data["chat_type"], "peerUin": data["target"], "guildId": None},
"peer": {
"chatType": data["chat_type"],
"peerUin": data["target"],
"guildId": None,
},
"offsetMsgId": data["offset_msg_id"],
"count": data["count"],
},
Expand Down

0 comments on commit 745c364

Please sign in to comment.