public async Task <Channel> GetChannelAsync(string username) { var req = new TLRequestResolveUsername() { Username = username }; TLResolvedPeer peer; try { peer = await _client.SendRequestAsync <TLResolvedPeer>(req); } catch (InvalidOperationException) { return(null); } if (peer.Chats.Count == 0) { return(null); } TLChannel channel = (TLChannel)peer.Chats[0]; if (!channel.AccessHash.HasValue) { return(null); } return(new Channel() { ChannelId = channel.Id, AccessHash = channel.AccessHash ?? 0, Title = channel.Title, Username = channel.Username }); }
public async Task <TLResolvedPeer> ResolveUsernameAsync(string usernameToResolve, CancellationToken token = default(CancellationToken)) { if (usernameToResolve.StartsWith("@")) { usernameToResolve = usernameToResolve.Substring(1); } var req = new TLRequestResolveUsername() { Username = usernameToResolve }; return(await SendAuthenticatedRequestAsync <TLResolvedPeer>(req, token) .ConfigureAwait(false)); }
public async Task <TLAbsUser> ResolveUsername(string username) { await client.ConnectAsync(); var req = new TLRequestResolveUsername { username = username }; TLResolvedPeer result = await client.SendRequestAsync <TLResolvedPeer>(req); var list = result.users.lists.ToList(); var user = list.FirstOrDefault(); return(user); }