Skip to main content

加群退群监控

2024-6-16


这个是最简单的,如果有用户加群,那么会有一条如下的信息(此为邀请加群的消息):

{'time': 1718522755, 'self_id': 2013685505, 'post_type': 'notice', 'group_id': 12345678, 'user_id': 22222222, 'notice_type': 'group_increase', 'operator_id': 77602440, 'sub_type': 'invite'}

其中notice_type == group_increase 是加群,如果notice_type == group_decrease是退群,其中group_decrease消息需机器人为管理员

然后user_id就是加群或退群人operator_id是操作人。如果是退群消息,那么sub_type有两种,一种是leave为主动退群,一种是kick为被踢出群聊,因此可以在receive_event()函数中添加以下内容:

	elif data['post_type'] == 'notice':
if data['notice_type'] == 'group_increase':
group_id = data['group_id']
user_id = data['user_id']
send_group_message(group_id, f"欢迎新成员 [CQ:at,qq={user_id}] 加入群聊!")
elif data['notice_type'] == 'group_decrease':
group_id = data['group_id']
user_id = data['user_id']
sub_type = data['sub_type']
if sub_type == 'leave':
send_group_message(group_id, f"成员 [CQ:at,qq={user_id}] 已主动退出群聊。")
elif sub_type == 'kick':
operator_id = data['operator_id']
send_group_message(group_id, f"成员 [CQ:at,qq={user_id}] 被管理员 [CQ:at,qq={operator_id}] 踢出群聊。")