# lefaucheurnoir/test_diagram architecture

> Architecture diagram of the GitHub repository lefaucheurnoir/test_diagram, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lefaucheurnoir/test_diagram
- Repository: https://github.com/lefaucheurnoir/test_diagram

## Overview

This is a Discord bot for guild raid events. Members sign up through interactive controls; the bot updates event data and raid messages. Event data and guild settings are persisted as JSON. The excerpt also shows raid administration, participant views, recurring-event publication, and super-admin guild controls. The README provides no product details, and the source excerpt is partial, so the graph includes only relationships visible in the supplied source.

Main entry points: [`main.py`](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py) (Signup interaction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_events["Raid events"]
  node_signup["Signup interaction<br/>[main.py]"]
  node_raid_data["Raid event data<br/>[main.py]"]
  node_raid_message["Raid message<br/>[main.py]"]
  node_recurring_publish["Recurring publication<br/>[main.py]"]
  node_participant_view["Participant view<br/>[main.py]"]
end

subgraph group_storage["Guild persistence"]
  node_guild_data["GuildData<br/>[main.py]"]
  node_json_files[("Guild JSON files")]
end

subgraph group_admin["Administration"]
  node_raid_admin["Raid administration<br/>[main.py]"]
  node_guild_search["Guild search<br/>[main.py]"]
  node_global_admin["Global admin views<br/>[main.py]"]
end

node_member(("Guild member"))
node_discord{{"Discord platform"}}

node_member -->|"signs up"| node_signup
node_signup -->|"updates"| node_raid_data
node_signup -->|"saves events"| node_guild_data
node_signup -->|"refreshes"| node_raid_message
node_recurring_publish -->|"publishes"| node_raid_message
node_participant_view -->|"reads signups"| node_raid_data
node_guild_data -->|"reads and writes"| node_json_files
node_member -->|"manages raids"| node_raid_admin
node_raid_admin -->|"closes or deletes"| node_raid_data
node_member -->|"uses controls"| node_global_admin
node_global_admin -->|"searches guilds"| node_guild_search
node_global_admin -->|"queries guilds"| node_discord

click node_signup "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_raid_data "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_raid_message "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_recurring_publish "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_participant_view "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_guild_data "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_raid_admin "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_guild_search "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"
click node_global_admin "https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_signup,node_raid_data,node_raid_message,node_recurring_publish,node_participant_view toneBlue
class node_guild_data,node_json_files toneAmber
class node_raid_admin,node_guild_search,node_global_admin toneMint
class node_member,node_discord toneIndigo
```

## Components

### Raid events

- [Signup interaction](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Raid event data](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Raid message](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Recurring publication](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Participant view](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`

### Guild persistence

- [GuildData](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- **Guild JSON files**

### Administration

- [Raid administration](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Guild search](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`
- [Global admin views](https://github.com/lefaucheurnoir/test_diagram/blob/main/main.py): `main.py`

### Other components

- **Guild member**
- **Discord platform**

## Connections

- Guild member → Signup interaction: signs up (evidence: `main.py`)
- Signup interaction → Raid event data: updates (evidence: `main.py`)
- Signup interaction → GuildData: saves events (evidence: `main.py`)
- Signup interaction → Raid message: refreshes (evidence: `main.py`)
- Recurring publication → Raid message: publishes (evidence: `main.py`)
- Participant view → Raid event data: reads signups (evidence: `main.py`)
- GuildData → Guild JSON files: reads and writes (evidence: `main.py`)
- Guild member → Raid administration: manages raids (evidence: `main.py`)
- Raid administration → Raid event data: closes or deletes (evidence: `main.py`)
- Guild member → Global admin views: uses controls (evidence: `main.py`)
- Global admin views → Guild search: searches guilds (evidence: `main.py`)
- Global admin views → Discord platform: queries guilds (evidence: `main.py`)
