mirror of
https://github.com/UiO-Gaming/mustafa.git
synced 2026-11-05 13:56:48 +01:00
65 lines
2.8 KiB
Markdown
65 lines
2.8 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.
|
|
|
|
Bruk en egen botbruker når du utvikler lokalt. Kjører du `dev` med samme token som produksjonsbotten, får serveren i `dev_guild` både de globale kommandoene og kopiene, og alle kommandoer vises to ganger. Botten logger en advarsel når det skjer. I `prod` fjernes kommandoer som er igjen i `dev_guild` fra tidligere `dev`-kjøringer automatisk.
|
|
|
|
### 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)
|