# binroom-devs/aika-yokina-binroom-mascot-discord-bot architecture

> Architecture diagram of the GitHub repository binroom-devs/aika-yokina-binroom-mascot-discord-bot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot
- Repository: https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot

## Overview

Aika Yokina is a Discord server mascot bot whose main user-facing path is Discord interaction through bot commands and events. Its major branches include the AI roleplay chatbot, Geometry Dash and activity leaderboards, server safety and moderation, and BinRoom information and utility features. The README documents the product capabilities; the sampled source and SOURCE INDEX support the internal links shown. Some cogs are unsampled, so their internal wiring is not inferred.

Main entry points: [`database.py`](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/database.py) (SQLite Data), [`cogs/aika_chatbot_ai/ai_chatbot.py`](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/ai_chatbot.py) (AI Conversation), [`cogs/binroom_gd_leaderboard/_cog.py`](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_cog.py) (GD Leaderboard), [`cogs/binroom_gd_leaderboard/_utils.py`](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_utils.py) (GD Data Utilities)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Bot Runtime"]
  node_bot["Bot Runtime<br/>[bot.py]"]
  node_settings["Settings<br/>[config.py]"]
  node_database[("SQLite Data<br/>[database.py]")]
end

subgraph group_chat["AI Chatbot"]
  node_chatbot["AI Conversation<br/>[ai_chatbot.py]"]
  node_chat_config["Chat Settings<br/>[_config.py]"]
  node_chat_utils["Chat Utilities<br/>[_utils.py]"]
  node_chat_views["Chat Views<br/>[_views.py]"]
  node_chat_commands["Memory Commands<br/>[commands.py]"]
end

subgraph group_community["Community Features"]
  node_leaderboard_central["Leaderboard Hub"]
  node_gd_leaderboard["GD Leaderboard<br/>[_cog.py]"]
  node_gd_config["GD Categories<br/>[_config.py]"]
  node_gd_models["GD Player Models<br/>[_models.py]"]
  node_gd_utils["GD Data Utilities<br/>[_utils.py]"]
  node_gd_registration["GD Registration<br/>[_registration.py]"]
  node_gd_categories["GD Category Views<br/>[_categories.py]"]
  node_daily_stats["Daily Statistics<br/>[daily_stats.py]"]
  node_member_streak["Member Streaks<br/>[member_streak.py]"]
  node_member_card["Member ID Cards<br/>[cog.py]"]
  node_card_generator["Card Generator<br/>[_card_generator.py]"]
end

subgraph group_safety["Safety and Moderation"]
  node_honeypot["Honeypot Watch<br/>[honeypot.py]"]
  node_event_logging["Event Logging<br/>[log.py]"]
  node_moderation["Moderation Commands"]
end

subgraph group_server["Server Information"]
  node_utility_commands["Utility Commands"]
  node_server_info["Server Information"]
  node_core_commands["Core Commands"]
end

node_members(("Discord Members"))
node_groq{{"Groq Qwen"}}

node_members -->|"use commands"| node_bot
node_bot -->|"uses storage"| node_database
node_chatbot -->|"saves memory"| node_database
node_chatbot -->|"requests completions"| node_groq
node_chatbot -->|"uses settings"| node_chat_config
node_chatbot -->|"uses helpers"| node_chat_utils
node_chatbot -->|"uses views"| node_chat_views
node_chat_commands -->|"uses views"| node_chat_views
node_leaderboard_central -->|"dispatches to"| node_gd_leaderboard
node_gd_leaderboard -->|"uses settings"| node_gd_config
node_gd_leaderboard -->|"uses models"| node_gd_models
node_gd_leaderboard -->|"calls helpers"| node_gd_utils
node_gd_leaderboard -->|"uses views"| node_gd_categories
node_gd_registration -->|"loads player data"| node_gd_utils
node_gd_categories -->|"formats rankings"| node_gd_utils
node_gd_utils -->|"reads and writes"| node_database
node_leaderboard_central -->|"loads rankings"| node_gd_utils
node_daily_stats -->|"uses storage"| node_database
node_member_streak -->|"uses storage"| node_database
node_member_card -->|"uses storage"| node_database
node_member_card -->|"generates cards"| node_card_generator
node_event_logging -->|"uses storage"| node_database
node_bot -->|"imports settings"| node_settings
node_members -->|"enter monitored channel"| node_honeypot
node_members -->|"invoke moderation"| node_moderation

click node_bot "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/bot.py"
click node_settings "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/config.py"
click node_database "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/database.py"
click node_chatbot "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/ai_chatbot.py"
click node_chat_config "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_config.py"
click node_chat_utils "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_utils.py"
click node_chat_views "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_views.py"
click node_chat_commands "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/commands.py"
click node_leaderboard_central "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/leaderboard_central.py"
click node_gd_leaderboard "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_cog.py"
click node_gd_config "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_config.py"
click node_gd_models "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_models.py"
click node_gd_utils "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_utils.py"
click node_gd_registration "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/views/_registration.py"
click node_gd_categories "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/views/_categories.py"
click node_daily_stats "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/daily_stats.py"
click node_member_streak "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/member_streak.py"
click node_member_card "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/binroom_member_id/cog.py"
click node_card_generator "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/binroom_member_id/_card_generator.py"
click node_honeypot "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/honeypot.py"
click node_event_logging "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/log.py"
click node_moderation "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/moderasi"
click node_utility_commands "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/aika_utility_commands"
click node_server_info "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/binroom_infos"
click node_core_commands "https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/aika_core"

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_bot,node_settings,node_database toneBlue
class node_chatbot,node_chat_config,node_chat_utils,node_chat_views,node_chat_commands toneAmber
class node_leaderboard_central,node_gd_leaderboard,node_gd_config,node_gd_models,node_gd_utils,node_gd_registration,node_gd_categories,node_daily_stats,node_member_streak,node_member_card,node_card_generator toneMint
class node_honeypot,node_event_logging,node_moderation toneRose
class node_utility_commands,node_server_info,node_core_commands,node_members,node_groq toneIndigo
```

## Components

### Bot Runtime

- [Bot Runtime](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/bot.py): `bot.py`
- [Settings](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/config.py): `config.py`
- [SQLite Data](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/database.py): `database.py`

### AI Chatbot

- [AI Conversation](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/ai_chatbot.py): `cogs/aika_chatbot_ai/ai_chatbot.py`
- [Chat Settings](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_config.py): `cogs/aika_chatbot_ai/_config.py`
- [Chat Utilities](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_utils.py): `cogs/aika_chatbot_ai/_utils.py`
- [Chat Views](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/_views.py): `cogs/aika_chatbot_ai/_views.py`
- [Memory Commands](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/aika_chatbot_ai/commands.py): `cogs/aika_chatbot_ai/commands.py`

### Community Features

- [Leaderboard Hub](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/leaderboard_central.py): `cogs/leaderboard_central.py`
- [GD Leaderboard](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_cog.py): `cogs/binroom_gd_leaderboard/_cog.py`
- [GD Categories](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_config.py): `cogs/binroom_gd_leaderboard/_config.py`
- [GD Player Models](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_models.py): `cogs/binroom_gd_leaderboard/_models.py`
- [GD Data Utilities](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/_utils.py): `cogs/binroom_gd_leaderboard/_utils.py`
- [GD Registration](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/views/_registration.py): `cogs/binroom_gd_leaderboard/views/_registration.py`
- [GD Category Views](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_gd_leaderboard/views/_categories.py): `cogs/binroom_gd_leaderboard/views/_categories.py`
- [Daily Statistics](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/daily_stats.py): `cogs/binroom_modules/daily_stats.py`
- [Member Streaks](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/member_streak.py): `cogs/binroom_modules/member_streak.py`
- [Member ID Cards](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/binroom_member_id/cog.py): `cogs/binroom_modules/binroom_member_id/cog.py`
- [Card Generator](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/binroom_member_id/_card_generator.py): `cogs/binroom_modules/binroom_member_id/_card_generator.py`

### Safety and Moderation

- [Honeypot Watch](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/honeypot.py): `cogs/binroom_modules/honeypot.py`
- [Event Logging](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/blob/main/cogs/binroom_modules/log.py): `cogs/binroom_modules/log.py`
- [Moderation Commands](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/moderasi): `cogs/moderasi`

### Server Information

- [Utility Commands](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/aika_utility_commands): `cogs/aika_utility_commands`
- [Server Information](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/binroom_infos): `cogs/binroom_infos`
- [Core Commands](https://github.com/binroom-devs/aika-yokina-binroom-mascot-discord-bot/tree/main/cogs/aika_core): `cogs/aika_core`

### Other components

- **Discord Members**
- **Groq Qwen**

## Connections

- Discord Members → Bot Runtime: use commands
- Bot Runtime → SQLite Data: uses storage (evidence: `bot.py`)
- AI Conversation → SQLite Data: saves memory (evidence: `cogs/aika_chatbot_ai/ai_chatbot.py`)
- AI Conversation → Groq Qwen: requests completions
- AI Conversation → Chat Settings: uses settings (evidence: `cogs/aika_chatbot_ai/ai_chatbot.py`)
- AI Conversation → Chat Utilities: uses helpers (evidence: `cogs/aika_chatbot_ai/ai_chatbot.py`)
- AI Conversation → Chat Views: uses views (evidence: `cogs/aika_chatbot_ai/ai_chatbot.py`)
- Memory Commands → Chat Views: uses views (evidence: `cogs/aika_chatbot_ai/commands.py`)
- Leaderboard Hub → GD Leaderboard: dispatches to (evidence: `cogs/leaderboard_central.py`)
- GD Leaderboard → GD Categories: uses settings (evidence: `cogs/binroom_gd_leaderboard/_cog.py`)
- GD Leaderboard → GD Player Models: uses models (evidence: `cogs/binroom_gd_leaderboard/_cog.py`)
- GD Leaderboard → GD Data Utilities: calls helpers (evidence: `cogs/binroom_gd_leaderboard/_cog.py`)
- GD Leaderboard → GD Category Views: uses views (evidence: `cogs/binroom_gd_leaderboard/_cog.py`)
- GD Registration → GD Data Utilities: loads player data (evidence: `cogs/binroom_gd_leaderboard/views/_registration.py`)
- GD Category Views → GD Data Utilities: formats rankings (evidence: `cogs/binroom_gd_leaderboard/views/_categories.py`)
- GD Data Utilities → SQLite Data: reads and writes (evidence: `cogs/binroom_gd_leaderboard/_utils.py`)
- Leaderboard Hub → GD Data Utilities: loads rankings (evidence: `cogs/leaderboard_central.py`)
- Daily Statistics → SQLite Data: uses storage (evidence: `cogs/binroom_modules/daily_stats.py`)
- Member Streaks → SQLite Data: uses storage (evidence: `cogs/binroom_modules/member_streak.py`)
- Member ID Cards → SQLite Data: uses storage (evidence: `cogs/binroom_modules/binroom_member_id/cog.py`)
- Member ID Cards → Card Generator: generates cards (evidence: `cogs/binroom_modules/binroom_member_id/cog.py`)
- Event Logging → SQLite Data: uses storage (evidence: `cogs/binroom_modules/log.py`)
- Bot Runtime → Settings: imports settings (evidence: `bot.py`)
- Discord Members → Honeypot Watch: enter monitored channel
- Discord Members → Moderation Commands: invoke moderation
