No description
prisma | ||
src | ||
.dockerignore | ||
.env.example | ||
.eslintrc.js | ||
.gitignore | ||
.prettierrc | ||
config.json.example | ||
docker-compose.yml | ||
Dockerfile | ||
entrypoint.sh | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json |
UA-Bot
UA-Bot - Bot for Mastodon that reboosts message if mentioned.
Features
- Moderation - Send to Matrix room before reblog
- Reply or broken thread detection (not fully tested)
- Block instances and nicknames by regex
Install
First, install Postgres.
Second, clone repo.
Copy .env.example
to .env
and edit with your data:
DATABASE_URL="postgresql://uabot@postgres:5432/uabot"
Also copy config.json.example
to config.json
with your data:
mastodonClientId
- Mastodon Client IdmastodonAccessToken
- Mastodon Access TokenmastodonHomeserverURL
- Mastodon Homeserver URLmatrixHomeserverURL
- Matrix Homeserver URL bot for moderationmatrixAccessToken
- Matrix Access Token for Matrix bot for moderationmatrixRoomId
- Matrix Room Id for moderation
Also create nicknames.txt
and domains.txt
(regex files):
nicknames.txt
- block by username or display namedomains.txt
- block by domain name
Tip: #
in the beginning of the regex file means that this line will be ignored. You can use it as comment
Now you can install using Dockerimage or manually:
Docker
Build Dockerfile
and run
Also, mount config.json
, domains.txt
and nicknames.txt
to the /app
Manually
Install Node >= 18
Next, install packages, generate Prisma package for the project and build it:
npm i # alias for npm install
npm run generate
npm run build
Migrate database and run:
npm run migrate
npm start