Configure o TcpHandler SOCKS do WTelegram antes do login
A biblioteca de proxy escolhida deve retornar um TcpClient com a negociação concluída; Task.FromResult mantém síncrona a chamada de conexão.
client.TcpHandler = (address, port) =>
{
var proxy = new Socks5ProxyClient(
proxyHost, proxyPort, proxyUsername, proxyPassword);
return System.Threading.Tasks.Task.FromResult(
proxy.CreateConnection(address, port));
};
await client.LoginUserIfNeeded();Use o WTelegram.Client existente e importe a biblioteca SOCKS compatível escolhida. proxyHost, a porta e a conta identificam o intermediário; address/port da função lambda são os destinos solicitados pelo WTelegram.
CreateConnection precisa retornar um TcpClient conectado após a negociação com o proxy. Chegar apenas à porta do proxy não oferece essa passagem.
O exemplo usa um método síncrono da biblioteca. Encapsular o resultado em Task.FromResult não torna a conexão não bloqueante; use um método assíncrono compatível quando precisar.
Mantenha o handler para as conexões posteriores e para o login. A autenticação da conta do Telegram continua separada da conta SOCKS.