简化内容。
This commit is contained in:
@@ -156,8 +156,7 @@ class GroupMemberChangePlugin(MessagePluginInterface):
|
||||
# 处理退群成员
|
||||
for wxid in left_members:
|
||||
nickname = previous_members[wxid]
|
||||
member_info = self._get_member_info(wxid, nickname)
|
||||
self._send_leave_notification(group_id, member_info)
|
||||
self._send_leave_notification(group_id, wxid, nickname)
|
||||
|
||||
# 处理新加入成员
|
||||
for wxid in joined_members:
|
||||
@@ -170,63 +169,17 @@ class GroupMemberChangePlugin(MessagePluginInterface):
|
||||
except Exception as e:
|
||||
self.LOG.error(f"检查群 {group_id} 成员变化时发生错误: {e}", exc_info=True)
|
||||
|
||||
def _get_member_info(self, wxid: str, nickname: str) -> Dict[str, str]:
|
||||
"""获取成员详细信息"""
|
||||
try:
|
||||
# 尝试获取成员详细信息
|
||||
member_info = {
|
||||
"wxid": wxid,
|
||||
"nickname": nickname,
|
||||
"remark": "",
|
||||
"gender": "未知",
|
||||
"region": "未知"
|
||||
}
|
||||
|
||||
# 尝试获取用户详情
|
||||
user_info = self.wcf.get_user_info(wxid)
|
||||
if user_info:
|
||||
member_info["remark"] = user_info.get("remark", "")
|
||||
|
||||
# 性别转换
|
||||
gender_code = user_info.get("gender", 0)
|
||||
if gender_code == 1:
|
||||
member_info["gender"] = "男"
|
||||
elif gender_code == 2:
|
||||
member_info["gender"] = "女"
|
||||
|
||||
# 地区信息
|
||||
country = user_info.get("country", "")
|
||||
province = user_info.get("province", "")
|
||||
city = user_info.get("city", "")
|
||||
if country or province or city:
|
||||
member_info["region"] = f"{country} {province} {city}".strip()
|
||||
|
||||
return member_info
|
||||
|
||||
except Exception as e:
|
||||
self.LOG.error(f"获取成员 {wxid} 信息时发生错误: {e}")
|
||||
return {
|
||||
"wxid": wxid,
|
||||
"nickname": nickname,
|
||||
"remark": "",
|
||||
"gender": "未知",
|
||||
"region": "未知"
|
||||
}
|
||||
|
||||
def _send_leave_notification(self, group_id: str, member_info: Dict[str, str]):
|
||||
def _send_leave_notification(self, group_id: str, wxid: str, nickname: str):
|
||||
"""发送成员退群通知"""
|
||||
now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
message = f"""【退群提醒】
|
||||
用户: {member_info['nickname']} ({member_info['gender']})
|
||||
群备注: {member_info['remark']}
|
||||
微信号: {member_info['wxid']}
|
||||
地区: {member_info['region']}
|
||||
退群时间: {now_time}
|
||||
用户: {nickname}
|
||||
微信号: {wxid}
|
||||
退群时间: {now_time}
|
||||
"""
|
||||
|
||||
self.wcf.send_text(message, group_id)
|
||||
self.LOG.info(f"已发送退群通知: {member_info['nickname']} 退出群 {group_id}")
|
||||
self.LOG.info(f"已发送退群通知: {nickname} 退出群 {group_id}")
|
||||
|
||||
@property
|
||||
def commands(self) -> List[str]:
|
||||
|
||||
Reference in New Issue
Block a user