syntax = "proto3";
package wechaty.puppet;

option go_package="github.com/wechaty/go-grpc/wechaty/puppet";
option java_package="io.github.wechaty.grpc.puppet";
option csharp_namespace = "github.wechaty.grpc.puppet";

enum RoomMemberJoinSceneType { // 类型枚举
  ROOM_MEMBER_JOIN_SCENE_TYPE_UNKNOWN     = 0;
  ROOM_MEMBER_JOIN_SCENE_TYPE_ADD         = 1;
  ROOM_MEMBER_JOIN_SCENE_TYPE_INVITE_LINK = 2;
  ROOM_MEMBER_JOIN_SCENE_TYPE_QRCODE      = 3;
  ROOM_MEMBER_JOIN_SCENE_TYPE_OTHER       = 4;
}

message RoomMemberPayloadRequest {
  string id = 1;
  string member_id = 2;
}

message RoomMemberPayloadResponse {
  string id                          = 1;
  string room_alias                  = 2; // 联系人在群内的别名（群备注）
  string inviter_id                  = 3; // 邀请者id
  string avatar                      = 4; // 头像
  string name                        = 5; // 名称
  string additional_info             = 6;
  double join_time                   = 7;
  RoomMemberJoinSceneType join_scene = 8;
}

message RoomMemberListRequest {
  string id = 1;
}

message RoomMemberListResponse {
  repeated string member_ids = 1;
}

message BatchRoomMemberPayloadRequest {
  string id = 1;
  repeated string member_ids = 2;
}

message BatchRoomMemberPayloadResponse {
  repeated RoomMemberPayloadResponse member_payloads = 1;
}
