كيفية نشر الصور تلقائيًا في قناة Discord

ديب لاب

ديب لاب

Moderator
مشـــرف
17 ديسمبر 2023
1,579
6
36
Discord image auto upload cover image

هل تدير خادم Discord وترغب في نشر الصور تلقائيًا على قناة معينة على فترات منتظمة دون تحريك إصبعك؟ ستوضح لك هذه المقالة كيفية تحميل الصور تلقائيًا إلى قناة Discord باستخدام أداة Discord-AIU والبرامج النصية المخصصة.

تخيل أنك تدير خادم Discord مخصصًا للأنيمي، وترغب في إبقاء أعضائك منخرطين من خلال نشر أعمال فنية جديدة كل يوم. تبدو الفكرة بسيطة التنفيذ: ما عليك سوى أن تتذكر نشر صورة كل 24 ساعة، أليس كذلك؟ خطأ. تصبح الحياة مزدحمة، وقبل أن تدرك ذلك، يصرخ أعضاؤك في وجهك، متسائلين عن أين ذهبت جرعتهم اليومية من الأنيمي. هنا يأتي دور الأتمتة لإنقاذ الموقف – وعقلك.

لنشر الصور تلقائيًا على قناة Discord الخاصة بك، سنستخدم مجموعة من الأدوات والبرامج النصية. هدفنا الرئيسي هو إعداد نظام يقوم بتحميل الصور بانتظام إلى قناة Discord المحددة الخاصة بك دون أي تدخل يدوي. سنستخدم
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
(أداة تحميل الصور التلقائية) كأساس لنا، إلى جانب بعض البرامج النصية المخصصة للتعامل مع عملية الجدولة واختيار الصور.

تثبيت Discord-AIU​


الآن بعد أن حددنا هدفنا، فلنبدأ في إنشاء روبوت تحميل الصور باستخدام Discord-AIU. أولاً، ستحتاج إلى تنزيل Discord-AIU منها
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
أنصحك بالحصول على الإصدار الأحدث وفك ضغطه في مكان مناسب. تم تطوير الأداة بلغة بايثون، لذا يمكنك تشغيلها على أي نظام تشغيل رئيسي.

Download discord aiu from github 800x419

بمجرد تنزيل Discord-AIU، ستحتاج إلى تثبيت تبعيات Python الضرورية. إذا تم تثبيت Python على نظامك، فيمكنك فقط فتح المحطة الطرفية أو موجه الأوامر، والانتقال إلى دليل Discord-AIU، وتشغيل الأمر pdm install (قد تحتاج أيضًا إلى
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
لتنفيذه).

Discord aiu dependencies installation 800x507

سيقوم الأمر بتثبيت جميع الحزم المطلوبة للأداة للعمل بشكل صحيح، وهي: pillow، وpython-dotenv، وrequests.

إنشاء نقطة نهاية Webhook لقناتك​


الخطوة التالية هي إنشاء نقطة نهاية webhook في خادم Discord الخاص بك. هذا الخطاف هو نقطة الاتصال بين Discord-AIU وخادمك. للقيام بذلك، افتح اعدادات الخادم وانتقل إلى التكاملات فاتورة غير مدفوعة.

Discord create webhook 800x460

اضغط على إنشاء Webhook اضغط على الزر، وستظهر لك خيارات لتخصيص خطاف الويب الخاص بك. يمكنك تحرير الصورة الرمزية واختيار القناة التي سيتم نشر الصور عليها وإعطاء خطاف الويب الخاص بك اسمًا.

Discord copy webhook url 800x460

بعد إعداد هذه الإعدادات، يمكنك النقر فوق نسخ عنوان URL لـ Webhook زر للحصول على عنوان URL لخطاف الويب الذي تم إنشاؤه حديثًا.

تكوين إعدادات Discord-AUI​


بعد إعداد خطاف الويب الخاص بك، حان الوقت لتكوين Discord-AIU. افتح مجلد Discord-AUI وانتقل إلى المصدر مجلد فرعي.

Discord aiu src subfolder 800x379

هناك، ابحث عن ملف يسمى 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 aiu 800x495

المشكلة الوحيدة هي أن الأمر يقوم دائمًا بتحميل جميع الصور الموجودة في المجلد المحدد بشكل مجمع. ورغم أن هذا قد يكون مفيدًا للغاية ويوفر الوقت إذا كنت بحاجة إلى مشاركة الكثير من الصور مع مجتمعك، فإن هدفنا هو تحميل صورة واحدة في كل مرة إلى Discord تلقائيًا على فترات منتظمة. ولحسن الحظ، كل ما نحتاجه هو نص برمجي مخصص.

جدولة Discord-AUI للتنفيذ على فترات منتظمة​


الآن بعد أن تأكدنا من عمل Discord-AUI، فلنبدأ في أتمتة عملية نشر الصور على فترات منتظمة. سننشئ نصًا برمجيًا ينفذ المهام التالية:

  1. يختار ملفًا عشوائيًا من مجلد قائمة الانتظار.
  2. ينقله إلى مجلد الصور.
  3. تنفيذ أداة Discord-AUI.
  4. نقل الصورة التي تم تحميلها إلى مجلد “تم تحميلها”.

إذا كنت تستخدم نظام التشغيل 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”.

Task scheduler windows create basic task 800x519

يختار يوميًا للتشغيل وضبط الوقت المفضل لديك. بالنسبة للإجراء، حدد بدء برنامج. في ال البرنامج/النص الحقل، أدخل “powershell”، وفي إضافة الحجج الحقل، أدخل -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1".

Crontab macos 800x507

إذا كنت تستخدم Linux أو macOS، فيمكنك فتح صالة و النوع

لتحرير مهام cron الخاصة بك (يمكنك أيضًا استخدام sudo EDITOR=nano crontab -e (لاستخدام محرر Nano بدلاً من Vim).

أضف سطرًا جديدًا لتشغيل البرنامج النصي يوميًا في الساعة 12:00 ظهرًا (الظهر)، والذي يبدو بهذا الشكل:


0 12 * /path/to/your/script.sh


احفظ ثم اخرج من المحرر.

بمجرد إكمال هذه الخطوات، سيتم تشغيل البرنامج النصي الذي اخترته تلقائيًا كل يوم، مما يجعل قناة Discord الخاصة بك متجددة بالصور الجديدة. فقط تذكر أن تحرص على إبقاء مجلد قائمة الانتظار لديك مليئًا بالصور الجديدة لضمان تدفق ثابت للمحتوى. إذا كنت ترغب في جعل خادمك مكانًا أكثر تسلية للزيارة، فيمكنك متابعة ذلك من خلال تعلم كيفية تحويل Raspberry Pi إلى محطة راديو Discord.