mirror of
https://gitea.phreedom.club/localhost_frssoft/mastodon-group-bot
synced 2024-11-21 22:31:28 +00:00
services | ||
.gitignore | ||
bot.go | ||
config.go | ||
config.json | ||
limits.go | ||
main.go | ||
README.md |
Mastodon group bot
This is a bot which implements group functionality in Mastodon.
Features
- Repost toots
- Welcome message of new members
- Limit of toots per hour
- Admin commands
Admin commands
- unboost <Toot ID>
- delete <Toot ID>
- block <User ID>
- unblock <User ID>
Configuration
The bot is configured in a JSON file that looks like this:
{
"Server": "https://example.com",
"ClientID": "0000000000000000000000000000000000000000000",
"ClientSecret": "0000000000000000000000000000000000000000000",
"AccessToken": "0000000000000000000000000000000000000000000",
"WelcomeMessage": "We have a new member in our group. Please love and favor"
"Max_toots": 1,
"Toots_interval": 24,
"Admins": ["admin@example.com"]
}
Building
go mod init mastodon-group-bot
go mod tidy
go build
Setup services
For first copy config, binary and make dirs
mkdir /etc/mastodon-group-bot
mkdir /var/lib/mastodon-group-bot
chown nobody /var/lib/mastodon-group-bot
cp mastodon-group-bot /usr/bin/mastodon-group-bot
cp config.json /etc/mastodon-group-bot/config.json
Systemd
cp ./services/systemd/mastodon-group-bot.service /etc/systemd/system/mastodon-group-bot.service
OpenRC
cp ./services/openrc/mastodon-group-bot /etc/init.d/mastodon-group-bot
Usage
mastodon-group-bot -config <path> -db <path>