A collection of simple bots that post to an ActivityPub-compatible account that implements the [Mastodon API](https://docs.joinmastodon.org/client/intro/). (Tested with [Gotosocial](https://gotosocial.org) and Mastodon [Glitch Edition](https://glitch-soc.github.io/docs/))
- a git repository on a forge that supports [github actions](https://github.com/resources/whitepapers/actions)* (Gitea, Forgejo, Codeberg, and, of course, Github)
- the ability to add secrets to the repository
- an ActivityPub enabled account that supports the Mastodon API (only tested with Mastodon-glitch and Gotosocial at the moment)
- *optionally* a [Pushover](https://pushover.net) account.
Current bot list:
- [Dog facts](https://bots.fyrfli.social/@dogfacts) (dogs_facts.py) is a little bit of code I wrote in one my lazy, brain-foggy days.
- [Quips](https://bots.fyrfli.social/@dayswithoutwhitenonsense) (quip.py) I adopted the code I use for the [white nonsense bot](https://bots.fyrfli.social/@dayswithoutwhitenonsense) to use any provided text file that contains a basic list of sayings.
- [Quotes](https://bots.fyrfli.social/@quotesbot), my first bot.
- Repository Release watch, this one reads a list of feed urls and checks for a new entry in the last 6 hours. I have it running every other hour. This one does not post to an ActivityPub compatible account/feed... yet.
Additionally, each have specific requirement outlined below.
## Dog Facts bot
For this bot, you only need an access token that can wrtite posts to your instance. It grabs a random fact from a (up until now) free /facts [API endpoint](https://dogapi.dog/docs/api-v2)
## The Quips Bot
This bot reads a text file containing one line of text per statement. The secrets expected are aa follows:
Currently, I use this code to post to the [White Nonsense Bot](https://bots.fyrfli.social/@dayswithoutwhitenonsense) account
## The Random Quotes bot
A comma-separated formatted text file of quotes and authors like so:
```
quote,author
"Amet lorem voluptatem tempore sint quod? Nam porro aliquid aspernatur assumenda fugiat A odit excepturi facere vero nihil Nulla voluptate accusantium vero recusandae nulla Obcaecati nemo dolor non reprehenderit excepturi23", "Example Author"
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla","Author Exemplaris",
...
```
This bot requires only an additional secret with the path to your quotes file.
- The [puppybot](https://bots.fyrfli.social/@puppybot) [code](https://fyrfli.dev/fyrfli/puppybot) needs to be able to upload media via the requests library before I am willing to include it here.