Telegram 电报;API开发工具“;限制
我尝试使用我的应用程序(使用TLSharp),但突然使用Telegram 电报;API开发工具“;限制,telegram,Telegram,我尝试使用我的应用程序(使用TLSharp),但突然使用TelegramClient.SendCodeRequestAsync函数,我得到了以下异常: “防洪。电报现在要求你的程序执行请求 仅在84894秒过后(TimeToWait属性)再次。如果 你认为这个问题的罪魁祸首可能在于沙普 实施,打开Github问题“ 等待84894秒后,它再次显示此消息。 (我等待并尝试了几次,但消息没有区别:() 有人告诉我它的电报限制,对吗? 您是否有更好的主意将消息/文件发送到电报帐户?我猜您正在多次关闭和
TelegramClient.SendCodeRequestAsync
函数,我得到了以下异常:
“防洪。电报现在要求你的程序执行请求
仅在84894秒过后(TimeToWait属性)再次。如果
你认为这个问题的罪魁祸首可能在于沙普
实施,打开Github问题“
等待84894秒后,它再次显示此消息。
(我等待并尝试了几次,但消息没有区别:()
有人告诉我它的电报限制,对吗?
您是否有更好的主意将消息/文件发送到电报帐户?我猜您正在多次关闭和启动应用程序,或者重复此方法。10次之后,电报API会让您等待大约24小时以防止洪水泛滥
这是一个电报限制,我的建议是:在调用
SendCodeRequestAsync()之间等待2-3分钟
这可能是一个迟到的答案,但可以用作参考。第一个问题是电报API不允许每个电话号码每天发送超过5次代码请求。第二个问题是默认情况下用于电报客户端的共享会话文件。因此,您应该创建一个自定义会话管理器来分隔每个p在一个单独的dat
文件中输入电话号码会话
public class CustomSessionStore : ISessionStore
{
public void Save(Session session)
{
var dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Sessions");
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
var file = Path.Combine(dir, "{0}.dat");
using (FileStream fileStream = new FileStream(string.Format(file, (object)session.SessionUserId), FileMode.OpenOrCreate))
{
byte[] bytes = session.ToBytes();
fileStream.Write(bytes, 0, bytes.Length);
}
}
public Session Load(string sessionUserId)
{
var dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Sessions");
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
var file = Path.Combine(dir, "{0}.dat");
string path = string.Format(file, (object)sessionUserId);
if (!File.Exists(path))
return (Session)null;
var buffer = File.ReadAllBytes(path);
return Session.FromBytes(buffer, this, sessionUserId);
}
}
然后创建您的客户端
,如下所示:
var client = new TelegramClient(apiId, apiHash, new CustomSessionStore(), phoneNumber);