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); }
// 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); }
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); }