Saya tidak yakin kapan saya bisa menyelesaikan alat ini karena ada proyek lain yang sedang saya kerjakan. Namun, saya ingin mencatat bahwa pengguna yang mengikuti secara massal melanggar TOS GitHub (tidak disebutkan di bawah). Oleh karena itu, silakan gunakan dengan risiko Anda sendiri!
Ini adalah GitHub Follow Bot yang dibuat di dalam aplikasi Django. Pengelolaan bot dilakukan di dalam pusat admin default Django ( /admin
). Bot itu sendiri berjalan di latar belakang aplikasi Django.
Bot berfungsi sebagai berikut.
python3 manage.py createsuperuser
).Model Python berikut diperlukan dan saya akan merekomendasikan Python versi 3.8 atau lebih tinggi karena itulah yang saya uji.
django
aiohttp
Anda dapat menginstalnya seperti di bawah ini.
# 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
Beberapa bulan yang lalu, saya menemukan beberapa pengguna GitHub mengikuti lebih dari 100 ribu pengguna yang jelas-jelas menggunakan bot. Pada awalnya saya terkejut karena saya pikir GitHub menentang pengguna yang mengikuti dalam jumlah besar, tetapi setelah membaca lebih lanjut, tampaknya mereka tidak keberatan. Hal ini membuat saya berpikir bagaimana jika saya mulai mengikuti pengguna secara acak juga. Beberapa dari pengguna ini memiliki satu proyek GitHub.io yang mendapat banyak perhatian dan saya berasumsi itu berasal dari semua pengguna yang mereka ikuti. Saya memutuskan untuk mencoba ini. Saya ingin melihat apakah ini akan membantu saya terhubung dengan pengembang lain dan tentu saja berhasil/telah! Secara pribadi, saya belum pernah menggunakan bot untuk melakukan hal ini, saya sebenarnya menelusuri daftar pengikut dari akun lain dan mengikuti pengguna acak. Seperti yang Anda harapkan, ini benar-benar mengacaukan halaman beranda saya, tetapi juga memungkinkan saya menemukan proyek baru yang menurut saya rapi.
Meskipun secara teknis ini adalah 'spam', hal baik yang saya perhatikan adalah hal ini tidak berdampak banyak pada pengguna yang saya ikuti selain menambahkan satu baris di halaman beranda mereka yang menyatakan bahwa saya mengikuti mereka (atau mereka menerima email yang menyatakan ini jika mereka mengaktifkannya). Meskipun demikian, menurut saya hal ini menjadi menjengkelkan jika banyak orang/bot mulai melakukannya (mungkin GitHub dapat menambahkan pengaturan pengguna yang memiliki jumlah pengikut maksimum dari pengguna yang dapat mengikuti mereka atau menerima pemberitahuan ketika pengguna mengikuti).
Menurut saya, sejauh ini hal ini diperbolehkan karena memungkinkan orang lain menemukan proyek Anda. Karena saya memiliki beberapa proyek jaringan di akun ini, ada beberapa orang yang menghubungi saya dan menyatakan bahwa mereka menganggap proyek saya rapi karena mereka tidak tertarik pada bidang itu.
Saya juga tidak akan mendukung profil kosong yang dibuat hanya untuk tujuan mengikuti secara massal.
Meskipun tampaknya GitHub tidak keberatan jika pengguna mengikuti orang lain secara besar-besaran (yang sekali lagi saya dukung), ini masih dianggap sebagai taktik spam. Oleh karena itu, silakan gunakan alat ini dengan risiko Anda sendiri. Saya sendiri bahkan tidak akan menggunakannya karena saya senang mengikuti pengguna secara manual. Saya membuat proyek ini untuk mempelajari lebih lanjut tentang Python.
Di dalam antarmuka web, model pengaturan akan terlihat. Pengaturan berikut harus dimasukkan.
Instalasi harus dilakukan seperti aplikasi Django biasa. Aplikasi ini menggunakan SQLite sebagai databasenya. Anda dapat membaca lebih lanjut tentang Django di sini. Saya akan merekomendasikan perintah berikut.
# 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
Antarmuka web harus ditempatkan di http://<host/ip>:<port>
. Misalnya.
http://localhost:8000
Meskipun secara teknis Anda dapat menjalankan server pengembangan aplikasi Django untuk bot ini karena hanya pengaturan yang dikonfigurasi melalui sana, Django merekomendasikan membaca ini untuk penggunaan produksi.
Mengapa Anda memilih Django untuk digunakan sebagai antarmuka?
Meskipun pengaturannya dapat dikonfigurasi pada host itu sendiri, saya menginginkan antarmuka yang mudah diakses dari mana saja. Menurut pendapat saya, hal terbaik untuk ini adalah situs web. Sebagian besar pengalaman saya adalah dengan Django itulah sebabnya saya memilih proyek itu.