Esempio n. 1
0
        /// <summary>
        /// 获取群消息未读成员列表
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="msg"></param>
        /// <param name="cb"></param>
        public static void QueryMsgUnreadList(string tid, NIMIMMessage msg, TeamChangedNotificationDelegate cb)
        {
            var ptr     = NimUtility.DelegateConverter.ConvertToIntPtr(cb);
            var msgJson = msg.Serialize();

            TeamNativeMethods.nim_team_msg_query_unread_list(tid, msgJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 2
0
        /// <summary>
        /// 修改其他成员的群昵称
        /// </summary>
        /// <param name="info"></param>
        /// <param name="action"></param>
        public static void UpdateMemberNickName(NIMTeamMemberInfo info, TeamChangedNotificationDelegate action)
        {
            var infoJson = info.Serialize();
            var ptr      = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_update_other_nick_async(infoJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 3
0
        /// <summary>
        /// 发送群消息已读回执
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="msgs"></param>
        /// <param name="cb"></param>
        public static void MsgAckRead(string tid, List <NIMIMMessage> msgs, TeamChangedNotificationDelegate cb)
        {
            var ptr     = NimUtility.DelegateConverter.ConvertToIntPtr(cb);
            var msgJson = NimUtility.Json.JsonParser.Serialize(msgs);

            TeamNativeMethods.nim_team_msg_ack_read(tid, msgJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 4
0
        /// <summary>
        /// 删除群管理员
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="managerIdArray"></param>
        /// <param name="action"></param>
        public static void RemoveTeamManagers(string tid, string[] managerIdArray, TeamChangedNotificationDelegate action)
        {
            var ptr          = NimUtility.DelegateConverter.ConvertToIntPtr(action);
            var managersJson = NimUtility.Json.JsonParser.Serialize(managerIdArray);

            TeamNativeMethods.nim_team_remove_managers_async(tid, managersJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 5
0
        /// <summary>
        /// 更新群信息
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="info"></param>
        /// <param name="action"></param>
        public static void UpdateTeamInfo(string tid, NIMTeamInfo info, TeamChangedNotificationDelegate action)
        {
            var ptr      = NimUtility.DelegateConverter.ConvertToIntPtr(action);
            var infoJson = info.Serialize();

            TeamNativeMethods.nim_team_update_team_info_async(tid, infoJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 6
0
        /// <summary>
        /// 将用户踢下线
        /// </summary>
        /// <param name="tid">群id</param>
        /// <param name="idList">被踢用户id 列表</param>
        /// <param name="action"></param>
        public static void KickMemberOutFromTeam(string tid, string[] idList, TeamChangedNotificationDelegate action)
        {
            var idJson = NimUtility.Json.JsonParser.Serialize(idList);
            var ptr    = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_kick_async(tid, idJson, null, _teamChangedCallback, ptr);
        }
Esempio n. 7
0
        /// <summary>
        /// 邀请好友入群
        /// </summary>
        /// <param name="tid">群id</param>
        /// <param name="idList">被邀请人员id列表</param>
        /// <param name="postscript">邀请附言</param>
        /// <param name="action">操作结果回调</param>
        public static void Invite(string tid, string[] idList, string postscript, TeamChangedNotificationDelegate action)
        {
            var idJson = NimUtility.Json.JsonParser.Serialize(idList);
            var ptr    = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_invite_async(tid, idJson, postscript, null, _teamChangedCallback, ptr);
        }
Esempio n. 8
0
        /// <summary>
        /// 对群禁言/解除禁言
        /// </summary>
        /// <param name="tid">群组ID</param>
        /// <param name="value">禁言(true)或解除禁言(false)</param>
        /// <param name="cb">操作结果回调</param>
        public static void MuteTeam(string tid, bool value, TeamChangedNotificationDelegate cb)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            TeamNativeMethods.nim_team_mute_async(tid, value, null, _teamChangedCallback, ptr);
        }
Esempio n. 9
0
        public static void SetMemberMuted(string tid, string memberId, bool muted, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_mute_member_async(tid, memberId, muted, null, _teamChangedCallback, ptr);
        }
Esempio n. 10
0
        /// <summary>
        /// 在线查询群信息
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="action"></param>
        public static void QueryTeamInfoOnline(string tid, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_query_team_info_online_async(tid, null, _teamChangedCallback, ptr);
        }
Esempio n. 11
0
        /// <summary>
        /// 拒绝入群邀请
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="invitor"></param>
        /// <param name="reason"></param>
        /// <param name="action"></param>
        public static void RejectTeamInvitation(string tid, string invitor, string reason, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_reject_invitation_async(tid, invitor, reason, null, _teamChangedCallback, ptr);
        }
Esempio n. 12
0
        /// <summary>
        /// 移交群主
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="newOwnerId"></param>
        /// <param name="leaveTeam">是否在移交后退出群</param>
        /// <param name="action"></param>
        public static void TransferTeamAdmin(string tid, string newOwnerId, bool leaveTeam, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_transfer_team_async(tid, newOwnerId, leaveTeam, null, _teamChangedCallback, ptr);
        }
Esempio n. 13
0
        /// <summary>
        /// 拒绝入群申请
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="uid"></param>
        /// <param name="reason"></param>
        /// <param name="action"></param>
        public static void RejectJoinTeamApplication(string tid, string uid, string reason, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_reject_join_apply_async(tid, uid, reason, null, _teamChangedCallback, ptr);
        }
Esempio n. 14
0
        /// <summary>
        /// 解散群组
        /// </summary>
        /// <param name="tid">群id</param>
        /// <param name="action">操作结果回调函数</param>
        public static void DismissTeam(string tid, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_dismiss_async(tid, null, _teamChangedCallback, ptr);
        }
Esempio n. 15
0
        /// <summary>
        /// 创建群
        /// </summary>
        /// <param name="teamInfo">群组信息</param>
        /// <param name="idList">成员id列表(不包括自己)</param>
        /// <param name="postscript">附言</param>
        /// <param name="action"></param>
        public static void CreateTeam(NIMTeamInfo teamInfo, string[] idList, string postscript, TeamChangedNotificationDelegate action)
        {
            var tinfoJson = teamInfo.Serialize();
            var idJson    = NimUtility.Json.JsonParser.Serialize(idList);
            var ptr       = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_create_team_async(tinfoJson, idJson, postscript, null, _teamChangedCallback, ptr);
        }
Esempio n. 16
0
        /// <summary>
        /// 申请入群
        /// </summary>
        /// <param name="tid"></param>
        /// <param name="reason"></param>
        /// <param name="action"></param>
        public static void ApplyForJoiningTeam(string tid, string reason, TeamChangedNotificationDelegate action)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action);

            TeamNativeMethods.nim_team_apply_join_async(tid, reason, null, TeamChangedCallback, ptr);
        }