.editorconfig | ||
.gitignore | ||
app.json | ||
Dockerfile | ||
functions.py | ||
gen.py | ||
LICENSE | ||
main.py | ||
README.md | ||
reply.py | ||
requirements.txt |
mstdn-ebooks
Lynnear Edition
This version makes quite a few changes from the original, such as:
- Unicode support
- Non-Markov stuff
- Stores toots in a sqlite database rather than a text file
- Doesn't unnecessarily redownload all toots every time
FediBooks
Before you use mstdn-ebooks to create your own ebooks bot, I recommend checking out FediBooks. Compared to mstdn-ebooks, FediBooks offers a few advantages:
- Hosted and maintained by someone else - you don't have to worry about updating, keeping the computer on, etc
- No installation required
- A nice UI for managing your bot(s)
- Easy configuration
However, there are still a few reasons you might want to use mstdn-ebooks instead:
- Your data stays local to your machine
- More customisation potential - you can edit mstdn-ebooks to add functionality
- Replying more (in)frequently than FediBooks allows
Like mstdn-ebooks, FediBooks is free, both as in free of charge and free to modify, self-host, and more.
Install/usage guide
An installation and usage guide is available here. It's primarily targeted at Linux, but it should be possible on BSD, macOS, etc. I've also put some effort into providing steps for Windows, but I can't make any guarantees as to its effectiveness.
Compatibility
Software | Downloading statuses | Posting | Replying |
---|---|---|---|
Mastodon | Yes | Yes | Yes |
Pleroma | Somewhat | Yes | No |
Misskey | Yes | No | No |
diaspora* | No | No | No |
Others | Maybe | No | No |
Configuration
Configuring mstdn-ebooks is accomplished by editing config.json
. If you want to use a different file for configuration, specify it with the --cfg
argument. For example, if you want to use /home/lynne/c.json
instead, you would run python3 main.py --cfg /home/lynne/c.json
instead of just python3 main.py
Setting | Default | Meaning |
---|---|---|
site | https://botsin.space | The instance your bot will log in to and post from. This must start with https:// or http:// (preferably the latter) |
cw | null | The content warning (aka subject) mstdn-ebooks will apply to non-error posts. |
instance_blacklist | ["bofa.lol", "witches.town", "knzk.me"] | If your bot is following someone from a blacklisted instance, it will skip over them and not download their posts. This is useful for ensuring that mstdn-ebooks doesn't waste time trying to download posts from dead instances, without you having to unfollow the user(s) from them. |
learn_from_cw | false | If true, mstdn-ebooks will learn from CW'd posts. |
mention_handling | 1 | 0: Never use mentions. 1: Only generate fake mentions in the middle of posts, never at the start. 2: Use mentions as normal (old behaviour). |
max_thread_length | 15 | The maximum number of bot posts in a thread before it stops replying. A thread can be 10 or 10000 posts long, but the bot will stop after it has posted max_thread_length times. |
strip_paired_punctuation | false | If true, mstdn-ebooks will remove punctuation that commonly appears in pairs, like " and (). This avoids the issue of posts that open a bracket (or quote) without closing it. |