Je ne sais pas quand je pourrai terminer cet outil en raison d'autres projets sur lesquels je travaille. Cependant, je voulais noter que le suivi massif des utilisateurs est contraire aux conditions d'utilisation de GitHub (non indiqué ci-dessous). Par conséquent, utilisez-le à vos propres risques !
Il s'agit d'un GitHub Follow Bot créé dans une application Django. La gestion du bot se fait dans le centre d'administration par défaut de Django ( /admin
). Le bot lui-même s'exécute en arrière-plan de l'application Django.
Le bot fonctionne comme suit.
python3 manage.py createsuperuser
).Les modèles Python suivants sont requis et je recommanderais la version 3.8 ou supérieure de Python puisque c'est ce avec quoi j'ai testé.
django
aiohttp
Vous pouvez les installer comme ci-dessous.
# 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
Il y a quelques mois, j'ai découvert quelques utilisateurs de GitHub qui suivaient plus de 100 000 utilisateurs qui utilisaient manifestement des robots. Au début, j'ai été choqué parce que je pensais que GitHub était contre les utilisateurs massifs, mais après en avoir lu davantage, il semble que cela ne les dérange pas. Cela m'a fait réfléchir et si je commençais également à suivre des utilisateurs aléatoires. Certains de ces utilisateurs avaient un seul projet GitHub.io qui a reçu beaucoup d'attention et je suppose que cela vient de tous les utilisateurs qu'ils suivaient. J'ai décidé d'essayer ceci. Je voulais voir si cela m'aiderait à me connecter avec d'autres développeurs et c'est certainement le cas ! Personnellement, je n'ai pas utilisé de bot pour y parvenir, je parcourais en fait des listes d'abonnés d'autres comptes et je suivais des utilisateurs aléatoires. Comme on pouvait s'y attendre, cela a complètement encombré ma page d'accueil, mais cela m'a aussi permis de découvrir de nouveaux projets, ce qui était sympa à mon avis.
Bien qu'il s'agisse techniquement de « spam », la bonne chose que j'ai remarquée est que cela n'a certainement pas d'impact sur l'utilisateur que je suis, à part l'ajout d'une seule ligne dans sa page d'accueil indiquant que je le suis (ou qu'il reçoit un message). e-mail indiquant ceci s'ils l'ont activé). Cependant, je pourrais voir cela devenir ennuyeux si de nombreuses personnes/bots commençaient à le faire (peut-être que GitHub pourrait ajouter un paramètre utilisateur qui a un nombre maximum de suivis d'un utilisateur qui peut les suivre ou recevoir des notifications lorsque l'utilisateur suit).
En fait, je pense que c'est bien que cela soit autorisé jusqu'à présent car cela permet aux autres de découvrir vos projets. Étant donné que j'ai pas mal de projets de réseautage sur ce compte, certaines personnes que j'ai suivies m'ont contacté et ont déclaré qu'elles trouvaient mes projets intéressants parce qu'elles n'étaient pas dans ce domaine.
Je ne prendrais pas non plus en charge les profils vides créés uniquement dans le but de suivre en masse.
Même s'il semble que GitHub ne dérange pas les utilisateurs qui suivent massivement les autres (ce que je soutiens encore une fois), cela est toujours considéré comme une tactique de spam. Par conséquent, veuillez utiliser cet outil à vos propres risques. Je ne vais même pas l'utiliser moi-même car j'aime suivre manuellement les utilisateurs. J'ai réalisé ce projet pour en savoir plus sur Python.
À l'intérieur de l'interface Web, un modèle de paramètres devrait être visible. Les paramètres suivants doivent être insérés.
L'installation doit être effectuée comme une application Django classique. Cette application utilise SQLite comme base de données. Vous pouvez en savoir plus sur Django ici. Je recommanderais les commandes suivantes.
# 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
L'interface Web doit être située à http://<host/ip>:<port>
. Par exemple.
http://localhost:8000
Bien que vous puissiez techniquement exécuter le serveur de développement de l'application Django pour ce bot puisque seuls les paramètres sont configurés via celui-ci, Django recommande de lire ceci pour une utilisation en production.
Pourquoi avez-vous choisi Django comme interface ?
Même si les paramètres auraient pu être configurés sur l’hôte lui-même, je souhaitais une interface facilement accessible de n’importe où. La meilleure chose pour cela serait un site Web à mon avis. La plupart de mon expérience concerne Django, c'est pourquoi j'ai choisi ce projet.