Пример #1
0
        /// <summary>
        /// 向某用户的客户端推送指令信息
        /// </summary>
        /// <param name="p_userID"></param>
        /// <param name="p_msg"></param>
        /// <returns>true 在线推送</returns>
        public async Task <bool> SendCmd(long p_userID, MsgInfo p_msg)
        {
            var result = await MsgKit.Push(new List <long> {
                p_userID
            }, p_msg);

            return(result.Count > 0);
        }
Пример #2
0
        /// <summary>
        /// 向某用户的客户端推送聊天信息,可通过指定LetterInfo.LetterType为Undo撤回信息
        /// </summary>
        /// <param name="p_userID">目标用户</param>
        /// <param name="p_letter">聊天信息</param>
        /// <returns>true 在线推送</returns>
        public async Task <bool> SendLetter(long p_userID, LetterInfo p_letter)
        {
            var result = await MsgKit.Push(new List <long> {
                p_userID
            }, WrapperLetter(p_letter));

            return(result.Count > 0);
        }
Пример #3
0
        /// <summary>
        /// 向某用户的客户端推送系统消息
        /// </summary>
        /// <param name="p_userID"></param>
        /// <param name="p_msg"></param>
        /// <returns>true 在线推送</returns>
        public async Task <bool> SendMsg(long p_userID, string p_msg)
        {
            var result = await MsgKit.Push(new List <long> {
                p_userID
            }, WrapperMsg(p_msg));

            return(result.Count > 0);
        }
Пример #4
0
        /// <summary>
        /// 发布订阅信息
        /// </summary>
        /// <param name="p_subscribeID">订阅号标识</param>
        /// <param name="p_msg">信息内容</param>
        /// <param name="p_offlineTip">离线推送时的提示信息</param>
        /// <returns>在线收到的人数</returns>
        public async Task <int> Publish(long p_subscribeID, string p_msg, string p_offlineTip)
        {
            string      key   = "msg:Subscribe:" + p_subscribeID.ToString();
            List <long> users = await Kit.ListRange <long>("msg:Subscribe", p_subscribeID);

            if (users == null || users.Count == 0)
            {
                return(0);
            }

            var mi = new MsgInfo
            {
                MethodName = "",
                Params     = new List <object> {
                    p_subscribeID, p_msg
                },
                Title   = "订阅信息",
                Content = p_offlineTip
            };
            var result = await MsgKit.Push(users, mi);

            return(result.Count);
        }
Пример #5
0
 /// <summary>
 /// 向用户列表的所有客户端推送指令信息
 /// </summary>
 /// <param name="p_userIDs">用户列表</param>
 /// <param name="p_msg">待推送信息</param>
 /// <returns>在线推送列表</returns>
 public Task <List <long> > BatchSendCmd(List <long> p_userIDs, MsgInfo p_msg)
 {
     return(MsgKit.Push(p_userIDs, p_msg));
 }
Пример #6
0
 /// <summary>
 /// 向用户列表的所有客户端推送聊天信息,可通过指定LetterInfo.LetterType为Undo撤回信息
 /// </summary>
 /// <param name="p_userIDs">用户列表</param>
 /// <param name="p_letter">聊天信息</param>
 /// <returns>在线推送列表</returns>
 public Task <List <long> > BatchSendLetter(List <long> p_userIDs, LetterInfo p_letter)
 {
     return(MsgKit.Push(p_userIDs, WrapperLetter(p_letter)));
 }
Пример #7
0
 /// <summary>
 /// 向用户列表的所有客户端推送系统消息
 /// </summary>
 /// <param name="p_userIDs">用户列表</param>
 /// <param name="p_msg">待推送信息</param>
 /// <returns>在线推送列表</returns>
 public Task <List <long> > BatchSendMsg(List <long> p_userIDs, string p_msg)
 {
     return(MsgKit.Push(p_userIDs, WrapperMsg(p_msg)));
 }