优化群名片
parent
747aff67b3
commit
afb0421400
|
|
@ -153,11 +153,12 @@ class NoticeHandler:
|
||||||
group_id = raw_message.get("group_id")
|
group_id = raw_message.get("group_id")
|
||||||
user_id = raw_message.get("user_id")
|
user_id = raw_message.get("user_id")
|
||||||
self_id = raw_message.get("self_id")
|
self_id = raw_message.get("self_id")
|
||||||
|
member_info = await get_member_info(self.server_connection, group_id, user_id) if user_id != 0 else None
|
||||||
|
user_cardname = member_info.get("card") if member_info else None
|
||||||
if user_id and user_id != 0:
|
if user_id and user_id != 0:
|
||||||
member_info = await get_member_info(self.server_connection, group_id, user_id)
|
user_nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
||||||
nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
|
||||||
else:
|
else:
|
||||||
nickname = "系统"
|
user_nickname = "系统"
|
||||||
if user_id == 0:
|
if user_id == 0:
|
||||||
try:
|
try:
|
||||||
member_list = await get_group_member_list(self.server_connection, group_id)
|
member_list = await get_group_member_list(self.server_connection, group_id)
|
||||||
|
|
@ -197,18 +198,19 @@ class NoticeHandler:
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
user_nickname=nickname,
|
user_nickname=user_nickname,
|
||||||
user_cardname=None,
|
user_cardname=user_cardname,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
case "group_increase":
|
case "group_increase":
|
||||||
sub_type = raw_message.get("sub_type")
|
sub_type = raw_message.get("sub_type")
|
||||||
group_id = raw_message.get("group_id")
|
group_id = raw_message.get("group_id")
|
||||||
user_id = raw_message.get("user_id")
|
user_id = raw_message.get("user_id")
|
||||||
operator_id = raw_message.get("operator_id")
|
|
||||||
self_id = raw_message.get("self_id")
|
self_id = raw_message.get("self_id")
|
||||||
member_info = await get_member_info(self.server_connection, group_id, user_id)
|
operator_id = raw_message.get("operator_id")
|
||||||
nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
member_info = await get_member_info(self.server_connection, group_id, user_id) if user_id != 0 else None
|
||||||
|
user_cardname = member_info.get("card") if member_info else None
|
||||||
|
user_nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
||||||
operator_name = "系统"
|
operator_name = "系统"
|
||||||
if operator_id and operator_id != 0:
|
if operator_id and operator_id != 0:
|
||||||
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
||||||
|
|
@ -240,18 +242,16 @@ class NoticeHandler:
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
user_nickname=nickname,
|
user_nickname=user_nickname,
|
||||||
user_cardname=None,
|
user_cardname=user_cardname,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
case "group_decrease":
|
case "group_decrease":
|
||||||
sub_type = raw_message.get("sub_type")
|
sub_type = raw_message.get("sub_type")
|
||||||
group_id = raw_message.get("group_id")
|
group_id = raw_message.get("group_id")
|
||||||
user_id = raw_message.get("user_id")
|
user_id = raw_message.get("user_id")
|
||||||
operator_id = raw_message.get("operator_id")
|
|
||||||
self_id = raw_message.get("self_id")
|
self_id = raw_message.get("self_id")
|
||||||
member_info = await get_stranger_info(self.server_connection, user_id)
|
operator_id = raw_message.get("operator_id")
|
||||||
nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
|
||||||
operator_name = "系统"
|
operator_name = "系统"
|
||||||
if operator_id and operator_id != 0:
|
if operator_id and operator_id != 0:
|
||||||
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
||||||
|
|
@ -260,7 +260,7 @@ class NoticeHandler:
|
||||||
else:
|
else:
|
||||||
operator_name = str(operator_id)
|
operator_name = str(operator_id)
|
||||||
if sub_type == "disband":
|
if sub_type == "disband":
|
||||||
nickname = operator_name
|
user_id = operator_id
|
||||||
text = "群已被解散"
|
text = "群已被解散"
|
||||||
logger.info(f"群 {group_id} 已被 {operator_id} 解散")
|
logger.info(f"群 {group_id} 已被 {operator_id} 解散")
|
||||||
elif user_id == self_id:
|
elif user_id == self_id:
|
||||||
|
|
@ -283,12 +283,15 @@ class NoticeHandler:
|
||||||
else:
|
else:
|
||||||
text = f"离开群(方式: {sub_type})"
|
text = f"离开群(方式: {sub_type})"
|
||||||
logger.info(f"群 {group_id} 用户 {user_id} {text}")
|
logger.info(f"群 {group_id} 用户 {user_id} {text}")
|
||||||
|
member_info = await get_stranger_info(self.server_connection, user_id) if user_id != 0 else None
|
||||||
|
user_cardname = member_info.get("card") if member_info else None
|
||||||
|
user_nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else "QQ用户"
|
||||||
handled_message = Seg(type="text", data=text)
|
handled_message = Seg(type="text", data=text)
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
user_nickname=nickname,
|
user_nickname=user_nickname,
|
||||||
user_cardname=None,
|
user_cardname=user_cardname,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
case "essence":
|
case "essence":
|
||||||
|
|
@ -299,19 +302,26 @@ class NoticeHandler:
|
||||||
operator_id = raw_message.get("operator_id")
|
operator_id = raw_message.get("operator_id")
|
||||||
sender_id = raw_message.get("sender_id", 0)
|
sender_id = raw_message.get("sender_id", 0)
|
||||||
user_id = raw_message.get("user_id", 0)
|
user_id = raw_message.get("user_id", 0)
|
||||||
|
member_info = await get_stranger_info(self.server_connection, user_id) if user_id != 0 else None
|
||||||
|
user_cardname = member_info.get("card") if member_info else None
|
||||||
operator_name = "系统"
|
operator_name = "系统"
|
||||||
if operator_id and operator_id != 0:
|
if operator_id and operator_id != 0:
|
||||||
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
operator_info = await get_member_info(self.server_connection, group_id, operator_id)
|
||||||
if operator_info:
|
if operator_info:
|
||||||
operator_name = (
|
operator_name = operator_info.get("nickname") or operator_info.get("card") or str(operator_id)
|
||||||
operator_info.get("nickname")
|
sender_name = "QQ用户"
|
||||||
or operator_info.get("card")
|
if sender_id != 0:
|
||||||
or str(operator_id)
|
sender_info = await get_member_info(self.server_connection, group_id, sender_id)
|
||||||
)
|
if sender_info:
|
||||||
|
sender_name = sender_info.get("nickname") or sender_info.get("card") or str(sender_id)
|
||||||
if sub_type == "add":
|
if sub_type == "add":
|
||||||
if sender_id == 0:
|
if sender_id == 0:
|
||||||
text = f"将 一条消息(ID: {message_id})设为精华"
|
if message_id:
|
||||||
logger.info(f"群 {group_id} 消息(ID: {message_id})被 {operator_id} 设为精华")
|
ID = f"(ID: {message_id})"
|
||||||
|
else:
|
||||||
|
ID = " "
|
||||||
|
text = f"将 一条消息{ID}设为精华"
|
||||||
|
logger.info(f"群 {group_id} 一条消息{ID}被 {operator_id} 设为精华")
|
||||||
else:
|
else:
|
||||||
if user_id == self_id:
|
if user_id == self_id:
|
||||||
text = f"将 {sender_name}(你)的消息设为精华"
|
text = f"将 {sender_name}(你)的消息设为精华"
|
||||||
|
|
@ -321,24 +331,23 @@ class NoticeHandler:
|
||||||
logger.info(f"群 {group_id} 用户 {sender_id} 的消息被 {operator_id} 设为精华")
|
logger.info(f"群 {group_id} 用户 {sender_id} 的消息被 {operator_id} 设为精华")
|
||||||
else:
|
else:
|
||||||
text = f"精华消息事件:{sub_type}"
|
text = f"精华消息事件:{sub_type}"
|
||||||
logger.info(f"群 {group_id} 消息(ID: {message_id})被 {operator_id} 设为精华")
|
|
||||||
handled_message = Seg(type="text", data=text)
|
handled_message = Seg(type="text", data=text)
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=operator_id,
|
user_id=operator_id,
|
||||||
user_nickname=operator_name,
|
user_nickname=operator_name,
|
||||||
user_cardname=None,
|
user_cardname=user_cardname,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
case "group_card":
|
case "group_card":
|
||||||
group_id = raw_message.get("group_id")
|
group_id = raw_message.get("group_id")
|
||||||
user_id = raw_message.get("user_id")
|
user_id = raw_message.get("user_id")
|
||||||
self_id = raw_message.get("self_id")
|
self_id = raw_message.get("self_id")
|
||||||
member_info = await get_member_info(self.server_connection, group_id, user_id)
|
member_info = await get_member_info(self.server_connection, group_id, user_id) if user_id != 0 else None
|
||||||
nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else str(user_id)
|
user_nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else str(user_id)
|
||||||
old_card = raw_message.get("card_old") or nickname
|
old_card = raw_message.get("card_old") or user_nickname
|
||||||
new_card = raw_message.get("card_new") or "(默认)"
|
new_card = raw_message.get("card_new") or "(默认)"
|
||||||
if new_card == "(默认)" or new_card == nickname:
|
if new_card == "(默认)" or new_card == user_nickname:
|
||||||
return
|
return
|
||||||
if user_id == self_id:
|
if user_id == self_id:
|
||||||
text = f"(你)群卡片被修改为:{old_card} → {new_card}"
|
text = f"(你)群卡片被修改为:{old_card} → {new_card}"
|
||||||
|
|
@ -350,7 +359,7 @@ class NoticeHandler:
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
user_nickname=nickname,
|
user_nickname=user_nickname,
|
||||||
user_cardname=new_card,
|
user_cardname=new_card,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
|
|
@ -358,8 +367,9 @@ class NoticeHandler:
|
||||||
group_id = raw_message.get("group_id")
|
group_id = raw_message.get("group_id")
|
||||||
user_id = raw_message.get("user_id")
|
user_id = raw_message.get("user_id")
|
||||||
likes = raw_message.get("likes", [])
|
likes = raw_message.get("likes", [])
|
||||||
member_info = await get_member_info(self.server_connection, group_id, user_id)
|
member_info = await get_member_info(self.server_connection, group_id, user_id) if user_id != 0 else None
|
||||||
nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else str(user_id)
|
user_cardname = member_info.get("card") if member_info else None
|
||||||
|
user_nickname = member_info.get("nickname") if member_info and member_info.get("nickname") else str(user_id)
|
||||||
emoji_list = []
|
emoji_list = []
|
||||||
for like in likes:
|
for like in likes:
|
||||||
emoji_id = str(like.get("emoji_id"))
|
emoji_id = str(like.get("emoji_id"))
|
||||||
|
|
@ -377,8 +387,8 @@ class NoticeHandler:
|
||||||
user_info = UserInfo(
|
user_info = UserInfo(
|
||||||
platform=global_config.maibot_server.platform_name,
|
platform=global_config.maibot_server.platform_name,
|
||||||
user_id=user_id,
|
user_id=user_id,
|
||||||
user_nickname=nickname,
|
user_nickname=user_nickname,
|
||||||
user_cardname=None,
|
user_cardname=user_cardname,
|
||||||
)
|
)
|
||||||
system_notice = True
|
system_notice = True
|
||||||
case _:
|
case _:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue