🎨: clean codes

This commit is contained in:
Soulter
2024-04-21 22:20:23 +08:00
parent 03bb932f8f
commit f66091e08f
22 changed files with 671 additions and 479 deletions

View File

@@ -10,9 +10,11 @@ from typing import List, Union
import time
# QQ官方消息类型转换
def qq_official_message_parse(message: List[BaseMessageComponent]):
plain_text = ""
image_path = None # only one img supported
image_path = None # only one img supported
for i in message:
if isinstance(i, Plain):
plain_text += i.text
@@ -24,6 +26,8 @@ def qq_official_message_parse(message: List[BaseMessageComponent]):
return plain_text, image_path
# QQ官方消息类型 2 AstrBotMessage
def qq_official_message_parse_rev(message: Union[botpy.message.Message, botpy.message.GroupMessage],
message_type: MessageType) -> AstrBotMessage:
abm = AstrBotMessage()
@@ -33,7 +37,7 @@ def qq_official_message_parse_rev(message: Union[botpy.message.Message, botpy.me
abm.message_id = message.id
abm.tag = "qqchan"
msg: List[BaseMessageComponent] = []
if message_type == MessageType.GROUP_MESSAGE:
abm.sender = MessageMember(
message.author.member_openid,
@@ -41,7 +45,7 @@ def qq_official_message_parse_rev(message: Union[botpy.message.Message, botpy.me
)
abm.message_str = message.content.strip()
abm.self_id = "unknown_selfid"
msg.append(Plain(abm.message_str))
if message.attachments:
for i in message.attachments:
@@ -52,15 +56,16 @@ def qq_official_message_parse_rev(message: Union[botpy.message.Message, botpy.me
img = Image.fromURL(url)
msg.append(img)
abm.message = msg
elif message_type == MessageType.GUILD_MESSAGE or message_type == MessageType.FRIEND_MESSAGE:
# 目前对于 FRIEND_MESSAGE 只处理频道私聊
try:
abm.self_id = str(message.mentions[0].id)
except:
abm.self_id = ""
plain_content = message.content.replace("<@!"+str(abm.self_id)+">", "").strip()
plain_content = message.content.replace(
"<@!"+str(abm.self_id)+">", "").strip()
msg.append(Plain(plain_content))
if message.attachments:
for i in message.attachments:
@@ -80,19 +85,20 @@ def qq_official_message_parse_rev(message: Union[botpy.message.Message, botpy.me
raise ValueError(f"Unknown message type: {message_type}")
return abm
def nakuru_message_parse_rev(message: Union[GuildMessage, GroupMessage, FriendMessage]) -> AstrBotMessage:
abm = AstrBotMessage()
abm.type = MessageType(message.type)
abm.timestamp = int(time.time())
abm.raw_message = message
abm.message_id = message.message_id
plain_content = ""
for i in message.message:
if isinstance(i, Plain):
plain_content += i.text
abm.message_str = plain_content
abm.self_id = str(message.self_id)
abm.sender = MessageMember(
str(message.sender.user_id),
@@ -100,5 +106,5 @@ def nakuru_message_parse_rev(message: Union[GuildMessage, GroupMessage, FriendMe
)
abm.tag = "gocq"
abm.message = message.message
return abm
return abm