2024-01-26 00:28:12 -08:00
2023-12-05 22:50:49 -08:00
2024-01-26 00:28:12 -08:00
2022-09-28 01:32:54 -07:00
2023-08-16 23:18:56 -07:00

NijiHolo EN/ID Bot

Twitter bot that tracks cross-company interactions between the non-JP branches of hololive/HOLOSTARS and Nijisanji!

The project banner

This project was created to run this account.

Running

Install dependencies.

pip install -r requirements.txt

Setup the .env in the project root. Refer to the .env section for variables.

Run the program from project root (not in src). Refer to the following section for options.

python src/main.py

Modes & Options

The bot may run in these modes:

  • Pass no argument to run in listen mode, which scrapes all accounts in the list folder at an interval.
    • Pass --straight-to-queue to process the locally-stored queue first before attempting to scrape.
  • Command-line (cmd): an interactive mode for manual control and debugging (drops into Python interpretor)

.env

These need to be defined in a .env file in the run ephemeral directory.

Scraper Credentials

To get around rate limitations imposed on users, we scrape with multiple accounts. Each account is defined in the file using the following format:

scraper_usernameX=twitter_username
scraper_passwordX=twitter_password

where X is a number starting from 0, increasing by 1 for each account added. For instance:

scraper_username0=
scraper_password0=
scraper_username1=
scraper_password1=

The first account (scraper_username0 and scraper_password0) MUST be defined (scraper_username and scraper_password without number will not work!) and will be used to attempt scraping private accounts. Make sure this account follows any private accounts that you want to scrape!

Twitter API Stuff

The following keys/tokens are used for the official API via tweepy. We mainly use these to just post tweets.

app_key=
app_secret=
user_token=
user_secret=

This is the authentication token obtained from a browser when signed in on the Twitter website. It's only needed if you want to screenshot tweets from privated accounts. Make sure the token belongs to an account that follows desired private accounts! Maybe have it belong to scraper_username0?

web_auth_token=

Example .env without values

scraper_username0=
scraper_password0=
scraper_username1=
scraper_password1=
scraper_username2=
scraper_password2=
scraper_username3=
scraper_password3=
web_auth_token=
app_key=
app_secret=
user_token=
user_secret=

Created for the spirit of entertainment and in the name of unity.

S
Description
Twitter bot that reposts tweets involving cross-group interactions.
Readme MIT 694 KiB
Languages
Python 97.6%
Shell 1.3%
Dockerfile 1.1%