syntax = "proto2";

package youtube.api.v3;

service V3DataLiveChatMessageService {
  rpc StreamList(LiveChatMessageListRequest) returns (stream LiveChatMessageListResponse) {}
}

message LiveChatMessageListRequest {
  optional string live_chat_id = 1;
  optional string hl = 2;
  optional uint32 profile_image_size = 3;
  optional uint32 max_results = 98;
  optional string page_token = 99;
  repeated string part = 100;
}

message LiveChatMessageListResponse {
  optional string kind = 200;
  optional string etag = 201;
  optional string offline_at = 2;
  optional string next_page_token = 100602;
  repeated LiveChatMessage items = 1007;
  optional LiveChatMessage active_poll_item = 1008;
}

message LiveChatMessage {
  optional string kind = 200;
  optional string etag = 201;
  optional string id = 101;
  optional LiveChatMessageSnippet snippet = 2;
  optional LiveChatMessageAuthorDetails author_details = 3;
}

message LiveChatMessageAuthorDetails {
  optional string channel_id = 10101;
  optional string channel_url = 102;
  optional string display_name = 103;
  optional string profile_image_url = 104;
  optional bool is_verified = 4;
  optional bool is_chat_owner = 5;
  optional bool is_chat_sponsor = 6;
  optional bool is_chat_moderator = 7;
}

message LiveChatMessageSnippet {
  optional string display_message = 16;
}
