ساندگیر یه ربات تلگرامه برای دانلود از SoundCloud: لینک ترک یا اسم آهنگ رو میفرستی و چند ثانیه بعد فایل صوتیش با اسم، خواننده و کاور توی همون چت میرسه. کل ربات روی Telegram Serverless اجرا میشه و سرور جدا نداره؛ رباتهایی مثل این رو توی ساخت ربات تلگرام میسازیم.
ربات دانلود از ساندکلاد چی کار میکنه؟
لینک یا اسم آهنگ: لینک
soundcloud.com، لینک اشتراکگذاری اپ که باon.soundcloud.comشروع میشه، و ترک خصوصی با لینک مخفیش رو میشناسه. اسم آهنگ یا خواننده رو هم جستجو میکنه و نتیجهها رو صفحهبهصفحه به شکل دکمه نشون میده.توی هر چتی: با inline mode تلگرام، یوزرنیم ربات و اسم آهنگ رو توی هر چتی مینویسی و از لیست انتخاب میکنی؛ آهنگ بدون رفتن به خود ربات فرستاده میشه.
اسم و کاور داخل خود فایل: اسم، خواننده و کاور توی تگهای ID3 و iTunes خود فایل هم نوشته میشن، پس بعد از ذخیره توی گوشی و هر پلیری، کاور دیده میشه.
عوض کردن اسم، خواننده و کاور: زیر هر فایل سه دکمه هست؛ جواب رو میفرستی و یه نسخهی تازه با اطلاعات جدید میگیری.
شورتکات آیفون: یه Shortcut آیفون بیرون از تلگرام آهنگ رو جستجو میکنه و با یه لینک مستقیم به ربات میده.
خطای قابل فهم: اگه ترکی دانلودشدنی نباشه، مثلاً فقط مال مشترکهای SoundCloud Go باشه یا رمزگذاریشده باشه، ربات دلیلش رو فارسی میگه.
ساندگیر چطوری ساخته شد؟
کلید API لازم نیست: SoundCloud دیگه به اپ تازه کلید API نمیده. ربات مثل پخشکنندهی خود سایت با api-v2 کار میکنه، client_id عمومی رو خودش از سایت برمیداره و هر وقت رد شد دوباره میگیره.
بهترین کیفیتی که هست: از بین استریمها اول MP3 و بعد AAC 160k انتخاب میشه و قطعههای HLS به ترتیب کنار هم گذاشته میشن.
هر آهنگ فقط یه بار دانلود میشه: بار اول توی یه کانال ذخیره آپلود میشه و file_id اون نگه داشته میشه؛ درخواست بعدی، از هر کسی، همون لحظه جواب میگیره.
تگنویسی بدون کتابخونه: روی Telegram Serverless پکیج npm در کار نیست، پس ID3 و تگهای iTunes با کد خود ربات نوشته میشن و صدای فایل دست نمیخوره.
تست و دیپلوی خودکار: تستها روی یه SoundCloud شبیهسازیشده اجرا میشن و هر push به main، اگه تستها قبول بشن، با GitHub Actions دیپلوی میشه.
ساندگیر چقدر سریعه؟
اولین لینک واقعی SoundCloud، از روی سرورهای تلگرام، توی ۲٫۸ ثانیه به یه فایل صوتی AAC 160k با حجم ۳٫۷ مگابایت تبدیل شد و رسید. آهنگی که یه بار گرفته شده باشه، دفعهی بعد بدون دانلود دوباره و همون لحظه فرستاده میشه.
عکس پروفایل و بنر ساندگیر
اسم ربات، بیو، توضیح، عکس پروفایل و بنر هم جزو کار بود. «ساندگیر» یعنی صدا رو میگیره: کوتاهه و با «ساند» یاد SoundCloud میندازه. آیکنش یه ابر با فلش دانلوده، نه لوگوی SoundCloud، تا ربات رسمی به نظر نرسه. این دو طرح برای عکس پروفایلش کشیده شد:
امتحانش کن: یه لینک SoundCloud یا اسم یه آهنگ رو برای @SoundCoudMusicBot بفرست. اگه کانال موزیک داری، LikeTune آهنگهایی رو که از ساندگیر فوروارد میکنی میشناسه و زیر پست به ربات و آهنگ اصلی لینک میده.



