محدودیت سیل تلگرام یا همان Flood Limit را چطور برطرف کنیم؟

زمان مطالعه: 5 دقیقه

با مجله هشت پیک با مقاله ی محدودیت سیل یا همان Flood Limit را چطور برطرف کنیم؟ همراه ما باشید

تلگرام به شما اجازه می‌دهد تا چت‌بات‌های درون پیام‌رسان را برای اهداف مختلف ایجاد کنید، اما برخی از توسعه‌دهندگان گزارش می‌دهند که هنگام ارسال درخواست‌ها، خطای محدودیت سیل دریافت می‌کنند. 

محدودیت سیل تلگرام حداکثر تعداد درخواست هایی است که ربات شما می تواند برای کاربران یا گروه ها/کانال ها ارسال کند. اگر از این مقدار فراتر رفتید، کد «429»، «re try-after» یا «floodwaiterror» را دریافت خواهید کرد. برای جلوگیری از این امر، به جای رشته نام کاربری از شی entity گیرنده استفاده کنید یا فاصله ارسال درخواست ها را تغییر دهید و آنها را در بازه زمانی طولانی تری پخش کنید. 

در این مقاله مفصل، بررسی خواهیم کرد که محدودیت سیل تلگرام چیست و چگونه می توانید هنگام ارسال درخواست یا پیام به کاربران از دریافت خطا جلوگیری کنید. 

انتظار سیل تلگرام به چه معناست؟

انتظار سیل تلگرام به چه معناست؟

محدودیت سیل تلگرام مکانیزمی است که این پلتفرم برای جلوگیری از هرزنامه و سوء استفاده از سرویس خود تعیین کرده است. برای این منظور حداکثر تعداد پیام ها یا درخواست هایی را که یک چت بات می تواند در یک بازه زمانی خاص به API تلگرام ارسال کند را تعیین کرده است.

شاید این مقاله را هم دوست داشته باشید :  چگونگی دور زدن محدودیت نرخ API تلگرام

در حالی که محدودیت دقیقی برای ارسال پیام/درخواست توسط تلگرام مشخص نشده است، در اینجا قانون کلی وجود دارد: 

  • API ربات تلگرام به شما امکان می دهد تنها 10 درخواست کد برای هر حساب ارسال کنید.
  • شما مجاز به ارسال 1 پیام در ثانیه به یک چت نیستید. 
  • تلگرام به شما اجازه نمی دهد بیش از 30 پیام در ثانیه برای چندین کاربر و بیش از 20 درخواست به گروه ها یا کانال های تلگرام ارسال کنید.
  • شما فقط می توانید 50 گروه یا کانال در هر حساب ایجاد کنید.

اگر از این محدودیت ها تجاوز کنید، کد وضعیت 429 (برای ارسال درخواست های زیاد)، خطای سیلاب یا خطای «تعداد مجدد پس از» را دریافت خواهید کرد. پیام ممکن است به این صورت باشد: 

Floodwaiterror هنگام ارسال پیام فراخوانی شد. وادار کردن 70792 ثانیه فاصله انتظار برای ….

برای رسیدگی به این وضعیت، باید برای مدت زمان مشخص شده منتظر بمانید (تا زمانی که محدودیت بازنشانی شود) و بعداً درخواست ارسال کنید. 

توجه: مدت زمان دقیق محدودیت ممکن است بسته به میزان استفاده و بار سرور متفاوت باشد.

چگونه از دریافت خطای محدودیت انتظار سیل تلگرام جلوگیری کنم؟

چگونه از دریافت خطای محدودیت انتظار سیل تلگرام جلوگیری کنم؟

برای جلوگیری از دریافت خطای محدودیت انتظار سیل تلگرام، در اینجا 5 راه حل آزمایش شده و آزمایش شده وجود دارد که به بسیاری از کاربران کمک کرده تا با این مشکل مقابله کنند.

نرخ انتظار سیل را محاسبه کنید

اولین راه حل برای جلوگیری از دریافت محدودیت انتظار سیل تلگرام یا پیام خطای 429 محاسبه نرخ آن است. 

برای دریافت FLOOD_WAIT_X، N شماره تماس روش برقرار کنید. این به شما می دهد:

شاید این مقاله را هم دوست داشته باشید :  آموزش و ابزار نمایش و قرار دادن کانال تلگرام در سایت خودتان

نرخ انتظار سیل: X + زمان کل برای برقراری تماس های متد

اکنون، از تابع خواب برای انجام فراخوانی روش N در ثانیه های نرخ سیلاب استفاده کنید تا از انتظار سیلاب جلوگیری کنید. 

از Entity Object طرف گیرنده استفاده کنید

برخی از کاربران گزارش می دهند که به جای استفاده از نام گیرنده به عنوان یک رشته، استفاده از آبجکت موجودیت آنها به عنوان پارامتر نیز به آنها کمک کرد تا از محدودیت Flood Wait در تلگرام جلوگیری کنند. در اینجا کدی که می توانید در API ربات استفاده کنید آمده است:

با TelegramClientSync(StringSession(session_id)، api_id، api_hash) به عنوان مشتری:
  bot_entity = client.get_input_entity(peer=”mybot”)
results = await client.send_message(entity=bot_entity, message=message)

پس از آن، درخواست ها را برای کاربران یا گروه ها ارسال کنید و ببینید که آیا این راه حل کمک می کند.

تست ها را روی ربات انجام دهید

اگر در مرحله تست ربات تلگرام خود هستید، می توانید سه تست زیر را انجام دهید تا احتمال دریافت خطاهای FLOOD_WAIT را کاهش دهید. 

  • به جای سرور تولید، به سرور آزمایشی متصل شوید (فقط در صورت امکان).
  • برای اتصال به سرور تست، حساب های آزمایشی با شماره تلفن 99966XYYYY ایجاد کنید و از آنها استفاده کنید (X و Y 0 تا 9 رقمی هستند).
  • در سرور آزمایشی، از شماره تلفنی که برای ایجاد شناسه API/Hash برای اتصال به سرور استفاده کردید استفاده کنید. 

فاصله ارسال درخواست ها را تغییر دهید

اگر پیام‌ها یا اعلان‌های زیادی برای کاربران مختلف ارسال می‌کنید، در نهایت خطاهای محدودیت سیل تلگرام را دریافت خواهید کرد. 

بنابراین، توصیه می‌شود فواصل ارسال درخواست‌ها را به یک بازه زمانی طولانی 8 تا 12 ساعت تغییر دهید و اصلاح را تأیید کنید.

از افزونه Auto Retry Plugin استفاده کنید

هنگامی که محدودیت سیل در تلگرام را وارد کردید، تنها گزینه شما این است که برای زمان مشخص شده منتظر بمانید و سپس دوباره امتحان کنید. برای این کار، می توانید از کد افزونه Auto retry زیر در API ربات استفاده کنید تا از دریافت مجدد خطا جلوگیری کنید و برای کاربران پیام ارسال کنید.

مکث تابع (ثانیه: تعداد) {
    بازگشت وعده جدید (resolve => setTimeout (resolve, 1000 * ثانیه))
}

AutoRetryTransformer = (…args: any[]) => any را تایپ کنید

/**
* هنگام ایجاد یک
عملکرد ترانسفورماتور * مجدد خودکار، گزینه ها را مشخص کنید.
*/
صادرات رابط AutoRetryOptions {
    maxDelaySeconds: Infinity

    maxRetryAttempts: Infinity

    retryOnInternalServerErrors: boolean
}
تابع صادرات autoRetry(
    گزینه‌ها؟: جزئی
): AutoRetryTransformer =
    گزینه های Const?conedsDexlay 3600
    const maxRetries = گزینه ها؟.maxRetryAttempts ?? 3
    const retryOnInternalServerErrors =
        گزینه ها؟.retryOnInternalServerErrors ?? بازگشت نادرست
    ناهمگام (قبلی، روش، بارگذاری، سیگنال) => {
        let restingAttempts = maxRetries
        let result = await prev(روش، بارگذاری، سیگنال)
        در حالی که (!result.ok && restingAttempts– > 0) {
            اجازه مجدد امتحان = نادرست
            اگر (
                typeof result.parameters?.retry_after === ‘number' &&
                result.parameters.retry_after <= maxDelay
            ) {
                await pause(result.parameters.retry_after)
                retry = true
            } در غیر این صورت اگر (
                result.error_code >= 500 &&
                retryOnInternalSer
            )
                تکرار = درست
            }
            اگر (! دوباره امتحان کنید) نتیجه را برگرداند
            else result = انتظار قبلی (روش، بارگذاری، سیگنال)
        }
        نتیجه برگرداندن
    }
}

توجه: ممکن است لازم باشد از یک صف استفاده کنید یا افزونه را به گونه‌ای پیکربندی کنید که اجرای مؤثر ربات در وب‌هوک‌ها زمان زیادی نبرد. 

نتیجه

در این مقاله محدودیت سیل تلگرام را بررسی کرده ایم و روش هایی را برای جلوگیری از خطا در هنگام ارسال پیام یا درخواست به کاربران و گروه ها توضیح داده ایم. 

امیدواریم اکنون بتوانید تجربه روان تری با ربات های خود در تلگرام داشته باشید. 

 

امیدواریم از این مقاله محدودیت سیل تلگرام یا همان Flood Limit را چطور برطرف کنیم؟ مجله هشت پیک نیز استفاده لازم را کرده باشید و در صورت تمایل آنرا با دوستان خود به اشتراک بگذارید و با امتیاز از قسمت پایین و درج نظرات باعث دلگرمی مجموعه مجله 8pic باشید

5/5 - (2 امتیاز)

لینک کوتاه مقاله : https://5ia.ir/hWLYmk
کوتاه کننده لینک
کد QR :
اشتراک گذاری

شاید این مطالب را هم دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *