• Rust 85%
  • HTML 11.9%
  • Python 3.1%
Find a file
2026-03-31 15:01:18 +02:00
.github/workflows make docker build only run on tag push 2025-05-04 14:42:50 +02:00
docker update Readme 2025-05-05 12:18:19 +02:00
screenshots update readme.md 2026-03-31 15:01:18 +02:00
src Clear guild settings on invalid configs. 2025-05-04 19:55:13 +02:00
tools Remove docker-push script 2025-05-04 20:18:07 +02:00
.dockerignore add signing key tools 2025-02-15 23:18:58 +01:00
.gitignore add signing key tools 2025-02-15 23:18:58 +01:00
.tmux chore: change .tmux to use PWD name always 2025-02-09 16:22:03 +01:00
Cargo.lock bump version to 1.0.12 2025-05-05 12:19:03 +02:00
Cargo.toml bump version to 1.0.12 2025-05-05 12:19:03 +02:00
compose.dev.yaml add signing key tools 2025-02-15 23:18:58 +01:00
compose.yaml Add approved_at and approved_by fields to approve_requests 2025-02-15 23:51:57 +01:00
deny.toml ran Cargo Update; updated deny.toml 2024-02-27 16:15:32 +01:00
fia-docs-bot.html add docker-compose 2025-02-09 13:19:04 +01:00
LICENSE-APACHE add license 2023-12-14 19:13:35 +01:00
LICENSE-MIT add license 2023-12-14 19:13:35 +01:00
readme.md update readme.md 2026-03-31 15:01:18 +02:00
rustfmt.toml chore: replace printlns with error! or info! 2024-07-09 11:46:50 +02:00

FIA Documents Bot

A Public Discord bot that automatically posts new FIA Documents to Discord inside a new thread.

Features

  • Create a new Thread for each new Event.
  • Post Documents with up to four Pages as previews.
  • Notify Roles together with new Documents.
  • Quick Setup using a slash command.

Installation

Click here to add this bot to your Discord server.

If you do want to make it your own, you can easily run everything using docker compose.

Configuration

This app is configured using environment variables. If available the app will load a .env file.

Here is an example .env file:

DISCORD_TOKEN=<Discord bot Token>
DATABASE_TOKEN=<Libsql JWT>
SENTRY_DSN=<Sentry DSN for error Reporting>

Docker

This app is fully dockerized and can be used with docker compose.

Here is an example docker-compose.yaml that hosts:

  • A Libsql Database
  • The Discord Bot
  • The FIA-Docs-Scraper which provides data
services:
  libsql-database:
    image: ghcr.io/tursodatabase/libsql-server:latest
    volumes:
        - ./data/libsql:/var/lib/sqld
    container_name: database
    env_file: ./.db.env
  discord-bot:
    image: ghcr.io/markustheort/fia-docs-bot:latest
    container_name: fia-docs-bot
    restart: unless-stopped
    env_file: ./.bot.env
    environment:
      - DATABASE_URL=http://database:8080
    depends_on:
     - libsql-database
  docs-scraper:
    image: codeberg.org/mto/fia-docs-scraper:latest
    container_name: fia-docs-scraper
    restart: unless-stopped
    env_file: ./.scraper.env
    environment:
      - DATABASE_URL=http://database:8080
    depends_on:
      - libsql-database
    stop_grace_period: 30s

Screenshots

Screenshot 1

Tech Stack

  • Rust with Tokio
  • serenity-rs for Discord interactions
  • Libsql for Data Storage
  • FIA-Docs-Scraper as data provider
  • Sentry for error reporting

License

This Project is licensed under the MIT and Apache Licenses.