En Discord-bot skrevet i Python (discord.py) til festlege. Dette er en rewrite af den originale JavaScript-version (Partynator/) med forbedret struktur, cogs og nye kommandoer.
Spil "Jeg har aldrig..." / "Never have i ever..." med danske og engelske spørgsmål.
!nhie start- Start spillet (sprog vælges via!settings nhie <dk|en>)!n- Få næste spørgsmål!nhie stop- Stop spillet!nhie new <dk|en> <sætning>- Tilføj et nyt spørgsmål!settings nhie <dk|en>- Skift sprog for NHIE
Spørgsmål loades fra nhie/nhie_DK.txt (dansk) og nhie/nhie_EN.txt (engelsk).
Kortspil hvor hvert kort har en specifik betydning. Kortbilleder vises lokalt fra cards/ mappen (downloadet automatisk ved første kørsel).
!vandfald start- Start spillet!vf- Træk et kort!vandfald stop- Stop spillet!vf sniper <@user>- Brug sniperkort (kræver Es)!vf sniper stop- Stop snipen når du er ramt (kræver Es)!vf pause- Brug pausekort (kræver 6)!vf pause stop- Stop pausen (gør ingenting ved spillet)!vf pause list- Vis hvem der har pausekort!vf regel new <regel>- Tilføj en regel (kræver 9)!vf regel list- Vis alle regler i spillet!vf regel delete <nr>- Slet en regel (kræver 10)!settings vf <1|2>- Vælg 1 eller 2 sæt kort
Kort definitioner loades fra vf.txt (CSV format: suit,name,description,image_path).
Klassisk terningespil hvor du slår to terninger og forsøger at opnå det højeste kast. Terningerne vises som ét kombineret billede (side om side) genereret i hukommelsen (BytesIO). Når spillet starter vises en embed-boks med reglerne, og den første spiller nævnes i en separat besked (så @mentions virker korrekt).
!cm start <@user1> <@user2> ...- Start spillet (min. 2 spillere, viser regler + første spiller)!cm_roll- Slå terningerne (viser kombineret billede)!cm lock- Lås dit slag!cm stop- Stop spillet
Terningebilleder ligger i dice/ mappen og kombineres via Pillow til 80x80 pixels hver (160x80 totalt).
!help- Vis hovedmenuen med kategorier!help games- Vis alle spil og deres kommandoer!help nhie/!help vf/!help cm- Detaljeret hjælp for hvert spil!help other- Andre kommandoer!ping- Tjek om botten lever!gif <søgning>- Søg efter GIF via Giphy!roll [1d6]- Slå terninger (f.eks.!roll 2d6)!dice [antal]- Slå X terninger (1-5)!settings- Vis og skift indstillinger!reload [cog]- Genindlæs cogs (kræver administrator)
!games- Vis alle tilgængelige spil!games nhie- Info om Never Have I Ever!games vf- Info om Vandfald
- Python 3.8 eller nyere
- discord.py 2.0+ (
pip install discord.py) - aiohttp (
pip install aiohttp)
-
Installer afhængigheder:
pip install discord.py aiohttp
-
Opret bot på Discord Developer Portal:
- Opret en ny applikation
- Gå til "Bot" og opret en bot
- Aktivér MESSAGE CONTENT INTENT under Privileged Gateway Intents
- Kopier bot token
-
Konfigurér
config.json:- Rename the file
config.json.templateand call itconfig.json. - In this file you insert your bot token for Discord.
{ "prefix": "!", "token": "DIN_BOT_TOKEN_HER", "embed_color": "#FF3769", "giphyToken": "DIN_GIPHY_TOKEN" }(Giphy token er valgfrit - kun nødvendigt for
!gifkommandoen) - Rename the file
-
Invitér botten til din server:
- Gå til OAuth2 → URL Generator i Developer Portal
- Vælg
botscope - Vælg permissions: Send Messages, Embed Links, Attach Files, Read Message History, Manage Nicknames
- Brug URL'en til at invitere botten
-
Kør botten:
python bot.py
Partynator_python/
├── bot.py # Hovedfil - Initialiserer botten og indlæser cogs
├── config.json # Konfiguration (token, prefix, osv.)
├── CLAUDE.md # Info til Claude Code
├── README.md # Denne fil
├── vf.txt # Kortdefinitioner til Vandfald (CSV)
├── nhie/
│ ├── nhie_DK.txt # Danske NHIE spørgsmål
│ └── nhie_EN.txt # Engelske NHIE spørgsmål
├── dice/ # Terningebilleder (1_1.png til 6_2.png)
├── cards/ # Vandfald kortbilleder (downloadet lokalt)
└── cogs/
├── nhie.py # Never Have I Ever spil
├── vf.py # Vandfald spil
├── cm.py # Cykel Meyer spil
└── dice.py # Terning kommandoer
- discord.py - Discord API wrapper
- aiohttp - HTTP klient til Giphy API
- Pillow - Billedbehandling til kombinerede terningebilleder (
pip install Pillow)
- Bruger
discord.pycogs i stedet for en stormessageevent handler - In-memory storage i stedet for
Enmap(state nulstilles ved genstart) !cm_rolltil at slå terninger (i stedet for bare!cm)!games nhieviser kun info, starter ikke spillet (brug!nhie start)- Vandfald kortbilleder gemmes lokalt i
cards/for bedre pålidelighed - Cykel Meyer terninger kombineres som ét billede via BytesIO (ingen diske-filer)
!vf pause stoptilføjet (gør ingenting ved spillet, kun besked)!helpsystem med kategorier (!help games,!help vf,!help cm,!help other)
Dette projekt er en Python-rewrite af den originale Partynator bot lavet i JavaScript.