public static async Task <bool> JoinChannel(string channelusername) { //finding channel var update = await _client.SearchUserAsync(channelusername); var channel = update.Chats.Where(c => c.GetType() == typeof(TLChannel)).Cast <TLChannel>().FirstOrDefault(); if (channel != null) { var request = new TLRequestJoinChannel() { Channel = new TLInputChannel() { AccessHash = (long)channel.AccessHash, ChannelId = channel.Id } }; TLUpdates resJoinChannel = await _client.SendRequestAsync <TLUpdates>(request); if (resJoinChannel != null) { Console.WriteLine($"------*successfully Joined to {channel.Title}. "); return(true); } return(false); } else { return(false); } }
public async Task JoinCannel(string channelName) { var channelInfo = (await _client.SendRequestAsync<TeleSharp.TL.Contacts.TLResolvedPeer>( new TeleSharp.TL.Contacts.TLRequestResolveUsername { Username = channelName, }).ConfigureAwait(false)).Chats[0] as TLChannel; var Request = new TLRequestJoinChannel() { Channel = new TLInputChannel { ChannelId = channelInfo.Id, AccessHash = (long)channelInfo.AccessHash } }; try { var Respons = await _client.SendRequestAsync<Boolean>(Request); } catch (Exception ex) { throw new Exception(ex.StackTrace); } }