هل تدير خادم Discord وترغب في نشر الصور تلقائيًا على قناة معينة على فترات منتظمة دون تحريك إصبعك؟ ستوضح لك هذه المقالة كيفية تحميل الصور تلقائيًا إلى قناة Discord باستخدام أداة Discord-AIU والبرامج النصية المخصصة.
تخيل أنك تدير خادم Discord مخصصًا للأنيمي، وترغب في إبقاء أعضائك منخرطين من خلال نشر أعمال فنية جديدة كل يوم. تبدو الفكرة بسيطة التنفيذ: ما عليك سوى أن تتذكر نشر صورة كل 24 ساعة، أليس كذلك؟ خطأ. تصبح الحياة مزدحمة، وقبل أن تدرك ذلك، يصرخ أعضاؤك في وجهك، متسائلين عن أين ذهبت جرعتهم اليومية من الأنيمي. هنا يأتي دور الأتمتة لإنقاذ الموقف – وعقلك.
لنشر الصور تلقائيًا على قناة Discord الخاصة بك، سنستخدم مجموعة من الأدوات والبرامج النصية. هدفنا الرئيسي هو إعداد نظام يقوم بتحميل الصور بانتظام إلى قناة Discord المحددة الخاصة بك دون أي تدخل يدوي. سنستخدم ديسكورد-AIU (أداة تحميل الصور التلقائية) كأساس لنا، إلى جانب بعض البرامج النصية المخصصة للتعامل مع عملية الجدولة واختيار الصور.
تثبيت Discord-AIU
الآن بعد أن حددنا هدفنا، فلنبدأ في إنشاء روبوت تحميل الصور باستخدام Discord-AIU. أولاً، ستحتاج إلى تنزيل Discord-AIU منها مستودع GitHubأنصحك بالحصول على الإصدار الأحدث وفك ضغطه في مكان مناسب. تم تطوير الأداة بلغة بايثون، لذا يمكنك تشغيلها على أي نظام تشغيل رئيسي.
بمجرد تنزيل Discord-AIU، ستحتاج إلى تثبيت تبعيات Python الضرورية. إذا تم تثبيت Python على نظامك، فيمكنك فقط فتح المحطة الطرفية أو موجه الأوامر، والانتقال إلى دليل Discord-AIU، وتشغيل الأمر pdm install
(قد تحتاج أيضًا إلى تثبيت PDM لتنفيذه).
سيقوم الأمر بتثبيت جميع الحزم المطلوبة للأداة للعمل بشكل صحيح، وهي: pillow، وpython-dotenv، وrequests.
إنشاء نقطة نهاية Webhook لقناتك
الخطوة التالية هي إنشاء نقطة نهاية webhook في خادم Discord الخاص بك. هذا الخطاف هو نقطة الاتصال بين Discord-AIU وخادمك. للقيام بذلك، افتح اعدادات الخادم وانتقل إلى التكاملات فاتورة غير مدفوعة.
اضغط على إنشاء Webhook اضغط على الزر، وستظهر لك خيارات لتخصيص خطاف الويب الخاص بك. يمكنك تحرير الصورة الرمزية واختيار القناة التي سيتم نشر الصور عليها وإعطاء خطاف الويب الخاص بك اسمًا.
بعد إعداد هذه الإعدادات، يمكنك النقر فوق نسخ عنوان URL لـ Webhook زر للحصول على عنوان URL لخطاف الويب الذي تم إنشاؤه حديثًا.
تكوين إعدادات Discord-AUI
بعد إعداد خطاف الويب الخاص بك، حان الوقت لتكوين Discord-AIU. افتح مجلد Discord-AUI وانتقل إلى المصدر مجلد فرعي.
هناك، ابحث عن ملف يسمى discord_aiu.py وافتحه في محرر النصوص المفضل لديك. الصق عنوان URL لـ Webhook في خيار التكوين المقابل بالقرب من أعلى الملف. يجب أن يبدو الأمر على هذا النحو:
WEBHOOK_URL = "
أوصيك أيضًا بتعديل خيار تكوين FOLDER_PATH بناءً على تفضيلاتك. بشكل افتراضي، يتم تعيينه على:
FOLDER_PATH = './images/'
هذا المسار نسبي لموقع ملف discord_aiu.py. بمعنى آخر، يجب إنشاء مجلد “images” في نفس الدليل الذي يحتوي على البرنامج النصي discord_aiu.py. لا تتردد في حفظ الملف وإنشاء المجلد الآن.
نشر صور متعددة تلقائيًا على Discord
لاختبار ما إذا كان Discord-AUI يعمل كما ينبغي، ضع صورة أو أكثر كعينة في مجلد الصور الذي حددته حديثًا. ثم افتح المحطة الطرفية أو موجه الأوامر، وانتقل إلى دليل Discord-AIU، وقم بتشغيل الأمر التالي:
pdm run ./src/discord_aiu.py
إذا تم إعداد كل شيء بشكل صحيح، فيجب أن ترى ظهور جميع صور الاختبار في قناة Discord المخصصة في غضون لحظات. يمكنك أيضًا إلقاء نظرة على مخرجات الأداة، والتي يجب أن تخبرك بالضبط بعدد الصور التي تم تحميلها بنجاح.
المشكلة الوحيدة هي أن الأمر يقوم دائمًا بتحميل جميع الصور الموجودة في المجلد المحدد بشكل مجمع. ورغم أن هذا قد يكون مفيدًا للغاية ويوفر الوقت إذا كنت بحاجة إلى مشاركة الكثير من الصور مع مجتمعك، فإن هدفنا هو تحميل صورة واحدة في كل مرة إلى Discord تلقائيًا على فترات منتظمة. ولحسن الحظ، كل ما نحتاجه هو نص برمجي مخصص.
جدولة Discord-AUI للتنفيذ على فترات منتظمة
الآن بعد أن تأكدنا من عمل Discord-AUI، فلنبدأ في أتمتة عملية نشر الصور على فترات منتظمة. سننشئ نصًا برمجيًا ينفذ المهام التالية:
- يختار ملفًا عشوائيًا من مجلد قائمة الانتظار.
- ينقله إلى مجلد الصور.
- تنفيذ أداة Discord-AUI.
- نقل الصورة التي تم تحميلها إلى مجلد “تم تحميلها”.
إذا كنت تستخدم نظام التشغيل Windows، فأنت بحاجة إلى إنشاء ملف نص عادي جديد (يمكنك استخدام المفكرة) ونسخ ولصق الكود التالي:
$QUEUE_FOLDER = "C:\path\to\Discord-AIU\src\queue" $IMAGES_FOLDER = "C:\path\to\Discord-AIU\src\images" $UPLOADED_FOLDER = "C:\path\to\Discord-AIU\src\uploaded" $DISCORD_AIU_PATH = "C:\path\to\Discord-AIU\src\discord_aiu.py" # Pick a random file from the queue $RANDOM_FILE = Get-ChildItem -Path $QUEUE_FOLDER | Get-Random -Count 1 if ($RANDOM_FILE) { # Move the file to the images folder Move-Item -Path $RANDOM_FILE.FullName -Destination $IMAGES_FOLDER # Run Discord-AIU Set-Location -Path "C:\path\to\Discord-AIU" pdm run $DISCORD_AIU_PATH # Move the processed file to the uploaded folder $PROCESSED_FILE = Get-ChildItem -Path $IMAGES_FOLDER Move-Item -Path $PROCESSED_FILE.FullName -Destination $UPLOADED_FOLDER }
حفظ البرنامج النصي باسم سكربت.ps1 أو شيء مماثل (.ps1 هو امتداد لنصوص PowerShell).
يمكن لمستخدمي Linux وmacOS إنشاء سكربت.sh ملف يحتوي على البرنامج النصي bash التالي:
#!/bin/bash QUEUE_FOLDER="/path/to/Discord-AIU/src/queue" IMAGES_FOLDER="/path/to/Discord-AIU/src/images" UPLOADED_FOLDER="/path/to/Discord-AIU/src/uploaded" DISCORD_AIU_PATH="/path/to/Discord-AIU/src/discord_aiu.py" # Pick a random file from the queue RANDOM_FILE=$(find "$QUEUE_FOLDER" -type f | shuf -n 1) if [ -n "$RANDOM_FILE" ]; then # Move the file to the images folder mv "$RANDOM_FILE" "$IMAGES_FOLDER" # Run Discord-AIU cd /path/to/Discord-AIU && pdm run "$DISCORD_AIU_PATH" # Move the file to the uploaded folder mv "$IMAGES_FOLDER"/* "$UPLOADED_FOLDER" fi
لا تنس إنشاء المجلدات اللازمة وتعديل المسارات لتعكس مواقعها، بالإضافة إلى موقع مجلد Discord-AIU نفسه. تحتاج أيضًا إلى جعل البرنامج النصي قابلاً للتنفيذ باستخدام chmod +X /path/to/script
يأمر.
أخيرًا، تحتاج إلى جدولة ملف script.ps1 (Windows) أو ملف script.sh (Linux وmacOS) ليتم تشغيله تلقائيًا – لنقل مرة واحدة يوميًا.
باعتبارك مستخدمًا لنظام التشغيل Windows، يمكنك فتح جدول المهام من خلال البحث عنه في قائمة ابدأ، انقر فوق إنشاء مهمة أساسية في اللوحة اليمنى وأعطي مهمتك اسمًا، مثل “Discord Image Uploader”.
يختار يوميًا للتشغيل وضبط الوقت المفضل لديك. بالنسبة للإجراء، حدد بدء برنامج. في ال البرنامج/النص الحقل، أدخل “powershell”، وفي إضافة الحجج الحقل، أدخل -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"
.
إذا كنت تستخدم Linux أو macOS، فيمكنك فتح صالة و النوع
لتحرير مهام cron الخاصة بك (يمكنك أيضًا استخدام sudo EDITOR=nano crontab -e
(لاستخدام محرر Nano بدلاً من Vim).
أضف سطرًا جديدًا لتشغيل البرنامج النصي يوميًا في الساعة 12:00 ظهرًا (الظهر)، والذي يبدو بهذا الشكل:
0 12 * * * /path/to/your/script.sh
احفظ ثم اخرج من المحرر.
بمجرد إكمال هذه الخطوات، سيتم تشغيل البرنامج النصي الذي اخترته تلقائيًا كل يوم، مما يجعل قناة Discord الخاصة بك متجددة بالصور الجديدة. فقط تذكر أن تحرص على إبقاء مجلد قائمة الانتظار لديك مليئًا بالصور الجديدة لضمان تدفق ثابت للمحتوى. إذا كنت ترغب في جعل خادمك مكانًا أكثر تسلية للزيارة، فيمكنك متابعة ذلك من خلال تعلم كيفية تحويل Raspberry Pi إلى محطة راديو Discord.