无法在WPF中调用SendCodeRequestAsync方法

时间:2018-06-19 18:41:17

标签: c# wpf telegram

在使用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上搜索了很多,并尝试了很多,但是问题仍然存在。所以请任何可以帮助我的人。

2 个答案:

答案 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。