Files
Lunaris2.0/Bot/README.md
2024-06-01 23:42:17 +02:00

1.1 KiB

How commands from Discord gets executed

flowchart TD
    Program[Program] -->|Register| EventListener
    EventListener[DiscordEventListener] --> A[MessageReceivedHandler]

    EventListener[DiscordEventListener] --> A2[SlashCommandReceivedHandler]

    A --> |Message| f{If bot is mentioned}
    f --> |ChatCommand| v[ChatHandler]

    A2[SlashCommandReceivedHandler] -->|Message| C{Send to correct command by 
            looking at commandName}

    C -->|JoinCommand| D[JoinHandler]
    C -->|PlayCommand| E[PlayHandler]
    C -->|HelloCommand| F[HelloHandler]
    C -->|GoodbyeCommand| G[GoodbyeHandler]

Program registers an event listener DiscordEventListener which publish a message :

await Mediator.Publish(new MessageReceivedNotification(arg), _cancellationToken);

Handler integrations

flowchart TD
    D[JoinHandler] --> Disc[Discord Api]
    E[PlayHandler] --> Disc[Discord Api]
    F[HelloHandler] --> Disc[Discord Api]
    G[GoodbyeHandler] --> Disc[Discord Api]
    v[ChatHandler] --> Disc[Discord Api]
    v --> o[Ollama Server]
    o --> v
    E --> Lava[Lavalink]