به هر جایی که هستی بگو
الان چی گوش میدی.
Now Playing API یه لایهی سبک روی Aramesh Musicـه که وضعیت پخش زندهی هر شنونده رو — با یه شناسهی کاملاً بینام — در اختیار هر سایت، پروفایل یا اپلیکیشنی میذاره. بدون حساب کاربری، بدون OAuth، بدون سرور واسط.
این چیه؟
سه راه برای نشوندادن «الان چی گوش میدم» — هر کدوم برای یه موقعیت.
ویجت iframe
یه کارت زنده با کاور، نوار پیشرفت متحرک و اسم آهنگ. برای هر سایتی که <iframe> قبول کنه.
کارت SVG برای گیتهاب
یه تصویر زنده که مستقیم تو README.md جا میگیره — بدون GitHub Actions، بدون کرانجاب.
API خام JSON
برای وقتی میخوای ظاهرش کاملاً دست خودت باشه — با CORS باز، مستقیم از جاوااسکریپت خودت.
Device ID
Aramesh Music سیستم حساب کاربری کلاسیک (ایمیل/پسورد) نداره. هر مرورگر یه شناسهی محلی و یکتا داره که فقط وضعیت پخش رو مشخص میکنه — نه هویتت رو.
این شناسه رو از داخل خود سایت پیدا میکنی: کتابخانهی من ← تب «Now Playing API». همونجا کد امبد آماده هم برات ساخته میشه.
شروع سریع
سه خط، سه دقیقه.
۱. شناسهت رو بردار
از کتابخانهی من ← Now Playing API کپی کن.
۲. یکی از سه روش رو انتخاب کن
سادهترین شروع، همون ویجت iframeـه — همین پایین.
<iframe src="https://arshiahub.ir/music/nowplaying.php?deviceId=YOUR_DEVICE_ID" width="320" height="130" style="border:none;border-radius:16px;" loading="lazy" title="Now Playing on Aramesh"> </iframe>
ویجت iframe
یه کارت زنده که خودش هر ۱۵ ثانیه بهروز میشه — کاور، عنوان، خواننده، نوار پیشرفتِ واقعاً متحرک (بین دو رفرش هم لوکال شبیهسازی میشه، دقیقاً مثل Rich Presence دیسکورد رو اسپاتیفای).
پارامترها
| پارامتر | توضیح |
|---|---|
deviceId | الزامی — شناسهی شخصیت |
theme | اختیاری — dark (پیشفرض) یا light |
کارت SVG برای گیتهاب
مخصوص جاهایی که فقط تصویر قبول میکنن — مثل README گیتهاب. یه خط Markdown، همین:

خروجی یه SVG سرورساختهست — کاور، عنوان، نوار پیشرفت، و انیمیشن اکولایزر (با <animate> واقعی SVG، پس تو خودِ گیتهاب هم متحرکه).
API خام JSON
برای وقتی میخوای خودت رابط کاربری بسازی. این اکشن CORS باز داره — مستقیم از دامنهی خودت قابل fetchـه.
GET https://arshiahub.ir/music/api.php?action=now_playing&deviceId=YOUR_DEVICE_ID
مثال با fetch
async function loadNowPlaying(deviceId) { const res = await fetch( `https://arshiahub.ir/music/api.php?action=now_playing&deviceId=${deviceId}` ); const data = await res.json(); if (data.isPlaying) { console.log(`گوش میده: ${data.title} — ${data.artist}`); } } setInterval(() => loadNowPlaying("YOUR_DEVICE_ID"), 15000);
شنیدن همزمان
لینکی که تو trackUrl برمیگرده، دقیقاً از همون ثانیهای که طرف داره گوش میده باز میشه — نه از اول آهنگ. مثل دکمهی «Listen Along» دیسکورد.
https://arshiahub.ir/music/track.php?id=42&t=87
فیلدهای پاسخ
وقتی isPlaying: true باشه:
{
"ok": true,
"isPlaying": true,
"title": "شب بیستاره",
"artist": "عرشیا رهنما",
"cover": "https://arshiahub.ir/music/uploads/images/xxxx.jpg",
"trackUrl": "https://arshiahub.ir/music/track.php?id=42&t=87",
"position": 87.3,
"duration": 214.0,
"siteName": "Aramesh Music",
"siteUrl": "https://arshiahub.ir/music/"
}
| فیلد | نوع | توضیح |
|---|---|---|
isPlaying | boolean | حداکثر ۴۰ ثانیه پیش پخش فعال بوده |
position / duration | number | ثانیه — برای رسم نوار پیشرفت خودت |
trackUrl | string | لینک «شنیدن همزمان»، آماده با تایماستمپ |
cover | string | لینک کامل و مطلق |
محدودیتها
- وضعیت هر ۱۵ ثانیه از پلیر Aramesh Music بهروزرسانی میشه؛ بعد از ۴۰ ثانیه سکوت، خودکار
isPlaying:falseمیشه. - برای جلوگیری از سواستفاده Rate Limit داره — برای مصرف عادی (رفرش هر ۱۵-۳۰ ثانیه) کاملاً کافیه.
- deviceId اشتباه یا قدیمی هیچوقت خطا نمیده، فقط
isPlaying:falseبرمیگرده.
رفع اشکال
کارت گیتهاب «Error Fetching Resource» میده+
معمولاً یعنی camo (پراکسی تصویر گیتهاب) نسخهی قدیمی/ناموفق رو کش کرده. یه پارامتر الکی به آدرس اضافه کن تا camo مجبور به تلاش دوباره بشه:
...nowplaying-card.php?deviceId=YOUR_ID&v=2
اگه بازم جواب نداد، گواهی SSL دامنه رو با SSL Labs تست کن — camo نسبت به مرورگر عادی سختگیرتره.
ویجت همیشه «آفلاینه» نشون میده+
مطمئن شو دقیقاً همون deviceId که تو تب «Now Playing API» کپی کردی رو استفاده میکنی، و همون لحظه یه آهنگ رو Aramesh Music در حال پخشه (نه فقط پاز شده).
سوالات متداول
نیاز به API Key دارم؟+
نه. فقط deviceId خودت لازمه — همون که بدون ثبتنام از داخل سایت میگیری.
میتونم رنگ/سایز ویجت رو عوض کنم؟+
سایز رو با width/height خودِ iframe کنترل کن. تم روشن/تیره با پارامتر theme.
محدودیت تعداد سایتی که وصل میکنم؟+
نه، همون deviceId رو هر جا خواستی (چند سایت، بیو دیسکورد، پروفایل گیتهاب) همزمان استفاده کن.