使用TLsharp进行电报编程时出现PHONE_MIGRATE_X错误

时间:2016-01-10 10:16:05

标签: c# api telegram

我开始在C#中使用TLSharp for Telegram。当我使用此功能验证用户时:

public async Task AuthUser()
{
   var store = new FileSessionStore();
   var client = new TelegramClient(store, "session");

   await client.Connect();

   var hash = await client.SendCodeRequest(NumberToAuthenticate);
   var code = "123"; // you can change code in debugger

   var user = await client.MakeAuth(NumberToAuthenticate, hash, code);

   Assert.IsNotNull(user);
}

在我的电话号码SendCodeRequest上,我收到PHONE_MIGRATE_4错误。我怎么能解决这个问题?

Telegram网站发现此错误说我需要切换我的数据中心。我怎么能在TLsharp中做到这一点?

2 个答案:

答案 0 :(得分:2)

我还没有使用过TLSharp,但根据其文档,您需要更新由{TLSharp库提供的文件TLSharp.Core.Network.TcpTransport.cs中的数据中心地址。

根据其documentation

I get an error MIGRATE_X?

You should change the telegram server address to X. X server address you can get from InitResponse or from Server addresses list. Address should be changed in `TLSharp.Core.Network.TcpTransport.cs`

Server addresses:

    Server 1: 149.154.175.50:443
    Server 2: 149.154.167.51:443
    Server 3: 149.154.175.100:443
    Server 4: 149.154.167.91:443
    Server 5: 91.108.56.165:443

TLSharp.Core.Network.TcpTransport.cs中使用的默认服务器地址为91.108.56.165,即server 5

答案 1 :(得分:0)

发送help.getNearestDC时,应该使用正确的DC。

如果您尝试进行身份验证的号码与您当前使用的数据中心不同,您将获得MIGRATE_X。