لست متأكدًا من الوقت الذي سأتمكن فيه من إنهاء هذه الأداة بسبب المشاريع الأخرى التي أعمل عليها. ومع ذلك، أردت أن أشير إلى أن المتابعة الجماعية للمستخدمين تتعارض مع شروط خدمة GitHub (غير مذكورة أدناه). لذلك، يرجى استخدامها على مسؤوليتك الخاصة!
هذا هو GitHub Follow Bot الذي تم إنشاؤه داخل تطبيق Django. تتم إدارة الروبوت داخل مركز الإدارة الافتراضي لـ Django ( /admin
). يعمل الروبوت نفسه في خلفية تطبيق Django.
يعمل البوت على النحو التالي.
python3 manage.py createsuperuser
).نماذج Python التالية مطلوبة وأوصي بإصدار Python 3.8 أو أعلى نظرًا لأن هذا هو ما قمت باختباره.
django
aiohttp
يمكنك تثبيتها مثل أدناه.
# Python < 3
python -m pip install django
python -m pip install aiohttp
pip install django
pip install aiohttp
# Python >= 3
python3 -m pip install django
python3 -m pip install aiohttp
pip3 install django
pip3 install aiohttp
قبل بضعة أشهر، اكتشفت عددًا قليلاً من مستخدمي GitHub يتابعون أكثر من 100 ألف مستخدم كانوا يستخدمون الروبوتات بشكل واضح. لقد صدمت في البداية لأنني اعتقدت أن GitHub كان ضد عدد كبير من المستخدمين، ولكن بعد قراءة المزيد عنه، يبدو أنهم لا يمانعون. هذا جعلني أفكر ماذا لو بدأت في متابعة المستخدمين العشوائيين أيضًا. كان لدى بعض هؤلاء المستخدمين مشروع GitHub.io واحد حظي بالكثير من الاهتمام وأفترض أنه من جميع المستخدمين الذين كانوا يتابعونهم. قررت أن أحاول هذا. كنت أرغب في معرفة ما إذا كان ذلك سيساعدني في التواصل مع المطورين الآخرين، وهو ما ساعدني بالتأكيد! شخصيًا، لم أستخدم روبوتًا لتحقيق ذلك، كنت في الواقع أتصفح قوائم المتابعين من حسابات أخرى وأتابع مستخدمين عشوائيين. كما كنت تتوقع، أدى هذا إلى تشوش صفحتي الرئيسية تمامًا، ولكنه سمح لي أيضًا باكتشاف مشاريع جديدة كانت رائعة في رأيي.
على الرغم من أن هذا يعد "بريدًا عشوائيًا" من الناحية الفنية، إلا أن الشيء الجيد الذي لاحظته هو أنه بالتأكيد لا يؤثر على المستخدم الذي أتابعه بخلاف إضافة سطر واحد في صفحته الرئيسية يشير إلى أنني أتابعه (أو يتلقى رسالة بريد إلكتروني) بريد إلكتروني يوضح هذا إذا كان لديهم ذلك). على الرغم من ذلك، يمكنني أن أرى أن هذا يصبح مزعجًا إذا بدأ العديد من الأشخاص/الروبوتات في القيام بذلك (ربما يمكن لـ GitHub إضافة إعداد مستخدم يحتوي على الحد الأقصى لعدد المتابعين للمستخدم الذي يمكنه متابعته أو تلقي إشعارات عندما يتابعه المستخدم).
أعتقد في الواقع أنه من الجيد أن يكون هذا مسموحًا به حتى الآن لأنه يسمح للآخرين باكتشاف مشاريعك. نظرًا لأن لدي عددًا لا بأس به من مشاريع التواصل على هذا الحساب، فقد تواصلت مع بعض الأشخاص الذين تابعتهم قائلين إنهم وجدوا مشاريعي رائعة لأنهم ليسوا في هذا المجال.
أنا أيضًا لا أدعم الملفات الشخصية الفارغة التي تم إنشاؤها بغرض المتابعة الجماعية فقط.
على الرغم من أنه يبدو أن GitHub لا يمانع في قيام المستخدمين بمتابعة الآخرين على نطاق واسع (وهو ما أؤيده مرة أخرى)، إلا أن هذا لا يزال يعتبر تكتيكًا للبريد العشوائي. لذلك، يرجى استخدام هذه الأداة على مسؤوليتك الخاصة. لن أستخدمه بنفسي لأنني أستمتع بمتابعة المستخدمين يدويًا. لقد قمت بهذا المشروع لمعرفة المزيد عن بايثون.
داخل واجهة الويب، يجب أن يكون نموذج الإعدادات مرئيًا. ينبغي إدراج الإعدادات التالية.
يجب أن يتم التثبيت مثل تطبيق Django العادي. يستخدم هذا التطبيق SQLite كقاعدة بيانات. يمكنك قراءة المزيد عن جانغو هنا. أوصي بالأوامر التالية.
# Make sure Django and aiohttp are installed for this user.
# Clone repository.
git clone https://github.com/gamemann/GitHub-Follower-Bot.git
# Change directory to Django application.
cd GitHub-Follower-Bot/src/github_follower
# Migrate database.
python3 manage.py migrate
# Run the development server on any IP (0.0.0.0) as port 8000.
# NOTE - If you don't want to expose the application publicly, bind it to a LAN IP instead (e.g. 10.50.0.4:8000 instead 0f 0.0.0.0:8000).
python3 manage.py runserver 0.0.0.0:8000
# Create super user for admin web interface.
python3 manage.py createsuperuser
يجب أن تكون واجهة الويب موجودة على http://<host/ip>:<port>
. على سبيل المثال.
http://localhost:8000
بينما يمكنك تشغيل خادم تطوير تطبيق Django تقنيًا لهذا الروبوت نظرًا لأنه يتم تكوين الإعدادات فقط من خلاله، يوصي Django بقراءة هذا للاستخدام الإنتاجي.
لماذا اخترت Django لاستخدامه كواجهة؟
على الرغم من أنه كان من الممكن تكوين الإعدادات على المضيف نفسه، إلا أنني أردت واجهة يمكن الوصول إليها بسهولة من أي مكان. أفضل شيء لهذا هو موقع على شبكة الانترنت في رأيي. معظم تجربتي كانت مع Django ولهذا اخترت هذا المشروع.