Skip to content

Commit

Permalink
🐛 version 0.7.2
Browse files Browse the repository at this point in the history
resolve #28
  • Loading branch information
RF-Tar-Railt committed Oct 30, 2023
1 parent d37c0c1 commit e7840c6
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 14 deletions.
2 changes: 1 addition & 1 deletion nonebot/adapters/red/__init__.py
Expand Up @@ -6,4 +6,4 @@
from .event import GroupMessageEvent as GroupMessageEvent
from .event import PrivateMessageEvent as PrivateMessageEvent

__version__ = "0.7.1"
__version__ = "0.7.2"
15 changes: 10 additions & 5 deletions nonebot/adapters/red/api/model.py
@@ -1,4 +1,5 @@
from enum import IntEnum
from datetime import datetime
from typing import Any, List, Optional

from pydantic import BaseModel
Expand Down Expand Up @@ -52,7 +53,7 @@ class MemberAdd(BaseModel):


class ShutUpTarget(BaseModel):
uid: Optional[str]
uid: str = "undefined"
card: str
name: str
role: int
Expand Down Expand Up @@ -334,10 +335,10 @@ class Message(BaseModel):
msgType: MsgType
subMsgType: int
sendType: int
senderUid: Optional[str]
senderUin: Optional[str]
peerUid: Optional[str]
peerUin: Optional[str]
senderUid: str = "undefined"
senderUin: str = "-1"
peerUid: str = "undefined"
peerUin: str = "-1"
channelId: str
guildId: str
guildCode: str
Expand Down Expand Up @@ -376,6 +377,10 @@ class Message(BaseModel):
nameType: Optional[int]
avatarFlag: Optional[int]

@property
def time(self):
return datetime.fromtimestamp(int(self.msgTime))


class Profile(BaseModel):
uid: str
Expand Down
4 changes: 2 additions & 2 deletions nonebot/adapters/red/bot.py
Expand Up @@ -488,7 +488,7 @@ async def send_fake_forward(
for node in nodes:
elems.append(await node.export(base_seq, self, int(src_peer)))
base_seq += 1
await self.call_api(
return await self.call_api(
"send_fake_forward",
chat_type=chat_type,
target=peer,
Expand All @@ -510,7 +510,7 @@ async def send_group_forward(
group: 群组 id
source_group: 伪造的消息来源群组 id
"""
await self.send_fake_forward(
return await self.send_fake_forward(
nodes,
ChatType.GROUP,
group,
Expand Down
20 changes: 14 additions & 6 deletions nonebot/adapters/red/event.py
Expand Up @@ -144,6 +144,11 @@ def get_event_description(self) -> str:
)
return escape_tag(text)

@property
def user_id(self) -> str:
"""好友的id"""
return self.peerUin or self.peerUid


class GroupMessageEvent(MessageEvent):
@override
Expand All @@ -159,6 +164,11 @@ def get_event_description(self) -> str:
)
return escape_tag(text)

@property
def group_id(self) -> str:
"""群组的id"""
return self.peerUin or self.peerUid


class NoticeEvent(Event):
msgId: str
Expand Down Expand Up @@ -286,13 +296,11 @@ def convert(cls, obj: Any):
"peerUid": obj.peerUid,
"peerUin": obj.peerUin,
}
if obj.elements[0].grayTipElement.xmlElement: # type: ignore
if not (
mat := legacy_invite_message.search(
obj.elements[0].grayTipElement.xmlElement.content
)
): # type: ignore # noqa: E501
if obj.elements[0].grayTipElement and obj.elements[0].grayTipElement.xmlElement and obj.elements[0].grayTipElement.xmlElement.content: # type: ignore # noqa: E501
# fmt: off
if not (mat := legacy_invite_message.search(obj.elements[0].grayTipElement.xmlElement.content)): # type: ignore # noqa: E501
raise ValueError("Invalid legacy invite message.")
# fmt: on
params["operatorUid"] = mat[1]
params["memberUid"] = mat[2]
else:
Expand Down
33 changes: 33 additions & 0 deletions plugins/demo.py
@@ -0,0 +1,33 @@
from nonebot import on_command
from nonebot.adapters.red import Bot
from nonebot.adapters.red.message import Message, ForwardNode, MessageSegment
from nonebot.adapters.red.event import MessageEvent
from pathlib import Path
import asyncio

matcher = on_command("test")

@matcher.handle()
async def handle_first_receive(bot: Bot, event: MessageEvent):
# print(await bot.get_friends())
# print(await bot.get_groups())

msg = await bot.send_group_message(
event.peerUin, Message(
[
MessageSegment.reply(event.msgSeq, event.msgId, event.senderUin),
MessageSegment.image(Path("C:\\Users\\TR\\Pictures\\QQ图片20210814001401.jpg"))]))
await asyncio.sleep(5)
await bot.recall_message(event.chatType, event.peerUin, msg.msgId)
# await bot.send_fake_forward(
# [
# ForwardNode(
# event.senderUid,
# event.sendNickName,
# event.peerUin,
# Message("hello")
# )
# ],
# event.chatType,
# event.peerUin,
# )

0 comments on commit e7840c6

Please sign in to comment.