Ejemplo n.º 1
0
        public async Task GetUpdates()
        {
            var client = await InitializeAndAuthenticateClient();

            var updatesStateRequest = new GetUpdatesStateRequest();
            await client.SendRpcRequest(updatesStateRequest);

            var initialState = (UpdatesStateConstructor)updatesStateRequest.updatesState;

            var request = new GetUpdatesDifferenceRequest(initialState.pts, initialState.date, initialState.qts);
            await client.SendRpcRequest(request);

            Assert.IsNotNull(request.updatesDifference);
            Assert.AreEqual(request.updatesDifference.constructor, Constructor.UpdatesDifferenceEmpty);

            var importedUser = await ImportAndGetUser(client, numberToSendMessage);

            await client.SendDirectMessage(importedUser.userId, "test");

            var differenceRequestAfterMessage = new GetUpdatesDifferenceRequest(initialState.pts, initialState.date, initialState.qts);
            await client.SendRpcRequest(differenceRequestAfterMessage);

            Assert.IsNotNull(differenceRequestAfterMessage.updatesDifference);
            Assert.AreEqual(differenceRequestAfterMessage.updatesDifference.constructor, Constructor.UpdatesDifference);

            var differenceUpdate = (UpdatesDifferenceConstructor)differenceRequestAfterMessage.updatesDifference;

            Assert.AreEqual(1, differenceUpdate.newMessages.Count);

            var messageUpdate = (MessageConstructor)differenceUpdate.newMessages[0];

            Assert.AreEqual("test", messageUpdate.message);
        }
Ejemplo n.º 2
0
        // updates.getDifference#a041495 pts:int date:int qts:int = updates.Difference;
        public async Task <UpdatesDifference> GetUpdatesDifference(int pts, int date, int qts)
        {
            var request = new GetUpdatesDifferenceRequest(pts, date, qts);

            await SendRpcRequest(request);

            // only single implementation available
            return(request.updatesDifference);
        }
        private async void InitUpdateListener()
        {
            var updatesStateRequest = new GetUpdatesStateRequest();
            await Client.SendRpcRequest(updatesStateRequest);

            var initialState = (UpdatesStateConstructor)updatesStateRequest.updatesState;

            var request = new GetUpdatesDifferenceRequest(initialState.pts, initialState.date, initialState.qts);
            await Client.SendRpcRequest(request);
        }
Ejemplo n.º 4
0
        public async Task <updates_Difference> GetUpdatesDifference(int lastPts, int lastDate, int lastQts)
        {
            var request = new GetUpdatesDifferenceRequest(lastPts, lastDate, lastQts);

            await _sender.Send(request);

            await _sender.Receive(request);

            return(request.updatesDifference);
        }