internal async Task <bool> AddFriend(ulong steamID)
        {
            if (steamID == 0)
            {
                ArchiLogger.LogNullError(nameof(steamID));
                return(false);
            }

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

            CPlayer_AddFriend_Request request = new CPlayer_AddFriend_Request {
                steamid = steamID
            };

            SteamUnifiedMessages.ServiceMethodResponse response;

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

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

            return(response.Result == EResult.OK);
        }
        internal async Task <bool> AddFriend(ulong steamID)
        {
            if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount)
            {
                throw new ArgumentNullException(nameof(steamID));
            }

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

            CPlayer_AddFriend_Request request = new CPlayer_AddFriend_Request {
                steamid = steamID
            };

            SteamUnifiedMessages.ServiceMethodResponse response;

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

                return(false);
            }

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