Задайте SOCKS TcpHandler на WTelegram преди вход
Избраната прокси библиотека трябва да върне TcpClient след пълно договаряне; Task.FromResult запазва синхронното извикване за свързване.
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 акаунта.