电报防洪

问题描述

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

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();
        }
    }
} 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...