我一直在使用TLSharp库一周,但最近我遇到了异常:
CHANNELS_TOO_MUCH
我的代码甚至无法通过await client.connect()
函数。我没有在库的GitHub存储库中找到任何描述此异常发生原因的文档。我似乎不是因为电报限制而发生的异常,因为它在connect
函数中给了我这个例外。
这是我的代码:
public static async Task<TelegramClient> connectTelegram()
{
store = new FileSessionStore();
client = new TelegramClient(store, numberToAuthenticate, apiId, apiHash);
try
{
await client.Connect();
}
catch (InvalidOperationException e)
{
Debug.WriteLine("Invalid Operation Exception");
if (e.Message.Contains("Couldn't read the packet length"))
{
Debug.WriteLine("Couldn't read the packet length");
Debug.WriteLine("Retying to Connect ...");
}
await connectTelegram();
}
catch (System.IO.IOException)
{
Debug.WriteLine("IO Exception while Connecting");
Debug.WriteLine("Retrying to Connect ...");
await connectTelegram();
}
catch(Exception e)
{
Debug.WriteLine(e.Message):
}
return client;
}
答案 0 :(得分:0)
此例外尚未记录。当我尝试使用相同的会话文件连接电报和调用请求时,我遇到了这个异常。当会话文件被不同的和多个客户端使用时,会话文件似乎已损坏。您所要做的就是删除会话文件并在之前创建它时重新创建它。
这是一个这样做的例子:
FileSessionStore store;
TelegramClient client;
store = new FileSessionStore();
client = new TelegramClient(store, numberToAuthenticate, apiId, apiHash);
await client.Connect();