• This repository has been archived on 27/Jan/2023
  • Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 5 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🍊 Find out how many bots follow any given Twitter acount

Bot Followers GitHub Actions: Tests GitHub Actions: Black

A web app to check whether followers of a given Twitter account are bots using Botometer. This repository started as a fork of Twitter Clean-up.

Dashboard

If you're looking for the CLI version, it's tagged.

Installing

  1. Make sure you meet these requirements:
    1. Twitter API keys
    2. Botometer API key
    3. For development, Docker Compose
    4. For production, Dokku
  2. Set up your local configuration variables; you can:
    • run Createnv,
    • or manually copy .env.sample as .env editing it accordingly.

Development environment

To start the services use the default docker-compose up. To prevent errors in the development environment, make sure the you have DEBUG=True in your .env file.

Deploy environment

Having a Dokku-ready server:

  1. Install the following Dokku plug-ins:
    1. PostgreSQL (or other database of your choice)
    2. RabbitMQ (or other Celery broker of your choice)
    3. Let's Encrypt
  2. Create an app for Bot Followers in Dokku, add it as a remote repository in your local Git repository, and activate the plug-ins.
  3. For each variable in .env, create an equivalent environment variable for your Dokku app.

Usage

The commands in this section might be prefixed by:

  • docker-compose run --rm django in development mode
  • dokku run <app name> in production mode

Dashboard

In order to get the app ready, before visiting / at your server, you need to run migrations and create a user(s) to access the dashboard.

  1. Run migrations with python manage.py migrate
  2. Create a super user for yourself with python manage.py createsuperuser

It's recommended to create a proper user to access the dashboard without super powers: all you need to do is to:

  1. Login in as superuser create a new user that is staff
  2. Get back to the edit page of this user
  3. In the Permissions menu, add only the permission to view report to this new user

API

There is a simple JSON API at /api/ to share the report data without the need of user or login.

Management commands

Importing data from the CLI version

$ python manage.py import /path/to/borsalino.sqlite3

Check whether active/inactive jobs are in sync in the dashboard

$ python manage.py updatecelerytasks

Empty the queue of pending tasks

$ python manage.py purgecelerytasks

Contributing

Please, write tests, run checks, and format your code with Black:

$ python manage.py test
$ black .

More Repositories

1

minha-receita

🏢 Sua API web para consulta de informações do CNPJ da Receita Federal
Go
1,204
star
2

twitter-cleanup

🛁 Clean-up inactive accounts and bots from your Twitter
Python
288
star
3

yaml.nvim

🍒 YAML toolkit for Neovim users
Lua
169
star
4

calculadora-do-cidadao

💵 Tool for Brazilian Reais monetary adjustment/correction
Python
149
star
5

my-internet-speed

🛎️ Monitor the speed your ISP is delivering
Python
135
star
6

alchemydumps

SQLAlchemy backup/dump tool for Flask
Python
116
star
7

getgist

🖥️ Easily download any file from a GitHub Gist, with one single command.
Python
103
star
8

docs-cpi-pandemia

😷 Dowload dos documentos da CPI da Pandemia
Go
99
star
9

whiskyton

Whiskyton, find whiskies that you like!
Python
84
star
10

fio-de-ariadne

🪁 Structuiring data on missing kids in Brazil
Python
77
star
11

elm-format-number

✨Format numbers as pretty strings
Elm
60
star
12

chunk

🧱 Chunk is a download manager for slow and unstable servers
Go
53
star
13

pwned-antifas

HTML
50
star
14

brazilian-cities

A script to generate list with all Brazilian cities and states
Python
48
star
15

createnv

🧞‍♀️Automagically creates .env files
Python
40
star
16

django-public-admin

🔓 A public and read-only version of the Django Admin
Python
37
star
17

webassets-elm

📦Filter for compiling Elm files using webassets
Python
36
star
18

cunhajacaiu

Brazilian website counting the days to the fall of Cunha
Elm
27
star
19

django-ajax-contacts

Web app to discuss responsabilities of backend and frontend code
Python
26
star
20

raspadorlegislativo

Testes de código para integrar, futuramente, o Radar Legislativo
Python
19
star
21

go-cpf

CPF validation in Go
Go
17
star
22

go-cnpf

🇧🇷 CPF and CNPJ validation in Go
Go
16
star
23

fuckoff-twitter

Fuck off @twitter, let me have "latest tweets" as a default.
Rust
14
star
24

PhD

My PhD writings
CSS
14
star
25

cara-de-nordestino

Você tem cara de nordestino?
Elm
14
star
26

grupy-python-tdd-flask

Palestra para encontro do Grupy-SP em 12 de março de 2016.
Python
14
star
27

dotfiles

🥰 My dot files
Lua
13
star
28

em-nome-da-lai

🧑‍⚖️ Em nome da LAI! Gerador de petições com base na LAI.
Elm
13
star
29

hangouts-django-ajax

Source for a Hangouts On Air about Django & AJAX
Python
11
star
30

UOLEsportesSexista

Chrome Extension that redacts sexist contents from UOL sports coverage.
CoffeeScript
11
star
31

ezz

🎦 ezz is a simple CLI tool to schedule Zoom meetings
Rust
10
star
32

scrapy-memcached-cache

🗂Memcached HTTP cache storage backend for Scrapy
Python
10
star
33

hangouts-mock

Source code for a live coding session about Python's unittest.mock
Python
9
star
34

findaconf

Mock-up for Find a Conference
Python
7
star
35

vamos-aprender-elm-api

API created for educational purposes while teaching Elm
Python
7
star
36

wed

🌤 Track the weather for event days
Rust
7
star
37

lista-de-compras

🛒 Bot de lista de compras compartilhada para o Telegram
Python
6
star
38

its-wednesday

Captain, it's Wednesday!
Go
5
star
39

vamos-aprender-elm

Source codes from a series of live coding in Elm
Elm
5
star
40

pagamentos-alesc

Python
5
star
41

from-my-ex

💕 Sending all the love from my ex to my new happy and promisucous social media life
Python
4
star
42

spellfile.nvim

🌕 Port of spellfile.vim to Lua without depending on netrw
Lua
4
star
43

go-cnpj

CNPJ validation in Go
Go
4
star
44

boteco

CLI to create redirections in CloudFlare to Zoom meetings.
Rust
4
star
45

grrs

This is me studying Rust having Command Line Applications in Rust book as a starting point.
Rust
4
star
46

triathlon-live-calendar

📅 Calendar file generator for triathlonlive.tv upcoming events
Python
4
star
47

grupy-porque-elm

Código fonte para a palestra que ofereci no encontro do Grupy-SP, em 17 de setembro de 2016.
Elm
3
star
48

sortimages

Python
3
star
49

twitter-filtered-stream-client

🏞️ Twitter Filtered Stream API Client
Go
3
star
50

hangouts-django-react

Source for a Hangouts On Air about Django & ReactJS
Python
3
star
51

filterss

FilteRSS - More power over your feeds
HTML
3
star
52

palestra-relampago-git-bisect

Mini-calculadora escrita como exemplo para uma palestra relâmpago sobre `git bisect`
Python
3
star
53

ironbot

🚵 CLI to get information about Ironman professional races
Python
2
star
54

repo-birthday

🎂 Know when your repos are celebrating their birthdays!
Rust
2
star
55

MeDontLikeFB

Make your Facebook better, stop liking things.
JavaScript
2
star
56

astronomer

⭐️ Astronomer looks at the stars. At all the stars you’ve got on GitHub.
Rust
1
star
57

not-my-ex

🐝 Tiny CLI to post simultaneously to Mastodon and Bluesky
Python
1
star
58

minha-receita-mirror

Simple UI for R2 objects
1
star
59

ftp-based-zones

⚡ Cycling FTP-based training zones
Elm
1
star
60

cuducos.me

Source files of my personal webpage
HTML
1
star
61

manifestacoes-no-twitter

Python
1
star
62

airnope

☔ AirNope keeps Telegram groups clean from ”airdrop” spam
Rust
1
star