مخصوص خطای Connection Error ربات تلگرام با api.pirayar.ir
این صفحه یک اسکریپت پایتونِ تکفایلی و کامل در اختیارتان میگذارد که مستقیماً در ترمینال هاست خودتان اجرا میکنید. اسکریپت بهصورت لایهبهلایه (سیستم → DNS → شبکه → TCP → SSL/TLS → HTTP) اتصال به دامنه پیرایار را تست میکند، نتیجه هر تست را با وضعیت PASS / FAIL / WARN چاپ میکند، با یک سرور سالم مرجع (api.telegram.org) مقایسه میکند و در پایان یک جمعبندی دقیق همراه با «علت احتمالی + راهکار رفع مشکل» بر اساس نتایج به شما میدهد. همچنین یک فایل لاگ کامل ذخیره میکند.
نسخه پایتون، سیستمعامل و بررسی Clock Skew (ساعت اشتباه سرور، دلیل رایج خطای SSL Certificate Verify).
متغیرهای پروکسی محیطی، DNS سرورهای سیستم و رکوردهای دستی مشکوک در فایل hosts.
Resolve با DNS سیستم و مقایسه با DNS عمومی (8.8.8.8 و 1.1.1.1) و اعتبارسنجی IPهای بازگشتی.
تست جداگانه پورت ۴۴۳ روی تکتک IP های بازگشتی (مهم برای سرورهای پشت CDN/Cloudflare).
اعتبار گواهی، تاریخ انقضا، نسخه TLS 1.2/1.3، تست با/بدون Verify، و اعتبارسنجی مستقل با openssl.
تست با urllib استاندارد و در صورت وجود با requests؛ دقیقاً همان نوع خطایی که ربات شما میگیرد را شبیهسازی میکند.
بررسی افت پکت و مسیر شبکه بین هاست شما و سرور پیرایار.
در صورت اجرا با root، قوانین iptables/ip6tables برای ترافیک خروجی بررسی میشود.
تمام تستها روی api.telegram.org هم تکرار میشود تا مشخص شود مشکل کلی شبکه است یا فقط پیرایار.
علاوه بر api.telegram.org، اتصال به core.telegram.org و web.telegram.org، اتصال مستقیم TCP (مستقل از DNS) به چند IP شناختهشده دیتاسنترهای تلگرام، و یک درخواست واقعی به متد getMe در Bot API نیز بررسی میشود تا مشخص شود مشکل فقط از پیرایار است یا کلاً دسترسی به تلگرام هم مختل است.
بر اساس اولین لایهای که Fail شده (DNS/TCP/SSL/HTTP) راهکار دقیق و قابلاجرا پیشنهاد میدهد.
IP عمومی سرور را نمایش میدهد تا در صورت نیاز به Whitelist شدن، به پشتیبانی پیرایار بدهید.
تمام خروجی در فایلی با نامگذاری زماندار ذخیره میشود تا بتوانید برای تیم پشتیبانی ارسال کنید.
با دکمه «دانلود فایل» در پایین صفحه، فایل pirayar_diagnostic.py را دریافت و در هاست خود آپلود کنید، یا محتوا را کپی کرده و با nano/vi بسازید.
pip3 install requests certifi
python3 pirayar_diagnostic.py
پارامترهای اختیاری: --host، --port، --timeout، --skip-ping، --skip-traceroute، --no-reference، --skip-telegram
برای تست واقعی ربات خودتان با توکن، قبل از اجرا این متغیر را ست کنید:
export BOT_TOKEN=123456:AA...your_real_token
خروجی ترمینال و بخش «جمعبندی نهایی» را بخوانید؛ فایل لاگ ساختهشده (pirayar_diagnostic_*.log) را برای تیم پشتیبانی پیرایار یا بررسی بیشتر نگه دارید.
اگر بخش DNS اسکریپت روی api.pirayar.ir شکست بخورد ولی روی api.telegram.org موفق باشد، مشکل از DNS سرور تنظیمشده در هاست شماست، نه شبکه پیرایار. راهکار: در فایل /etc/resolv.conf از DNS عمومی 8.8.8.8 و 1.1.1.1 استفاده کنید.
یعنی آدرس IP سرور پیرایار پیدا شده اما پورت ۴۴۳ باز نمیشود. معمولاً به دلیل مسدود بودن IP خروجی هاست شما توسط فایروال پیرایار/CDN آن، یا مسدود بودن پورت خروجی توسط دیتاسنتر هاست شماست. IP خروجی سرور (که اسکریپت نمایش میدهد) را برای Whitelist به پشتیبانی پیرایار ارسال کنید.
رایجترین دلایل: ساعت سیستم اشتباه، گواهی SSL منقضیشده سمت پیرایار، CA bundle قدیمی روی هاست شما (اجرای update-ca-certificates)، یا فیلترینگ/DPI که هندشیک TLS را قطع میکند.
احتمال Rate Limit سمت پیرایار، مشکل موقتی شبکه، یا تنظیمات ناقص Timeout/Retry در کد ربات است. Timeout و Retry با backoff را در کد افزایش دهید و در صورت وجود IPv6 خراب روی هاست، اتصال را به IPv4 محدود کنید.