هذه الوحدة مخصصة لتنزيل كل ملف mp3 من خلاصة patreon rss.
إنه حاليًا في حالة ألفا ويعمل بشكل جيد للغاية بالنسبة لحالة الاستخدام المحددة الخاصة بي، وحالات الاستخدام الأخرى مع قليل من القوة. سيقدم التحديث التالي كائن خيارات أفضل للتحكم في الجوانب المختلفة حسب رغبتك. في الوقت الحالي، سيقوم فقط بتنزيل كل ملف من النوع الصوتي/mpeg في موجز RSS إلى الدليل الحالي.
ستحتاج إلى الحصول على رابط RSS الفردي الخاص بك من موقع حملة patreon (patreon.com -> الشريط الجانبي ضمن "العضوية" -> الحملة الفردية -> علامة تبويب العضوية -> الروابط السريعة -> "الاستماع إلى تطبيقات البودكاست الأخرى")
استيراد getRssItems من 'patreon-mp3-downloader'؛const items = انتظار getRssItems('https://www.patreon.com/rss/PATREONCAMPAIGN?auth=PATREON_PROVIDED_AUTH_TOKEN_STRING');// سيكون هذا عبارة عن مجموعة من كائنات العنصر، يحتوي على عنوان وعنوان url// بالإضافة إلى طريقة download() يمكنك استخدامها لتشغيل تنزيل // ملف فردي file.console.log(items);// بما أن لديك مجموعة من الكائنات التي يحتوي كل منها على طريقة التنزيل الخاصة به،// أنت حر في تنزيلها كما تريد.// تنزيل أحدث عنصر في موجز RSS:await items[0].download();// قم بتنزيل كل عنصر بالتسلسل، بدءًا من الأحدث، مع إضافة رقم إلى اسم الملف:let counter = items.length;for (const item من العناصر) {console.log(`downloading ${counter} - ${item.fileName}`);wait item.download(`${counter} - `);counter--;}// تنزيل كل عنصر في الخلاصة مرة واحدة (لا يُنصح باستخدام الخلاصات الأكبر حجمًا):await Promise.all(items.map(i => Wait i.download()))// يمكنك أيضًا تقطيع المصفوفة باستخدام lodash وPromise.all كل قطعة:import _ from 'lodash';const قطع = _.chunk(items, 5);for (قطعة ثابتة من القطع) {await Promise.all(chunk.map(i => Wait i.download()));}
مرة أخرى، سيتم توفير واجهة أكثر سهولة في الاستخدام مع الأساليب المذكورة أعلاه المضمنة في التحديث التالي.
صنع مع ؟ و ؟