在使用TLSharp库在.Net中使用Telegram API时,我陷入了困境。以下是我尝试使用client.SendCodeRequestAsync() method
client = new TelegramClient(238363, "9f176b5a6eec1efc8ff58bbc7766e266");
await client.ConnectAsync();
var hash = await client.SendCodeRequestAsync("91XXXXXXXXXX");
if (hash != null)
{
MessageBox.Show(hash);
}`
上面的代码给我使用了与请求的协议不兼容的地址[2001:b28:f23f:f005 :: a]:443 错误。不知道怎么了。我在Google上搜索了很多,并尝试了很多,但是问题仍然存在。所以请任何可以帮助我的人。
答案 0 :(得分:1)
我终于解决了这个问题。此问题背后的主要原因是IP地址版本不匹配。因此,根据This Refrence,我在TelegramClient.cs文件中找到了var dc = dcOptions.First(d => d.Id == dcId);
,并用var dc = dcOptions.First(d => d.Id == dcId && !d.Ipv6);
替换了这一行,它的工作方式像是魅力。
答案 1 :(得分:0)
不支持 IPv6,
所以:new TelegramClient(api_id, api_hash, dcIpVersion: DataCenterIPVersion.OnlyIPv4);
DataCenterIPVersion 枚举 => 如上设置 OnlyIPv4。