A bot that tracks and auto-deletes statuses on Mastodon/Pleroma accounts after a set time if they are cringe enough
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thor e1b3e0ffb3 Add data store for statuses; rearrange client files 3 years ago
.gitignore Add data store for statuses; rearrange client files 3 years ago
LICENSE Added MIT licence 3 years ago
README.md Update notice in README 3 years ago
bogofilter.py Add data store for statuses; rearrange client files 3 years ago
bot-lib-demo.py Changed name in README 3 years ago
bot.py Add data store for statuses; rearrange client files 3 years ago
config.toml.example Add data store for statuses; rearrange client files 3 years ago
cringebot.py Add data store for statuses; rearrange client files 3 years ago
cringebot.service Updated config files to reflect new name 3 years ago

README.md

cringebot

cringebot is a bot that tracks and auto-deletes on Mastodon/Pleroma accounts according to a set maximum age, if they are cringe enough. Tracking multiple accounts simultaneously is possible. Once a status is flagged as based, the bot will not touch it.

Note: This software is still a little rough around the edges. If anybody but me actually wants to use this, I'll clean it up more, probably.

Installation (Linux)

Obtain root login shell

sudo -i

Install dependencies

apt install python3 bogofilter
pip3 install Mastodon.py html2text

Download cringebot and make user account

git clone https://git.thj.no/thor/cringebot.git /usr/local/lib/cringebot
useradd -d /usr/local/lib/cringebot -M -s /bin/bash -U cringebot
chown -R cringebot.cringebot /usr/local/lib/cringebot

Create configuration

cd /usr/local/lib/cringebot
cp config.example.json config.json
editor config.json

Install systemd service

ln -s cringebot.service /etc/systemd/system/cringebot.service
systemctl enable cringebot
systemctl start cringebot

Management

# Restart service
systemctl restart cringebot

# Check service status
systemctl status cringebot

# Monitor log output
journalctl -t cringebot -f

Learning

The bot will respond to each of your messages with a categorisation direct message. To adjust it, you can respond to this direct message with:

learn cringe
learn based

unlearn cringe
unlearn based

relearn cringe
relearn based

Use learn on messages the bot is unsure about, unlearn to weaken the categorisation, and relearn to nudge a clear categorisation one way or another. When a message is learned or relearned as cringe, it's scheduled for deletion max_age minutes after it was posted. When it's learned or relearned as based, or unlearned as cringe, it's removed from the deletion schedule.

Maintainer

The maintainer can be contacted at @thor@pl.thj.no.