تلگرام

نحوه دانلود از گروه‌ها و کانال‌های محافظت شده تلگرام

یکی از محدودیت‌های روی اعصاب در تلگرام، فعال بودن قابلیت «Restricted Content» یا «Protect Content» در برخی کانال‌ها و گروه‌ها است. وقتی مدیر یک کانال این گزینه را فعال می‌کند، تلگرام اجازه ذخیره (Save to Gallery)، فوروارد (Forward) و حتی گرفتن اسکرین‌شات از رسانه‌ها و فایل‌های آن کانال را مسدود خواهد کرد.

اما همیشه یک راهکار فنی برای دور زدن محدودیت‌های نرم‌افزاری وجود دارد! پروژه open-source و بسیار قدرتمند tdl (کوتاه‌شده Telegram Downloader) که به زبان Go نوشته شده، ابزاری است که دقیقاً برای حل این چالش ساخته شده است. این ابزار به شما اجازه می‌دهد فایل‌ها و رسانه‌ها را حتی از کانال‌ها و گروه‌های محافظت‌شده (Protected Chats) با حداکثر سرعت خط اینترنت خود دانلود کنید.

در این مقاله جامع، به معرفی ابزار tdl، نحوه نصب، تنظیمات اولیه و آموزش گام‌به‌گام دانلود فایل‌های قفل‌شده می‌پردازیم.

معرفی پروژه tdl

tdl (مخفف Telegram Downloader) یک ابزار متن‌باز و سبک است که روی سیستم‌عامل‌های مختلف (ویندوز، لینوکس، مک) اجرا می‌شود. برخلاف کلاینت‌های رسمی تلگرام که منابع زیادی مصرف می‌کنند، tdl با یک فایل اجرایی تک‌فایلی کار می‌کند، مصرف منابع بسیار پایینی دارد و می‌تواند تمام پهنای باند شما را به کار بگیرد.

قابلیت کلیدی tdl این است که نه تنها فایل‌ها را از چت‌های معمولی دانلود می‌کند، بلکه از چت‌های محافظت‌شده (جایی که کلاینت رسمی اجازه دانلود مستقیم نمی‌دهد) نیز پشتیبانی می‌کند. علاوه بر دانلود، امکان آپلود فایل، فوروارد پیام با مسیریابی هوشمند، و صادرات پیام‌ها، اعضا و مشترکین به فرمت JSON را نیز فراهم می‌آورد. سرعت دانلود معمولاً بالاتر از کلاینت رسمی است و به وضعیت پریمیوم بودن حساب شما بستگی دارد.

ویژگی‌های کلیدی

  • دانلود از چت‌های محافظت‌شده: پشتیبانی از کانال‌ها، گروه‌ها و چت‌های خصوصی قفل‌شده.
  • سرعت دانلود بالاتر از کلاینت رسمی: استفاده بهینه از کانال‌های همزمان (Concurrent Downloads).
  • پشتیبانی از Resume: در صورت قطع شدن اینترنت، ادامه دانلود از همان نقطه قطع‌شده شروع می‌شود.
  • فوروارد هوشمند: فوروارد پیام‌ها با قابلیت fallback خودکار و مسیریابی پیام.
  • استخراج داده‌ها: امکان Export گرفتن از لیست اعضا، پیام‌ها و کانال‌ها به فرمت JSON.
  • آپلود سریع: قابلیت آپلود فایل به تلگرام از طریق ترمینال.

پیش‌نیازها

قبل از شروع، موارد زیر را آماده کنید:

  • یک حساب تلگرام فعال (ترجیحاً حسابی که زیاد استفاده نمی‌کنید تا خطر محدودیت کمتر شود).
  • کلاینت دسکتاپ رسمی تلگرام (از سایت رسمی telegram.org دانلود کنید).
  • دسترسی به خط فرمان (Terminal در لینوکس/مک یا PowerShell/CMD در ویندوز).
  • ابزارهای تغییر دهنده ip یا پراکسی SOCKS برای دور زدن محدودیت‌ها.
  • سیستم‌عامل پشتیبانی‌شده: ویندوز، لینوکس یا macOS.

توجه: استفاده از ابزارهای شخص ثالث ممکن است با قوانین تلگرام در تضاد باشد. همیشه با احتیاط و مسئولیت خودتان عمل کنید.

نحوه نصب و راه‌اندازی

نصب tdl بسیار ساده است و چندین روش دارد.

۱. نصب با اسکریپت یک‌خطی (پیشنهادی)

در لینوکس و macOS:

curl -sSL https://docs.iyear.me/tdl/install.sh | sudo bash

برای استفاده از پروکسی ghproxy (مفید در ایران):

curl -sSL https://docs.iyear.me/tdl/install.sh | sudo bash -s -- --proxy

در ویندوز (PowerShell):

iwr -useb https://docs.iyear.me/tdl/install.ps1 | iex

این دستورات آخرین نسخه را نصب کرده و مسیر را به PATH اضافه می‌کنند. برای ارتقا نیز می‌توانید همین دستورات را دوباره اجرا کنید.

۲. نصب با Package Manager

  • Homebrew (مک/لینوکس):
  brew install telegram-downloader
  • Scoop (ویندوز):
  scoop bucket add extras
  scoop install telegram-downloader
  • Arch Linux:
  yay -S tdl

ورود به حساب (Login)

پس از نصب، باید وارد حساب تلگرام شوید. سه روش اصلی وجود دارد:

روش ۱: استفاده از کلاینت دسکتاپ (ساده‌ترین)

tdl login

اگر رمز عبور محلی (passcode) تنظیم کرده‌اید:

tdl login -p YOUR_PASSCODE

یا مسیر سفارشی کلاینت:

tdl login -d /path/to/TelegramDesktop

روش ۲: ورود با QR Code

tdl login -T qr

روش ۳: ورود با شماره تلفن و کد تأیید

tdl login -T code

برای استفاده از namespace جداگانه (مثلاً برای حساب دوم):

tdl -n myaccount login

پس از ورود موفق، جلسه در مسیر پیش‌فرض ذخیره می‌شود و دیگر نیازی به ورود مجدد نیست.

نحوه استفاده

دانلود فایل‌ها

ساده‌ترین روش: دانلود از لینک پیام.

tdl dl -u https://t.me/telegram/193

دانلود چند لینک همزمان:

tdl dl -u https://t.me/tdl/1 -u https://t.me/tdl/2

دانلود به پوشه دلخواه و با تعداد thread بیشتر:

tdl dl -u https://t.me/tdl/1 -d /path/to/downloads -t 8 -l 4
  • -t تعداد thread برای هر فایل
  • -l تعداد تسک‌های همزمان

دانلود از فایل JSON صادرات‌شده (مناسب برای چت‌های محافظت‌شده):
ابتدا پیام‌ها را صادر کنید:

tdl chat export -c @channelname

سپس دانلود کنید:

tdl dl -f tdl-export.json

فیلتر بر اساس پسوند (فقط عکس‌ها):

tdl dl -u https://t.me/tdl/1 -i jpg,png

ادامه دانلود ناقص:

tdl dl -u https://t.me/tdl/1 --continue

آپلود فایل‌ها

آپلود به Saved Messages:

tdl up -p /path/to/file -p /path/to/folder

آپلود به چت خاص:

tdl up -p /path/to/file -c @username

یا با ID چت یا لینک عمومی.

فوروارد پیام‌ها

فوروارد ساده:

tdl forward --from https://t.me/telegram/193

فوروارد به چت دلخواه از فایل JSON:

tdl forward --from tdl-export.json --to @destination

صادرات پیام‌ها

صادرات تمام پیام‌های حاوی رسانه از یک چت:

tdl chat export -c @channelname -o my-export.json

صادرات در بازه زمانی خاص:

tdl chat export -c CHAT -i 1665700000,1665761624

سوالات متداول

۱. آیا هنگام استفاده از tdl باید کلاینت تلگرام را ببندیم؟

بستگی به روش ورود شما دارد:

  • اگر با روش دسکتاپ وارد شده‌اید (tdl login یا tdl login -p ...): بله، بهتر است کلاینت دسکتاپ را کاملاً ببندید (و از System Tray هم خارج کنید). چون tdl دقیقاً از همان سشن کلاینت دسکتاپ استفاده می‌کند.
  • اگر با روش QR Code یا شماره تلفن + کد وارد شده‌اید (tdl login -T qr یا tdl login -T code): نیازی به بستن کلاینت نیست. چون tdl سشن جداگانه‌ای ساخته و تداخلی ایجاد نمی‌کند.

۲. چرا هنگام استفاده از tdl، کلاینت تلگرام داده‌ای دریافت نمی‌کند؟

این مشکل خیلی رایج است و علت اصلی آن تداخل سشن (Session Conflict) است.

وقتی tdl سشن را از کلاینت دسکتاپ وارد می‌کند، هر دو برنامه از یک کلید احراز هویت (Auth Key) مشترک استفاده می‌کنند. تلگرام اجازه نمی‌دهد یک سشن همزمان روی چند کلاینت به صورت فعال کار کند. در نتیجه:

  • یکی از دو برنامه (معمولاً کلاینت رسمی) به‌روزرسانی پیام‌ها، چت‌ها و داده‌ها را دریافت نمی‌کند.
  • ممکن است کلاینت دسکتاپ گیر کند، پیام‌ها را لود نکند یا ارسال پیام کار نکند.

راه‌حل‌های پیشنهادی (از بهترین به متوسط)

روشتوضیحتوصیه
بهترین روشورود با QR یا کد (tdl login -T qr)سشن کاملاً جدا می‌سازد و تداخل ایجاد نمی‌کند
روش متوسطکلاینت دسکتاپ را کاملاً ببندید وقتی از tdl استفاده می‌کنیدموقتی کار می‌کند
روش موقتبعد از کار با tdl، کلاینت را ریستارت کنید یا دوباره لاگین کنیدفقط برای رفع موقتی

۳.علت خطای Error: decrypt keyEncrypted: هنگام لاگین چیست ؟

این خطا هنگام تلاش برای وارد کردن (Import) سشن از کلاینت دسکتاپ تلگرام رخ می‌دهد. tdl سعی می‌کند فایل‌های tdata کلاینت رسمی را رمزگشایی کند، اما کلید رمزگشایی با داده‌ها مطابقت ندارد.

راه‌حل‌های پیشنهادی (به ترتیب اولویت)

روش ۱: بدون رمز عبور امتحان کنید (اگر رمز محلی ندارید)

tdl login

روش ۲: رمز صحیح را وارد کنید اگر واقعاً رمز محلی دارید، آن را دقیق وارد کنید (حتی اگر ۴ رقم یا بیشتر باشد):

tdl login -p رمز_واقعی_شما

روش ۳: مسیر دقیق کلاینت را مشخص کنید

tdl login -d "C:\Users\vahid\AppData\Roaming\Telegram Desktop"

روش ۴ (پیشنهادی و مطمئن‌ترین): ورود با QR Code یا شماره تلفن

این روش‌ها اصلاً به کلاینت دسکتاپ وابسته نیستند و معمولاً بدون مشکل کار می‌کنند:

# ورود با QR Code (بهترین گزینه)
tdl login -T qr

یا

# ورود با شماره تلفن و کد تأیید
tdl login -T code

در روش QR، یک کد QR در ترمینال نمایش داده می‌شود که باید با اپ موبایل تلگرام اسکن کنید.

چگونه tdl رو حذف کنیم ؟

tdl داده‌های سشن و تنظیمات را در پوشه‌ای جداگانه ذخیره می‌کند. برای حذف کامل در ویندوز مسیر پیش‌فرض این است:

C:\Users\username\.tdl

کافی است این پوشه را کاملاً حذف کنید:

  1. File Explorer را باز کنید.
  2. در نوار آدرس بنویسید: %USERPROFILE%\.tdl و Enter بزنید.
  3. کل پوشه .tdl را پاک کنید.

با این کار تمام سشن‌ها، لاگ‌ها و داده‌های برنامه حذف می‌شود و tdl دیگر هیچ اثری از حساب شما ندارد.

اگر می‌خواهید فقط سشن یک namespace خاص را پاک کنید، می‌توانید داخل پوشه data فایل‌های مربوط به آن namespace را حذف کنید، اما ساده‌ترین راه پاک کردن کل پوشه .tdl است.

نکات مهم

  • مدیریت چند حساب: از فلگ -n برای namespace‌های مختلف استفاده کنید تا جلسات جدا بمانند.
  • جلوگیری از محدودیت (Flood Wait): برای دانلود حجم بالا از گزینه --takeout استفاده کنید تا محدودیت‌ها کمتر شود. همچنین با --delay فاصله بین درخواست‌ها را افزایش دهید.
  • سرعت: سرعت نهایی به وضعیت پریمیوم بودن حساب و کیفیت پراکسی بستگی دارد. tdl معمولاً از کلاینت رسمی سریع‌تر است.
  • امنیت: از حساب اصلی برای عملیات سنگین استفاده نکنید. همیشه از حساب‌های فرعی بهره ببرید.
  • به‌روزرسانی: با دستور tdl update (در نسخه‌های جدید) یا اجرای مجدد اسکریپت نصب، ابزار را به‌روز نگه دارید.
  • خطاهای رایج: اگر کلاینت دسکتاپ پیدا نشد، مسیر را دستی مشخص کنید. برای چت‌های خصوصی، حتماً عضو باشید.
  • بهترین روش برای حجم بالا: ابتدا با chat export لیست را استخراج کنید، سپس با فیلتر و چند thread دانلود کنید. این روش برای کانال‌های بزرگ بسیار کارآمد است.

نتیجه‌گیری

ابزار tdl یک راه‌حل قدرتمند، سبک و انعطاف‌پذیر برای کار با فایل‌ها و داده‌های تلگرام است. با پشتیبانی از دانلود محافظت‌شده، آپلود، فوروارد هوشمند و صادرات JSON، نیازهای حرفه‌ای و روزمره کاربران را پوشش می‌دهد. نصب ساده، مصرف منابع پایین و سرعت بالا، آن را به انتخابی عالی برای کاربران ایرانی تبدیل کرده است.

بیشتر بخوانید:

ویرایش ویدیو به صورت آفلاین در مرورگر با ابزار قدرتمند ffmpeg-webCLI
دانلود هر چیزی با یک کلیک؛ دانلود منیجر رایگان و متن‌باز OmniGet
مدیریت هوشمند مدل‌های هوش مصنوعی با ۹Router

وحید خاکپور

متولد 76 . مبتدی در همه چیز. علاقه مند به یادگیری و به اشتراک گذاشتن تجربه های مفید.

نوشته های مشابه

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

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