Skip to content

راه‌اندازی کانال راه دور (Remote Channel)

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

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

انواع منبع در یک نگاه

منبع Songbirdمنبع Telegram
اعتبارنامه‌های موردنیازهیچ‌کدامAPI ID، hash و session مربوط به Telegram
پرچم سرورREMOTE_CHANNEL=trueREMOTE_CHANNEL=true
قالب منبعپیوند دعوت کانال عمومی@channelname، پیوند t.me، یا شناسه عددی
محدودیت مقصدمقصد باید یک کانال عمومی روی سروری با SIGN_UP=true باشدمنبع باید یک کانال Telegram باشد
پراکسی اختیاریREMOTE_CHANNEL_SONGBIRD_PROXY_URLREMOTE_CHANNEL_TELEGRAM_PROXY_URL

منبع Songbird

برای بازتاب از یک سرور Songbird دیگر، یک کانال عمومی ایجاد یا ویرایش کنید، Remote Channel را فعال کنید، Songbird را انتخاب کنید، و پیوند دعوت کانال عمومی را از سرور مقصد جای‌گذاری کنید (برای مثال https://other.server/invite/channelname).

نیازمندی‌ها:

  • سرور مقصد باید SIGN_UP=true (سرور عمومی) داشته باشد.
  • کانال مقصد باید عمومی باشد.
  • سرور مقصد باید همان نسخه یا نسخه‌ای جدیدتر از Songbird را اجرا کند که شامل نقاط پایانی polling کانال عمومی باشد.

به هیچ اعتبارنامه اضافه‌ای نیاز نیست. روی این سرور REMOTE_CHANNEL=true و در صورت نیاز سرورتان به پراکسی برای دسترسی به مقصد، به‌صورت اختیاری REMOTE_CHANNEL_SONGBIRD_PROXY_URL را تنظیم کنید.

منبع Telegram

برای بازتاب از یک کانال Telegram، اعتبارنامه‌های API مربوط به Telegram موردنیاز است.

۱. ایجاد اعتبارنامه‌های Telegram

یک اپلیکیشن Telegram بسازید تا یک API ID و API hash آماده داشته باشید. اگر سرورتان برای دسترسی به Telegram به پراکسی نیاز دارد، آن نشانی را هم آماده داشته باشید. طرح‌واره‌های پشتیبانی‌شده عبارت‌اند از http://، https://، socks4://، socks5:// و mtproxy://.

WARNING

توصیه می‌شود برای این کار از حساب Telegram شخصی اصلی خود استفاده نکنید.

۲. پیکربندی کانال راه دور

دستیار پیکربندی را اجرا کنید و دستورها را دنبال کنید. این ابزار API ID، API hash، نشانی پراکسی اختیاری و کد ورود Telegram را درخواست می‌کند، سپس تنظیمات کانال راه دور را در .env می‌نویسد. برای نصب‌های systemd، پس از ذخیره، songbird.service را راه‌اندازی مجدد می‌کند.

bash
cd /opt/songbird
npm run remote:configure

برای Docker:

bash
cd /opt/songbird
touch .env
docker compose run --rm -v "$PWD/.env:/app/.env" songbird npm --prefix /app/server run remote:configure

مقدار session تولیدشده را خصوصی نگه دارید. این مقدار به Songbird اجازه می‌دهد کانال‌های Telegram را که حساب Telegram واردشده به آن‌ها دسترسی دارد بخواند.

۳. اتصال یک کانال Songbird

در Songbird، یک کانال عمومی ایجاد یا ویرایش کنید، Remote Channel را فعال کنید، Telegram را انتخاب کنید، و منبعی مانند @channelname یا https://t.me/channelname را وارد کنید. کانال راه دور برای کانال‌های خصوصی قفل است.

تنظیمات اختیاری کانال:

تنظیماثر
Sync Channel Metadataعنوان/آواتار کانال Telegram را در کانال Songbird کپی می‌کند.
Stream Media Filesهنگامی که FILE_UPLOAD=true باشد، رسانه Telegram را در بخش آپلودهای Songbird دانلود می‌کند. از محدودیت‌های اندازه/تعداد آپلود، نگه‌داری فایل، رمزنگاری در حالت سکون، و تنظیمات ترنسکد ویدیو پیروی می‌کند. پست‌های بازتاب‌شده فقط‌متنی از MESSAGE_TEXT_RETENTION پیروی می‌کنند.

INFO

پست‌هایی که هیچ متن/کپشنی ندارند تنها زمانی بازتاب داده می‌شوند که استریم رسانه فعال باشد و دست‌کم یک فایل رسانه‌ای پشتیبانی‌شده قابل ذخیره‌سازی باشد.

تحت لایسنس MIT منتشر شده است.