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";

message ChannelPayload {
  string avatar    = 1; // 头像
  string cover_url = 2; // 封面地址
  string desc      = 3; // 描述
  string extras    = 4; // 额外信息，暂不明确含义，但传错会导致无法发出（红色感叹号）。应根据收到的视频号的extras字段填入。
  ChannelFeedType feed_type = 5; // 暂不明确含义，目前请固定传4
  string nickname  = 6; // 用户名
  string thumb_url = 7; // 缩略图地址
  string url       = 8; // 视频号地址

  // 视频号直播专属
  string object_id = 9;
  string object_nonce_id = 10;

  // 个微（phoenix）转发视频号所需补充字段，来自接收视频号的 appmsg.finderFeed
  string username = 11;                  // 视频号 finder userName
  int32  auth_icon_type = 12;            // 认证类型
  string auth_icon_url = 13;             // 授权图标地址
  string from_user_name = 14;            // 视频号转发自好友 userName
  repeated ChannelMedia media_list = 15; // 媒体资源列表（图片类视频号可多条）
}

// 视频号媒体资源，对应接收视频号 finderFeed.mediaList.media
message ChannelMedia {
  int32  media_type = 1;          // 资源类型 2:图片 4:视频
  string url = 2;                 // 原始媒体流地址
  string thumb_url = 3;           // 视频第一帧缩略图地址
  string full_cover_url = 4;      // 封面缩略图地址
  string cover_url = 5;           // 封面地址
  int32  width = 6;               // 缩略图宽度，默认 1080
  int32  height = 7;              // 缩略图高度，默认 1920
  int32  video_play_duration = 8; // 视频播放时长（秒）
}

enum ChannelFeedType {
  CHANNEL_FEED_TYPE_UNKNOWN = 0;
  CHANNEL_FEED_TYPE_PHOTO = 2;
  CHANNEL_FEED_TYPE_VIDEO = 4;
  CHANNEL_FEED_TYPE_LIVE = 9;
}
