【发布时间】:2017-03-27 20:59:13
【问题描述】:
我正在使用 TLSharp 库来实现自定义 Telegram 客户端。当我运行下面的代码时:
public async Task<string> SendCodeRequest(string phoneNumber)
{
var completed = false;
TL.AuthSendCodeRequest request = null;
while (!completed)
{
request = new TL.AuthSendCodeRequest(phoneNumber, 5, _apiId, _apiHash, "en");
await _sender.Send(request);
await _sender.Receive(request);
completed = true;
}
// TODO handle other types (such as SMS)
if (request.Result is TL.AuthSentCodeType)
{
var result = (TL.AuthSentCodeType)request.Result;
return result.PhoneCodeHash;
}
else
{
var result = (TL.AuthSentAppCodeType)request.Result;
return result.PhoneCodeHash;
}
}
我给了我以下例外:
您在 {dcIdx} dc 注册的电话号码。请更新设置。 见https://github.com/sochix/TLSharp#i-get-an-error-migrate_x 详情。
提到的 github 页面说 TLSharp 自己处理这些异常。所以我猜库核心出了点问题,因为代码应该自己解析数据中心 IP 而不会产生异常。
任何帮助将不胜感激。
【问题讨论】: