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); }
// messages.forwardMessage#3f3f4f2 peer:InputPeer id:int random_id:long = messages.StatedMessage; // messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig; // messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat; // messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat; // messages.discardEncryption#edd923c5 chat_id:int = Bool; // messages.setEncryptedTyping#791451ed peer:InputEncryptedChat typing:Bool = Bool; // messages.readEncryptedHistory#7f4b690a peer:InputEncryptedChat max_date:int = Bool; // messages.sendEncrypted#a9776773 peer:InputEncryptedChat random_id:long data:bytes = messages.SentEncryptedMessage; // messages.sendEncryptedFile#9a901b66 peer:InputEncryptedChat random_id:long data:bytes file:InputEncryptedFile = messages.SentEncryptedMessage; // messages.sendEncryptedService#32d439a4 peer:InputEncryptedChat random_id:long data:bytes = messages.SentEncryptedMessage; // messages.receivedQueue#55a5bb66 max_qts:int = Vector<long>; // messages.readMessageContents#354b5bc2 id:Vector<int> = Vector<int>; // messages.getStickers#ae22e045 emoticon:string hash:string = messages.Stickers; // messages.getAllStickers#aa3bc868 hash:string = messages.AllStickers; #endregion #region Updates // updates.getState#edd4882a = updates.State; public async Task <UpdatesStateConstructor> GetUpdatesState() { var request = new GetUpdatesStateRequest(); await SendRpcRequest(request); // only single implementation available return((UpdatesStateConstructor)request.updatesState); }
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_State> GetUpdatesState() { var request = new GetUpdatesStateRequest(); await _sender.Send(request); await _sender.Receive(request); return(request.updates); }