# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from bilireq.grpc.protos.bilibili.im.interfaces.v1 import im_pb2 as bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2
from bilireq.grpc.protos.bilibili.im.type import im_pb2 as bilibili_dot_im_dot_type_dot_im__pb2


class ImInterfaceStub(object):
    """私信
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.SendMsg = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SendMsg',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSendMsg.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSendMsg.FromString,
                )
        self.SyncRelation = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SyncRelation',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRelationSync.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspRelationSync.FromString,
                )
        self.SyncAck = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SyncAck',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSyncAck.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSyncAck.FromString,
                )
        self.SyncFetchSessionMsgs = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SyncFetchSessionMsgs',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionMsg.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.FromString,
                )
        self.GetSessions = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/GetSessions',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSessions.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
                )
        self.NewSessions = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/NewSessions',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqNewSessions.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
                )
        self.AckSessions = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/AckSessions',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckSessions.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
                )
        self.UpdateAck = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/UpdateAck',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateAck.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.SetTop = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SetTop',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSetTop.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.RemoveSession = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/RemoveSession',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRemoveSession.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.SingleUnread = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SingleUnread',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSingleUnread.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSingleUnread.FromString,
                )
        self.MyGroupUnread = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/MyGroupUnread',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspMyGroupUnread.FromString,
                )
        self.UpdateUnflwRead = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/UpdateUnflwRead',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.GroupAssisMsg = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/GroupAssisMsg',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGroupAssisMsg.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.FromString,
                )
        self.AckAssisMsg = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/AckAssisMsg',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckAssisMsg.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.SessionDetail = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SessionDetail',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetail.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_type_dot_im__pb2.SessionInfo.FromString,
                )
        self.BatchSessDetail = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/BatchSessDetail',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetails.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionDetails.FromString,
                )
        self.BatchRmSessions = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/BatchRmSessions',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqBatRmSess.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
                )
        self.ShareList = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/ShareList',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShareList.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShareList.FromString,
                )
        self.SpecificSingleUnread = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/SpecificSingleUnread',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSpecificSingleUnread.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSpecificSingleUnread.FromString,
                )
        self.GetSpecificSessions = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/GetSpecificSessions',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSpecificSessions.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
                )
        self.GetLiveInfo = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/GetLiveInfo',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqLiveInfo.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspLiveInfo.FromString,
                )
        self.GetTotalUnread = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/GetTotalUnread',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqTotalUnread.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspTotalUnread.FromString,
                )
        self.ShowClearUnreadUI = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/ShowClearUnreadUI',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShowClearUnreadUI.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShowClearUnreadUI.FromString,
                )
        self.CloseClearUnreadUI = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/CloseClearUnreadUI',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqCloseClearUnreadUI.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspCloseClearUnreadUI.FromString,
                )
        self.UpdateTotalUnread = channel.unary_unary(
                '/bilibili.im.interfaces.v1.ImInterface/UpdateTotalUnread',
                request_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateTotalUnread.SerializeToString,
                response_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspUpdateTotalUnread.FromString,
                )


class ImInterfaceServicer(object):
    """私信
    """

    def SendMsg(self, request, context):
        """发送消息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SyncRelation(self, request, context):
        """同步关系
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SyncAck(self, request, context):
        """确认同步进度
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SyncFetchSessionMsgs(self, request, context):
        """同步版本拉取消息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSessions(self, request, context):
        """拉取会话记录列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NewSessions(self, request, context):
        """拉取新消息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AckSessions(self, request, context):
        """拉取已读消息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateAck(self, request, context):
        """更新已读进度
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetTop(self, request, context):
        """置顶聊天
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveSession(self, request, context):
        """删除会话记录
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SingleUnread(self, request, context):
        """未读私信数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MyGroupUnread(self, request, context):
        """我创建的应援团未读数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateUnflwRead(self, request, context):
        """未关注的人批量设置为已读
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GroupAssisMsg(self, request, context):
        """应援团消息助手
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AckAssisMsg(self, request, context):
        """更新应援团小助手消息已拉取进度
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SessionDetail(self, request, context):
        """拉取会话详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchSessDetail(self, request, context):
        """批量拉取会话详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchRmSessions(self, request, context):
        """批量删除会话
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ShareList(self, request, context):
        """拉取最近私信分享列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SpecificSingleUnread(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSpecificSessions(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLiveInfo(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTotalUnread(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ShowClearUnreadUI(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CloseClearUnreadUI(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateTotalUnread(self, request, context):
        """
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ImInterfaceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'SendMsg': grpc.unary_unary_rpc_method_handler(
                    servicer.SendMsg,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSendMsg.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSendMsg.SerializeToString,
            ),
            'SyncRelation': grpc.unary_unary_rpc_method_handler(
                    servicer.SyncRelation,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRelationSync.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspRelationSync.SerializeToString,
            ),
            'SyncAck': grpc.unary_unary_rpc_method_handler(
                    servicer.SyncAck,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSyncAck.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSyncAck.SerializeToString,
            ),
            'SyncFetchSessionMsgs': grpc.unary_unary_rpc_method_handler(
                    servicer.SyncFetchSessionMsgs,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionMsg.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.SerializeToString,
            ),
            'GetSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSessions,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSessions.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.SerializeToString,
            ),
            'NewSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.NewSessions,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqNewSessions.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.SerializeToString,
            ),
            'AckSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.AckSessions,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckSessions.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.SerializeToString,
            ),
            'UpdateAck': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateAck,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateAck.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'SetTop': grpc.unary_unary_rpc_method_handler(
                    servicer.SetTop,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSetTop.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'RemoveSession': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveSession,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRemoveSession.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'SingleUnread': grpc.unary_unary_rpc_method_handler(
                    servicer.SingleUnread,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSingleUnread.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSingleUnread.SerializeToString,
            ),
            'MyGroupUnread': grpc.unary_unary_rpc_method_handler(
                    servicer.MyGroupUnread,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspMyGroupUnread.SerializeToString,
            ),
            'UpdateUnflwRead': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateUnflwRead,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'GroupAssisMsg': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupAssisMsg,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGroupAssisMsg.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.SerializeToString,
            ),
            'AckAssisMsg': grpc.unary_unary_rpc_method_handler(
                    servicer.AckAssisMsg,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckAssisMsg.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'SessionDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.SessionDetail,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetail.FromString,
                    response_serializer=bilibili_dot_im_dot_type_dot_im__pb2.SessionInfo.SerializeToString,
            ),
            'BatchSessDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchSessDetail,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetails.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionDetails.SerializeToString,
            ),
            'BatchRmSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchRmSessions,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqBatRmSess.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.SerializeToString,
            ),
            'ShareList': grpc.unary_unary_rpc_method_handler(
                    servicer.ShareList,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShareList.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShareList.SerializeToString,
            ),
            'SpecificSingleUnread': grpc.unary_unary_rpc_method_handler(
                    servicer.SpecificSingleUnread,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSpecificSingleUnread.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSpecificSingleUnread.SerializeToString,
            ),
            'GetSpecificSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSpecificSessions,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSpecificSessions.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.SerializeToString,
            ),
            'GetLiveInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLiveInfo,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqLiveInfo.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspLiveInfo.SerializeToString,
            ),
            'GetTotalUnread': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTotalUnread,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqTotalUnread.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspTotalUnread.SerializeToString,
            ),
            'ShowClearUnreadUI': grpc.unary_unary_rpc_method_handler(
                    servicer.ShowClearUnreadUI,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShowClearUnreadUI.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShowClearUnreadUI.SerializeToString,
            ),
            'CloseClearUnreadUI': grpc.unary_unary_rpc_method_handler(
                    servicer.CloseClearUnreadUI,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqCloseClearUnreadUI.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspCloseClearUnreadUI.SerializeToString,
            ),
            'UpdateTotalUnread': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateTotalUnread,
                    request_deserializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateTotalUnread.FromString,
                    response_serializer=bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspUpdateTotalUnread.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'bilibili.im.interfaces.v1.ImInterface', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class ImInterface(object):
    """私信
    """

    @staticmethod
    def SendMsg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SendMsg',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSendMsg.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSendMsg.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SyncRelation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SyncRelation',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRelationSync.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspRelationSync.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SyncAck(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SyncAck',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSyncAck.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSyncAck.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SyncFetchSessionMsgs(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SyncFetchSessionMsgs',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionMsg.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/GetSessions',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSessions.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NewSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/NewSessions',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqNewSessions.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AckSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/AckSessions',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckSessions.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateAck(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/UpdateAck',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateAck.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetTop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SetTop',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSetTop.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveSession(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/RemoveSession',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqRemoveSession.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SingleUnread(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SingleUnread',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSingleUnread.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSingleUnread.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MyGroupUnread(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/MyGroupUnread',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspMyGroupUnread.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateUnflwRead(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/UpdateUnflwRead',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyReq.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GroupAssisMsg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/GroupAssisMsg',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGroupAssisMsg.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionMsg.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AckAssisMsg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/AckAssisMsg',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqAckAssisMsg.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SessionDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SessionDetail',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetail.SerializeToString,
            bilibili_dot_im_dot_type_dot_im__pb2.SessionInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchSessDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/BatchSessDetail',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSessionDetails.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessionDetails.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchRmSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/BatchRmSessions',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqBatRmSess.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.DummyRsp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShareList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/ShareList',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShareList.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShareList.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SpecificSingleUnread(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/SpecificSingleUnread',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqSpecificSingleUnread.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSpecificSingleUnread.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSpecificSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/GetSpecificSessions',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqGetSpecificSessions.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspSessions.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLiveInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/GetLiveInfo',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqLiveInfo.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspLiveInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTotalUnread(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/GetTotalUnread',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqTotalUnread.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspTotalUnread.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShowClearUnreadUI(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/ShowClearUnreadUI',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqShowClearUnreadUI.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspShowClearUnreadUI.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloseClearUnreadUI(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/CloseClearUnreadUI',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqCloseClearUnreadUI.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspCloseClearUnreadUI.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateTotalUnread(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/bilibili.im.interfaces.v1.ImInterface/UpdateTotalUnread',
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.ReqUpdateTotalUnread.SerializeToString,
            bilibili_dot_im_dot_interfaces_dot_v1_dot_im__pb2.RspUpdateTotalUnread.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
