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();

Выкарыстоўвайце існы WTelegram.Client і імпартуйце выбраную сумяшчальную бібліятэку SOCKS. proxyHost, порт і ўліковы запіс вызначаюць пасярэдніка; address/port лямбды — мэты, запытаныя WTelegram.

CreateConnection мусіць вярнуць падлучаны TcpClient пасля ўзгаднення з проксі. Аднаго дасягнення порта проксі недастаткова для такой перадачы.

Прыклад выкарыстоўвае сінхронны метад бібліятэкі. Абгортванне выніку ў Task.FromResult не робіць злучэнне неблакавальным; пры патрэбе карыстайцеся падтрымліваным асінхронным метадам.

Захоўвайце апрацоўшчык для наступных злучэнняў, а не толькі ўваходу. Аўтэнтыфікацыя ўліковага запісу Telegram застаецца асобнай ад уліковага запісу SOCKS.

Падобныя артыкулы