Files
bilibili-API-collect/grpc_api/bilibili/im/interfaces/v1/im.proto
T
2022-06-24 23:50:01 +08:00

571 lines
11 KiB
Protocol Buffer

syntax = "proto3";
package bilibili.im.interfaces.v1;
import "bilibili/im/type/im.proto";
// 私信
service ImInterface {
// 发送消息
rpc SendMsg (ReqSendMsg) returns (RspSendMsg);
// 同步关系
rpc SyncRelation (ReqRelationSync) returns (RspRelationSync);
// 确认同步进度
rpc SyncAck (ReqSyncAck) returns (RspSyncAck);
// 同步版本拉取消息
rpc SyncFetchSessionMsgs (ReqSessionMsg) returns (RspSessionMsg);
// 拉取会话记录列表
rpc GetSessions (ReqGetSessions) returns (RspSessions);
// 拉取新消息
rpc NewSessions (ReqNewSessions) returns (RspSessions);
// 拉取已读消息
rpc AckSessions (ReqAckSessions) returns (RspSessions);
// 更新已读进度
rpc UpdateAck (ReqUpdateAck) returns (DummyRsp);
// 置顶聊天
rpc SetTop (ReqSetTop) returns (DummyRsp);
// 删除会话记录
rpc RemoveSession (ReqRemoveSession) returns (DummyRsp);
// 未读私信数
rpc SingleUnread (ReqSingleUnread) returns (RspSingleUnread);
// 我创建的应援团未读数
rpc MyGroupUnread (DummyReq) returns (RspMyGroupUnread);
// 未关注的人批量设置为已读
rpc UpdateUnflwRead (DummyReq) returns (DummyRsp);
// 应援团消息助手
rpc GroupAssisMsg (ReqGroupAssisMsg) returns (RspSessionMsg);
// 更新应援团小助手消息已拉取进度
rpc AckAssisMsg (ReqAckAssisMsg) returns (DummyRsp);
// 拉取会话详情
rpc SessionDetail (ReqSessionDetail) returns (bilibili.im.type.SessionInfo);
// 批量拉取会话详情
rpc BatchSessDetail (ReqSessionDetails) returns (RspSessionDetails);
// 批量删除会话
rpc BatchRmSessions (ReqBatRmSess) returns (DummyRsp);
// 拉取最近私信分享列表
rpc ShareList (ReqShareList) returns (RspShareList);
//
rpc SpecificSingleUnread (ReqSpecificSingleUnread) returns (RspSpecificSingleUnread);
//
rpc GetSpecificSessions (ReqGetSpecificSessions) returns (RspSessions);
//
rpc GetLiveInfo(ReqLiveInfo) returns (RspLiveInfo);
//
rpc GetTotalUnread(ReqTotalUnread) returns (RspTotalUnread);
//
rpc ShowClearUnreadUI(ReqShowClearUnreadUI) returns (RspShowClearUnreadUI);
//
rpc CloseClearUnreadUI(ReqCloseClearUnreadUI) returns (RspCloseClearUnreadUI);
//
rpc UpdateTotalUnread(ReqUpdateTotalUnread) returns (RspUpdateTotalUnread);
}
// 空请求
message DummyReq {
//
uint32 idl = 1;
}
// 空响应
message DummyRsp {
reserved 1;
}
// 表情资源信息
message EmotionInfo {
// 表情
string text = 1;
// 表情url
string url = 2;
// 表情大小
// 0:未知 1:min 2:max
int32 size = 3;
// gif url
string gif_url = 4;
}
//
enum ENUM_FOLD {
FOLD_NO = 0; //
FOLD_YES = 1; //
FOLD_UNKNOWN = 2; //
}
//
enum ENUM_UNREAD_TYPE{
UNREAD_TYPE_ALL = 0; //
UNREAD_TYPE_FOLLOW = 1; //
UNREAD_TYPE_UNFOLLOW = 2; //
UNREAD_TYPE_DUSTBIN = 3; //
}
//
message MsgDetail {
//
int64 msg_key = 1;
//
int64 seqno = 2;
}
//
message MsgFeedUnreadRsp {
//
map<string, int64> unread = 1;
}
// 更新应援团小助手消息已拉取进度-请求
message ReqAckAssisMsg {
//
uint64 ack_seqno = 1;
}
// 拉取已读消息-请求
message ReqAckSessions {
//
uint64 begin_ts = 1;
//
uint32 end_ts = 2;
//
uint32 size = 3;
}
// 批量删除会话-请求
message ReqBatRmSess {
}
//
message ReqCloseClearUnreadUI {
}
//
message ReqGetMsg {
//
int64 talker_id = 1;
//
int32 session_type = 2;
//
repeated MsgDetail msg_detail = 3;
}
// 拉取会话记录列表-请求
message ReqGetSessions {
//
uint64 begin_ts = 1;
//
uint64 end_ts = 2;
//
uint32 size = 3;
//
uint32 session_type = 4;
//
uint32 unfollow_fold = 5;
//
uint32 group_fold = 6;
//
uint32 sort_rule = 7;
// 青少年模式
uint32 teenager_mode = 8;
// 课堂模式
uint32 lessons_mode = 9;
}
// -请求
message ReqGetSpecificSessions {
// 具体会话详情
repeated SimpleSession talker_sessions = 1;
}
// 应援团消息助手-请求
message ReqGroupAssisMsg {
//
uint64 client_seqno = 1;
//
uint32 size = 2;
}
//
message ReqLiveInfo {
//
int64 uid = 1;
//
int64 talker_id = 2;
}
// 拉取新消息-请求
message ReqNewSessions {
//
uint64 begin_ts = 1;
//
uint32 size = 2;
//
uint32 teenager_mode = 3;
// 课堂模式
uint32 lessons_mode = 4;
}
// 同步关系-请求
message ReqRelationSync {
// 客户端当前seqno
uint64 client_relation_oplog_seqno = 1;
}
// 删除会话记录-请求
message ReqRemoveSession {
//
uint64 talker_id = 1;
//
uint32 session_type = 2;
}
// 发送消息-请求
message ReqSendMsg {
// 消息内容
bilibili.im.type.Msg msg = 1;
//
string cookie = 2;
//
string cookie2 = 3;
//
int32 error_code = 4;
//
string dev_id = 5;
}
// 拉取会话详情-请求
message ReqSessionDetail {
//
uint64 talker_id = 1;
//
uint32 session_type = 2;
//
uint64 uid = 3;
}
// 批量拉取会话详情-请求
message ReqSessionDetails {
// 会话详情请求列表
repeated ReqSessionDetail sess_ids = 1;
}
// 同步版本拉取消息-请求
message ReqSessionMsg {
//
uint64 talker_id = 1;
//
int32 session_type = 2;
//
uint64 end_seqno = 3;
//
uint64 begin_seqno = 4;
//
int32 size = 5;
//
int32 order = 6;
//
string dev_id = 7;
}
// 置顶聊天-请求
message ReqSetTop {
//
uint64 talker_id = 1;
//
uint32 session_type = 2;
//
// 0:置顶 1:取消置顶
uint32 op_type = 3;
}
// 拉取最近私信分享列表-请求
message ReqShareList {
// 分页大小 最大20
int32 size = 1;
}
//
message ReqShowClearUnreadUI {
//
int32 unread_type = 1;
//
int32 show_unfollow_list = 2;
//
int32 show_dustbin = 4;
}
// 未读私信数-请求
message ReqSingleUnread {
//
int32 unread_type = 1;
//
int32 show_unfollow_list = 2;
//
int64 uid = 3;
//
int32 show_dustbin = 4;
}
// -请求
message ReqSpecificSingleUnread {
// 具体会话详情
repeated SimpleSession talker_sessions = 1;
}
// 确认同步进度-请求
message ReqSyncAck {
//
uint64 client_seqno = 1;
}
//
message ReqTotalUnread {
//
int32 unread_type = 1;
//
int32 show_unfollow_list = 2;
//
int64 uid = 3;
//
int32 show_dustbin = 4;
//
int32 singleunread_on = 5;
//
int32 msgfeed_on = 6;
//
int32 sysup_on = 7;
}
// 更新已读进度-请求
message ReqUpdateAck {
// 聊天对象uid,可以为用户id或者为群id
uint64 talker_id = 1;
// 会话类型
uint32 session_type = 2;
// 已读的最大seqno
uint64 ack_seqno = 3;
}
//
message ReqUpdateIntercept {
//
int64 uid = 1;
//
int64 talker_id = 2;
//
int32 status = 3;
}
//
message ReqUpdateTotalUnread {
}
//
message RspCloseClearUnreadUI {
}
//
message RspGetMsg {
//
repeated bilibili.im.type.Msg msg = 1;
}
//
message RspLiveInfo {
//
int64 live_status = 1;
//
string jump_url = 2;
}
// 我创建的应援团未读数-响应
message RspMyGroupUnread {
// 未读消息数
uint32 unread_count = 1;
}
// 同步关系-响应
message RspRelationSync {
//
int32 full = 1;
// 增量日志
repeated bilibili.im.type.RelationLog relation_logs = 2;
// 全量列表
repeated bilibili.im.type.FriendRelation friend_list = 3;
// 服务器端最大的relation seqno
uint64 server_relation_oplog_seqno = 4;
// 全量列表
repeated bilibili.im.type.GroupRelation group_list = 5;
}
// 发送消息-响应
message RspSendMsg {
//
uint64 msg_key = 1;
// 表情资源信息
repeated EmotionInfo e_infos = 2;
//
string msg_content = 3;
//
bilibili.im.type.KeyHitInfos key_hit_infos = 4;
}
// 批量拉取会话详情-响应
message RspSessionDetails {
// 会话详情列表
repeated bilibili.im.type.SessionInfo sess_infos = 1;
}
// 同步版本拉取消息-响应
message RspSessionMsg {
//
repeated bilibili.im.type.Msg messages = 1;
//
int32 has_more = 2;
//
uint64 min_seqno = 3;
//
uint64 max_seqno = 4;
// 表情资源信息
repeated EmotionInfo e_infos = 5;
}
// 拉取消息-响应
message RspSessions {
//
repeated bilibili.im.type.SessionInfo session_list = 1;
//
uint32 has_more = 2;
// 标记反垃圾会话是否在清理中
bool anti_disturb_cleaning = 3;
// 当session_list为空时,会返回该字段用于判断通讯录是否为空,1表示空,0表示非空
int32 is_address_list_empty = 4;
//
map<int32, int64> system_msg = 5;
//
bool show_level = 6;
}
// 拉取最近私信分享列表-响应
message RspShareList {
// 最近会话列表
repeated ShareSessionInfo session_list = 1;
//
int32 IsAddressListEmpty = 2;
}
//
message RspShowClearUnreadUI {
//
bool display = 1;
//
string text = 2;
}
// 未读私信数-响应
message RspSingleUnread {
// 未关注用户私信数
uint64 unfollow_unread = 1;
// 已关注用户私信数
uint64 follow_unread = 2;
// 未关注人列表是否有新业务通知
uint32 unfollow_push_msg = 3;
//
int32 dustbin_push_msg = 4;
//
int64 dustbin_unread = 5;
//
int64 biz_msg_unfollow_unread = 6;
//
int64 biz_msg_follow_unread = 7;
}
// -响应
message RspSpecificSingleUnread {
// key -> 用户uid, value ->未读数
map <uint64,uint64> talkerUnreadCnt = 1;
// 总未读数
uint64 allUnreadCnt = 2;
}
// 确认同步进度-响应
message RspSyncAck {
}
//
message RspTotalUnread {
//
SessionSingleUnreadRsp session_single_unread = 1;
//
MsgFeedUnreadRsp msg_feed_unread = 2;
//
SysMsgInterfaceLastMsgRsp sys_msg_interface_last_msg = 3;
//
int32 total_unread = 4;
}
//
message RspUpdateTotalUnread {
}
//
enum SESSION_TYPE {
UNKNOWN = 0; //
UN_FOLD_SESSION = 1; //
UN_FOLLOW_SINGLE_SESSION = 2; //
MY_GROUP_SESSION = 3; //
ALL_SESSION = 4; //
DUSTBIN_SESSION = 5; //
}
//
message SessionSingleUnreadRsp {
//
int64 unfollow_unread = 1;
//
int64 follow_unread = 2;
//
int32 unfollow_push_msg = 3;
//
int32 dustbin_push_msg = 4;
//
int64 dustbin_unread = 5;
}
// 会话信息,用于私信分享
message ShareSessionInfo {
//
uint64 talker_id = 1;
//
string talker_uname = 2;
//
string talker_icon = 3;
// 认证信息
// -1: 无认证 0:个人认证 1:机构认证
int32 official_type = 4;
}
//
message SimpleSession {
// 聊天对象uid,可以为用户id或者为群id
uint64 talker_id = 1;
// 会话类型
uint32 session_type = 2;
}
//
message SysMsgInterfaceLastMsgRsp {
//
int32 unread = 1;
//
string title = 2;
//
string time = 3;
//
int64 id = 4;
}