No description
Find a file
2023-07-09 23:53:49 +03:00
prisma initial commit 2023-07-09 23:53:49 +03:00
src initial commit 2023-07-09 23:53:49 +03:00
.dockerignore initial commit 2023-07-09 23:53:49 +03:00
.env.example initial commit 2023-07-09 23:53:49 +03:00
.eslintrc.js initial commit 2023-07-09 23:53:49 +03:00
.gitignore initial commit 2023-07-09 23:53:49 +03:00
.prettierrc initial commit 2023-07-09 23:53:49 +03:00
config.json.example initial commit 2023-07-09 23:53:49 +03:00
docker-compose.yml initial commit 2023-07-09 23:53:49 +03:00
Dockerfile initial commit 2023-07-09 23:53:49 +03:00
entrypoint.sh initial commit 2023-07-09 23:53:49 +03:00
package.json initial commit 2023-07-09 23:53:49 +03:00
pnpm-lock.yaml initial commit 2023-07-09 23:53:49 +03:00
README.md initial commit 2023-07-09 23:53:49 +03:00
tsconfig.json initial commit 2023-07-09 23:53:49 +03:00

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 Id
  • mastodonAccessToken - Mastodon Access Token
  • mastodonHomeserverURL - Mastodon Homeserver URL
  • matrixHomeserverURL - Matrix Homeserver URL bot for moderation
  • matrixAccessToken - Matrix Access Token for Matrix bot for moderation
  • matrixRoomId - Matrix Room Id for moderation

Also create nicknames.txt and domains.txt (regex files):

  • nicknames.txt - block by username or display name
  • domains.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