راهاندازی کانال راه دور (Remote Channel)
کانال راه دور به یک کانال عمومی Songbird اجازه میدهد پستها را از یک کانال Telegram یا یک کانال عمومی دیگر Songbird بازتاب (mirror) دهد. تنها مالکان کانال میتوانند منبع یک کانال را پیکربندی کنند، و در هر زمان تنها یک منبع میتواند برای هر کانال فعال باشد.
در اولین فعالسازی، Songbird منبع را در جدیدترین پست مقداردهی اولیه میکند و تاریخچه را وارد نمیکند. پستهایی که پس از آن نقطه منتشر میشوند بازتاب داده میشوند.
انواع منبع در یک نگاه
| منبع Songbird | منبع Telegram | |
|---|---|---|
| اعتبارنامههای موردنیاز | هیچکدام | API ID، hash و session مربوط به Telegram |
| پرچم سرور | REMOTE_CHANNEL=true | REMOTE_CHANNEL=true |
| قالب منبع | پیوند دعوت کانال عمومی | @channelname، پیوند t.me، یا شناسه عددی |
| محدودیت مقصد | مقصد باید یک کانال عمومی روی سروری با SIGN_UP=true باشد | منبع باید یک کانال Telegram باشد |
| پراکسی اختیاری | REMOTE_CHANNEL_SONGBIRD_PROXY_URL | REMOTE_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 را راهاندازی مجدد میکند.
cd /opt/songbird
npm run remote:configureبرای Docker:
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
پستهایی که هیچ متن/کپشنی ندارند تنها زمانی بازتاب داده میشوند که استریم رسانه فعال باشد و دستکم یک فایل رسانهای پشتیبانیشده قابل ذخیرهسازی باشد.