public async Task <bool> JoinChannel(string channelname) { try { TLChannel channel = await FindChannel(channelname); var req = new TeleSharp.TL.Channels.TLRequestJoinChannel() { Channel = new TLInputChannel { ChannelId = channel.Id, AccessHash = (long)channel.AccessHash } }; TLUpdates resJoinChannel = await client.SendRequestAsync <TLUpdates>(req); return(true); } catch (Exception ex) { if (ex.Message == "AUTH_KEY_UNREGISTERED") { bool sessionRemoved = this.RemoveSession(); if (sessionRemoved) { await this.Reconnect(); } } return(false); } }
/// <summary> /// Подписываемся на первый канал по списку поиска /// </summary> /// <param name="channelList">список найденных каналов</param> /// <returns></returns> private async static Task <bool> JoinChannel(this TelegramClient client, TLChannel channel) { var ChannelInfo = channel; var RequestJoin = new TeleSharp.TL.Channels.TLRequestJoinChannel() { Channel = new TLInputChannel { ChannelId = ChannelInfo.Id, AccessHash = (long)ChannelInfo.AccessHash } }; try { var JoinResponse = await client.SendRequestAsync <TLUpdates>(RequestJoin); } catch (Exception) { return(false); } return(true); }