Ejemplo n.º 1
0
        internal async Task <bool> JoinChatRoomGroup(ulong chatGroupID)
        {
            if (chatGroupID == 0)
            {
                ArchiLogger.LogNullError(nameof(chatGroupID));
                return(false);
            }

            if (!Client.IsConnected)
            {
                return(false);
            }

            CChatRoom_JoinChatRoomGroup_Request request = new CChatRoom_JoinChatRoomGroup_Request {
                chat_group_id = chatGroupID
            };

            SteamUnifiedMessages.ServiceMethodResponse response;

            try {
                response = await UnifiedChatRoomService.SendMessage(x => x.JoinChatRoomGroup(request));
            } catch (Exception e) {
                ArchiLogger.LogGenericWarningException(e);
                return(false);
            }

            if (response == null)
            {
                ArchiLogger.LogNullError(nameof(response));
                return(false);
            }

            return(response.Result == EResult.OK);
        }
Ejemplo n.º 2
0
        internal async Task <bool> JoinChatRoomGroup(ulong chatGroupID)
        {
            if (chatGroupID == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(chatGroupID));
            }

            if (Client == null)
            {
                throw new InvalidOperationException(nameof(Client));
            }

            if (!Client.IsConnected)
            {
                return(false);
            }

            CChatRoom_JoinChatRoomGroup_Request request = new CChatRoom_JoinChatRoomGroup_Request {
                chat_group_id = chatGroupID
            };

            SteamUnifiedMessages.ServiceMethodResponse response;

            try {
                response = await UnifiedChatRoomService.SendMessage(x => x.JoinChatRoomGroup(request)).ToLongRunningTask().ConfigureAwait(false);
            } catch (Exception e) {
                ArchiLogger.LogGenericWarningException(e);

                return(false);
            }

            return(response.Result == EResult.OK);
        }