bot_of_prey/README.md

24 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Bot of Prey
Bot of Prey is a simple Mastodon / Fediverse bot that posts a random bird of prey taken from Wikimedia Commons. The bot makes an API call to my website, the source of which can also be found [here](https://git.bateleur.org/hexaitos/predator_pics).
## Running the bot
You will need to have access to the bird API. You can either host it yourself or use the publically available one at [birds.bateleur.org/api/random](https://birds.bateleur.org/api/random). You will also need an API token for a Fediverse instance. I have tried this with both Mastodon and GoToSocial, I do not know if any others work the same way.
You must then create a `.env` file within this directory and put the following lines into it:
```conf
API_KEY = "API_KEY_FOR_FEDIVERSE_INSTANCE"
INSTANCE_URL = "URL_TO_FEDIVERSE_INSTANCE"
BIRD_API_URL = "URL_TO_BIRD_API"
```
You can also copy the included `.env.example` to `.env` and place the correct values into the variables.
If you would then like for the bot to run every x hours, I would recommend either a `systemd` service or a simple cron job. You can also save Bot of Preys output to a file for logging. An example cron job (posts every six hours) could be as follows:
```cron
0 */6 * * * /home/user/bot_of_prey/main.rb >> /home/user/bot_of_prey.log 2>&1
```
You will also need to install all the requires gems. Make sure you have Bundler installed or install it with `gem install bundler` if needed. Afterwards, run the `bundle install` command, this should install all the required gems.