我开始在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中做到这一点?
答案 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。