bilibili-API-collect/grpc_api/bilibili/broadcast/message/im/notify.proto
2021-07-06 21:28:36 +08:00

100 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package bilibili.broadcast.message.im;
import "google/protobuf/empty.proto";
//
service Notify {
//
rpc WatchNotify(google.protobuf.Empty) returns (stream NotifyRsp);
}
//
enum PLType {
//
EN_PAYLOAD_NORMAL = 0;
//
EN_PAYLOAD_BASE64 = 1;
}
//
enum CmdId {
// 非法cmd
EN_CMD_ID_INVALID = 0;
// 服务端主动发起
EN_CMD_ID_MSG_NOTIFY = 1;
//
EN_CMD_ID_KICK_OUT = 2;
}
//
message NotifyRsp {
//
uint64 uid=1;
// 命令id
uint64 cmd=2;
//
bytes payload=3;
//
PLType payload_type=4;
}
//
message Msg {
// 发送方uid
uint64 sender_uid = 1;
// 接收方类型
int32 receiver_type = 2;
// 接收方id
uint64 receiver_id = 3;
// 客户端的序列id 用于服务端去重
uint64 cli_msg_id = 4;
// 消息类型
int32 msg_type = 5;
// 消息内容
string content = 6;
// 服务端的序列号
uint64 msg_seqno = 7;
// 消息发送时间(服务端时间)
uint64 timestamp = 8;
// at用户列表
repeated uint64 at_uids = 9;
// 多人消息
repeated uint64 recver_ids = 10;
// 消息唯一标示
uint64 msg_key = 11;
// 消息状态
uint32 msg_status = 12;
// 是否为系统撤销
bool sys_cancel = 13;
// 是否是多聊消息 目前群通知管理员的部分通知属于该类消息
uint32 is_multi_chat = 14;
// 表示撤回的消息的session_seqno 用以后续的比较 实现未读数的正确显示
uint64 withdraw_seqno = 15;
// 通知码
string notify_code =16;
// 消息来源
uint32 msg_source = 17;
}
//
message NotifyInfo {
//
uint32 msg_type = 1;
//
uint64 talker_id = 2;
//
uint32 session_type =3;
}
//
message ReqServerNotify {
// 最新序列号
uint64 lastest_seqno = 1;
// 即时消息 该类消息主要用于系统通知 当客户端sync msg时 不会sync到此类消息
Msg instant_msg = 2;
//
NotifyInfo notify_info = 3;
}