Search code examples
c#telegramtelegram-api

Send Location by Telegram API client


I use TLSharp lib. How can i send my location to user. i known how to send simple text message, but cant understand how share my geoposition.

var store = new FileSessionStore();
            var client = new TelegramClient(api_id, api_hash, store,"session");
            await client.ConnectAsync(); 
...   
await client.SendMessageAsync(new TLInputPeerUser() { UserId = userByPhoneId.Id }, "Simple mess");

I create request :

        TLInputPeerUser ip = new TLInputPeerUser() { UserId = user.Id };
        
        TLInputMediaGeoPoint igp = new TLInputMediaGeoPoint();
        igp.GeoPoint = new TLInputGeoPoint() { Lat= ..., Long= ...};
        
       
        var req = new TLRequestSendMedia()
        {
            Media = igp ,
            Peer = ip,
            RandomId = 


    };

        await client.SendRequestAsync<Boolean>(req);

But it's not works, because value RandomId was needed. Random Id have long type, i try to generate random long number but it's not helped , i receive error.


Solution

  • var req = new TLRequestSendMedia()
                {
                    Media = igp,
                    Peer = ip,
                    RandomId = Helpers.GenerateRandomLong()
    
    
                };
    
                await client.SendRequestAsync<TLAbsUpdates>(req);