Files
mustafa/README.md
T
2026-10-29 23:05:09 +01:00

63 lines
2.4 KiB
Markdown

# UiO Gaming Discord Bot
UiO Gaming Discord Bot er en chattebot for ulike formål. Hvilke formål det er, er jeg ikke helt sikker på.
## Kom i gang
0. Lag en botbruker / skaff en token. [Se her](https://discordpy.readthedocs.io/en/stable/discord.html). Skru også på alle tre _Privileged Gateway Intents_ (Presence, Server Members og Message Content) under "Bot" i Developer Portal. Botten ber om alle intents og starter ikke uten dem
1. Lag en kopi av filen [config.yaml.example](src/config/config.yaml.example) i "config" mappen og fjern `.example` fra enden av filnavnet til kopien
2. Fyll inn verdiene i denne konfiguarsjonsfilen
Merk at konfigurasjonsfilen har felt for bl.a. databasekobling. Disse er ikke påkrevd, men du vil derimot miste funksjonalitet om de ikke er fylt inn. Det eneste man _må_ fylle inn, som ikke er fylt inn fra før, er `token`.
`config_mode` bestemmer hvor slash-kommandoene synkroniseres. Med `dev` synkroniseres de bare til serveren i `dev_guild`, der de dukker opp med en gang. Med `prod` synkroniseres de globalt.
### Valgfrie funksjoner
Mangler et felt, skrus funksjonene som trenger det av når botten starter:
| Felt | Funksjoner |
| --- | --- |
| `database` | Bursdager, autosvar, gullkorn, Minecraft-whitelist, social credit, stjernetavla, streaks, høyde og MBTI, ordsky |
| `minecraft` | Minecraft-whitelist. Botten kobler til RCON på `127.0.0.1:25575`, så Minecraft-serveren må kjøre på samme maskin |
| `sanity` | Synkronisering av arrangementer til nettsiden |
| `galtinn` | `/galtinn medlemskap` |
| `ids` | Funksjoner som trenger en kanal, rolle eller bruker. De som mangler en ID hoppes over |
Databasen må være PostgreSQL. Gitt en bruker med tilgang til å skrive og lese fra databasen vil botten lage alle tabeller den trenger for å fungere.
Når token er fylt inn kan du så bevege deg videre til ett av to alternativer.
### Valgmulighet 1 - Docker (Anbefalt)
```
docker compose up --build
```
Konfigurasjonsfilen kopieres inn i imaget når det bygges, så husk `--build` etter at du har endret den. Containeren bruker vertens nettverk, slik at den når databasen og Minecraft-serveren på `localhost`.
### Valgmulighet 2 - Manuelt
Du bør ha gjort følgende:
- Installert [uv](https://docs.astral.sh/uv/)
- Installert `ffmpeg`, `graphviz` og `pandoc`
1. Installer avhengigheter
```
uv sync
```
2. Kjør bot fra rotmappen til prosjektet
```
uv run src/run.py
```
## Bidra
Se [CONTRIBUTING.md](CONTRIBUTING.md)