No estoy seguro de cuándo podré terminar esta herramienta debido a otros proyectos en los que estoy trabajando. Sin embargo, quería señalar que el seguimiento masivo de usuarios va en contra de los TOS de GitHub (no se indica a continuación). Por lo tanto, ¡úselo bajo su propia responsabilidad!
Este es un GitHub Follow Bot creado dentro de una aplicación Django. La gestión del bot se realiza dentro del centro de administración predeterminado de Django ( /admin
). El bot en sí se ejecuta en segundo plano de la aplicación Django.
El bot funciona de la siguiente manera.
python3 manage.py createsuperuser
).Se requieren los siguientes modelos de Python y recomendaría la versión 3.8 o superior de Python, ya que es con eso con lo que he probado.
django
aiohttp
Puede instalarlos como se muestra a continuación.
# 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
Hace unos meses, descubrí que algunos usuarios de GitHub seguían a más de 100.000 usuarios que obviamente estaban usando bots. Al principio me sorprendió porque pensé que GitHub estaba en contra de un seguimiento masivo de usuarios, pero después de leer más sobre esto, parece que no les importa. Esto me hizo pensar qué pasaría si también comenzara a seguir a usuarios aleatorios. Algunos de estos usuarios tenían un único proyecto de GitHub.io que recibió mucha atención y supongo que es de todos los usuarios que seguían. Decidí probar esto. Quería ver si me ayudaría a conectarme con otros desarrolladores y ¡ciertamente lo hizo! Personalmente, no he usado un bot para lograr esto, en realidad estaba revisando listas de seguidores de otras cuentas y siguiendo a usuarios aleatorios. Como era de esperar, esto saturó completamente mi página de inicio, pero también me permitió descubrir nuevos proyectos, lo cual fue genial en mi opinión.
Si bien esto es técnicamente "spam", lo bueno que he notado es que ciertamente no afecta mucho al usuario que sigo, aparte de agregar una sola línea en su página de inicio indicando que lo estoy siguiendo (o que recibe un mensaje). correo electrónico indicando esto si lo tienen activado). Sin embargo, podría ver que esto se vuelve molesto si muchas personas/bots comenzaran a hacerlo (quizás GitHub podría agregar una configuración de usuario que tenga un recuento máximo de seguidores de un usuario que pueda seguirlos o recibir notificaciones cuando el usuario los siga).
De hecho, creo que es genial que esto esté permitido hasta ahora porque permite que otros descubran tus proyectos. Dado que tengo bastantes proyectos de networking en esta cuenta, algunas personas a las que seguí se comunicaron y me dijeron que encontraban mis proyectos interesantes porque no están en ese campo.
Tampoco apoyaría perfiles vacíos creados únicamente con el propósito de seguimiento masivo.
Aunque parece que a GitHub no le importa que los usuarios sigan masivamente a otros (lo cual, nuevamente, apoyo), esto todavía se considera una táctica de spam. Por lo tanto, utilice esta herramienta bajo su propia responsabilidad. Ni siquiera voy a usarlo porque disfruto seguir a los usuarios manualmente. Hice este proyecto para aprender más sobre Python.
Dentro de la interfaz web, debería estar visible un modelo de configuración. Se deben insertar las siguientes configuraciones.
La instalación debe realizarse como una aplicación Django normal. Esta aplicación utiliza SQLite como base de datos. Puedes leer más sobre Django aquí. Recomendaría los siguientes comandos.
# 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
La interfaz web debe estar ubicada en http://<host/ip>:<port>
. Por ejemplo.
http://localhost:8000
Si bien técnicamente podrías ejecutar el servidor de desarrollo de la aplicación Django para este bot, ya que allí solo se configuran las configuraciones, Django recomienda leer esto para uso en producción.
¿Por qué elegiste Django para usarlo como interfaz?
Si bien los ajustes se podrían haber configurado en el propio host, quería una interfaz a la que se pudiera acceder fácilmente desde cualquier lugar. En mi opinión, lo mejor para esto sería un sitio web. La mayor parte de mi experiencia es con Django y por eso elegí ese proyecto.