Efter at jeg havde snakket med 1. semester, sagde de, at de gerne ville have hjælp til at få styr på alle links. De ønskede et sted, hvor de kunne finde alle de vigtige links samlet.
Jeg begyndte derefter at søge rundt på nettet, da vi ikke havde fået undervisning i, hvordan man laver en Discord-bot. Jeg ville gerne finde ud af, hvordan man gør, hvad man kan lave, og hvordan det hele fungerer. Jeg fandt derfor en YouTube-video, der viste, hvordan jeg skulle gøre.
Jeg har udviklet botten ved hjælp af JavaScript og biblioteket Discord.js, som gør det muligt at kommunikere med Discords API og reagere på hændelser i en server. Botten er opbygget omkring en klient, som oprettes med bestemte “intents”. Intents definerer, hvilken type data og begivenheder botten har adgang til, eksempelvis servere (guilds), beskeder (guildMessages) og selve tekstindholdet (messageContent). Dette er nødvendigt for, at botten kan reagere på brugernes kommandoer.

Som jeg nævnte før, er botten event-baseret, hvilket betyder, at den konstant lytter efter bestemte hændelser. Den vigtigste hændelse i koden er “messageCreate”, som aktiveres, hver gang en ny besked bliver sendt i en server, hvor botten er til stede. Beskedens indhold bliver derefter gemt og omdannet til små bogstaver, så kommandoerne ikke er afhængige af store og små bogstaver. Botten bruger derefter en række if- og else if-betingelser til at sammenligne beskeden med specifikke kommandoer såsom !hjælp, !skema og !aflevering. Hvis en af kommandoerne matcher, sender botten et svar tilbage til brugerne ved hjælp af message.reply().



Da jeg endelig var færdig med at kode botten, tilføjede jeg den til Discord-serveren, vi har i gruppen. Derefter spurgte jeg efter feedback, men der var meget stille i gruppen. Det var først, da jeg spurgte Rebecca, om hun kunne teste den, at der skete noget. Det var kun Rebecca og Frederik, der prøvede den. De havde ikke nogen forbedringsforslag, men jeg kunne selv se, at der var forbedringsmuligheder. For eksempel skulle den kunne genkende, når nogen beder om hjælp i en besked, og ikke kun når man skriver !hjælp som en kommando.
Så kom dagen, hvor vi skulle fremlægge vores produkter for resten af klassen. Det gik meget godt, og underviserne kunne godt se idéen med det. Jeg fik også nogle forbedringsforslag, blandt andet at andre ikke nødvendigvis skal kunne se, når man beder om hjælp. Derfor kunne botten svare privat til den person, der har spurgt. Et andet forbedringspunkt var, at teksten kunne gøres mere imødekommende, så den passer bedre til 1. semesterstuderende.
Refleksion
I arbejdet med Discord-botten har jeg fået erfaring med at udvikle et digitalt værktøj ud fra et konkret behov fra 1. semester, som ønskede et samlet sted til vigtige links. Det gjorde projektet brugerdrevet og mere meningsfuldt.
Da vi ikke havde undervisning i Discord-bots, måtte jeg selv opsøge viden, blandt andet gennem online videoer. Det gav mig erfaring med selvstændig læring og en bedre forståelse for, hvordan man arbejder med API’er og event-baseret programmering i JavaScript og Discord.js.
Under udviklingen lærte jeg, hvordan intents og events som messageCreate gør det muligt for botten at reagere på brugernes beskeder og kommandoer. Det styrkede min forståelse af, hvordan et system kan bygges til at være interaktivt og responsivt.
Efter lanceringen fik jeg begrænset feedback, hvilket viste mig, at brugerinddragelse er vigtig for at kunne forbedre et produkt. De få input, jeg fik, handlede blandt andet om bedre brugervenlighed og muligheden for private svar, hvilket gav mig nye idéer til videreudvikling.
Samlet set har projektet givet mig erfaring med både kodning, selvstændig læring og forbedring af et produkt gennem feedback.