首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电报防洪

电报防洪
EN

Stack Overflow用户
提问于 2021-01-06 15:03:22
回答 1查看 1.8K关注 0票数 1

存在这样一个问题:我多次运行这个程序,现在它抛出了以下错误FloodException:防洪。电报现在要求您的程序只在73611秒过去后再执行请求(TimeToWait属性)。如果您认为这个问题的罪魁祸首可能在于TLSharp的实现,请打开一个Github问题。谨随函附上以下代码:

代码语言:javascript
复制
using System;
using System.Text;
using System.Windows.Forms;
using TeleSharp.TL;
using TeleSharp.TL.Messages;
using TLSharp.Core;
namespace tgBM
{
    public partial class Form1: Form
    {
        string phone;
        string code;
        int n = 1;
        StringBuilder sb = new StringBuilder ();
        TelegramClient client = new TelegramClient (2646156, "08ec188e0bdee432e568120348f5f13a"); // create a client with parameters
      
        public Form1 ()
        {
            InitializeComponent();
        }

        string str = "";

        public async void authAsync()
        {
            var dialogs = (TLDialogs) await client.GetUserDialogsAsync();
            foreach (var element in dialogs.Chats)
            {
                TLChat chat = element as TLChat;
                if (element is TLChannel)
                {
                    var offset = 0;
                    TLChannel channel = element as TLChannel;
                    if (channel.Title == "TOPLES")
                    {
                        TLChannel ch = element as TLChannel;
                        TLInputPeerChannel inputPeer = new TLInputPeerChannel() {ChannelId = ch.Id, AccessHash = (long) ch.AccessHash};
                        while (n! = 11)
                        {
                            try
                            {
                                TLChannelMessages res = await client.SendRequestAsync <TLChannelMessages>
                                (new TLRequestGetHistory() {Peer = inputPeer, Limit = 20, AddOffset = offset, OffsetId = 0});
                                var msgs = res.Messages;
                                if (res.Count> offset)
                                {
                                    offset + = msgs.Count;
                                    foreach (TLAbsMessage msg in msgs)
                                    {
                                        if (msg is TLMessage)
                                        {
                                            TLMessage message = msg as TLMessage;
                                            str + = n.ToString () + "\ t" + message.Id + "\ t" + message.FromId + "\ t" + message.Message + Environment.NewLine;
                                        }
                                        if (msg is TLMessageService)
                                            continue;
                                        n ++;
                                    }
                                }
                                else
                                    break;
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show (ex.Message);
                                break;
                            }
                        }
                    }
                }
                textBox3.Text = str;
            }
        }

        private async void button1_Click (object sender, EventArgs e)
        {
            phone = textBox1.Text;
            await client.ConnectAsync (); // make a connection
            var hash = await client.SendCodeRequestAsync(phone);
        }

        private async void button2_Click (object sender, EventArgs e)
        {
            code = textBox2.Text;
            var user = await client.MakeAuthAsync(phone, await client.SendCodeRequestAsync(phone), code);
            authAsync();
        }
    }
} 
EN

回答 1

Stack Overflow用户

发布于 2022-03-20 17:52:12

在评论中,你说现在正处于测试阶段。在这种情况下,您应该阅读https://core.telegram.org/api/auth#test-accounts

根据此页面,在限制FLOOD_WAIT错误风险的同时,有三种方法可以执行测试:

  • 连接到测试服务器而不是生产服务器(使用TLSharp似乎不可能)
  • 使用电话号码99966XYYYY的测试帐户(仅在测试服务器上可用)
  • 以用户身份与用于创建API ID/Hash的电话号码连接

我可以用WTelegramClient完成所有这些(TLSharp不再被维护,不能再连接到电报服务器了)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65598222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档