# entropy-increase-team/rocomuid architecture

> Architecture diagram of the GitHub repository entropy-increase-team/rocomuid, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/entropy-increase-team/rocomuid
- Repository: https://github.com/entropy-increase-team/rocomuid

## Overview

RocomUID is a 洛克王国世界 bot plugin for several chat platforms. Users issue commands for reference data, egg matching and breeding, account profiles, home and garden information, and merchant listings; the plugin replies with text or rendered images. The documented workflow depends on account binding for personal data and a configured WeGame API key for game-account features. The sampled excerpts confirm parts of the info, login, API, persistence, and rendering paths; other capability links reflect README documentation, so their internal wiring is left unspecified.

Main entry points: [`RocomUID/rocom_info/__init__.py`](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/__init__.py) (Dex and breeding), [`RocomUID/rocom_login/__init__.py`](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_login/__init__.py) (Account login), [`RocomUID/utils/image/image_tools.py`](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/image/image_tools.py) (Image utilities), [`RocomUID/rocom_merchant`](https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_merchant) (Merchant listings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_commands["Bot commands"]
  node_help["Command help<br/>[get_help.py]"]
  node_config["Plugin settings"]
end

subgraph group_game["Game information"]
  node_info["Dex and breeding<br/>[__init__.py]"]
  node_merchant["Merchant listings"]
  node_petinfo["Pet details<br/>[draw_info_image.py]"]
  node_api["WeGame API client<br/>[rocom_api.py]"]
end

subgraph group_account["Accounts and home"]
  node_login["Account login<br/>[__init__.py]"]
  node_profile["Player profile"]
  node_home["Home and garden"]
  node_binding_store[("Account bindings<br/>[model.py]")]
end

subgraph group_render["Presentation"]
  node_profile_image["Profile rendering<br/>[draw_info_image.py]"]
  node_home_image["Home rendering<br/>[draw_info_image.py]"]
  node_dex_image["Dex rendering<br/>[draw_info_image.py]"]
  node_egg_image["Egg rendering<br/>[draw_egg_image.py]"]
  node_merchant_image["Merchant rendering<br/>[draw_info_image.py]"]
  node_image_tools["Image utilities<br/>[image_tools.py]"]
end

node_user(("Chat user"))
node_wegame["WeGame service"]

node_user -->|"requests lookup"| node_info
node_user -->|"requests help"| node_help
node_user -->|"requests listings"| node_merchant
node_user -->|"starts login"| node_login
node_user -->|"requests profile"| node_profile
node_user -->|"requests home"| node_home
node_user -->|"requests details"| node_petinfo
node_user -->|"changes settings"| node_config
node_login -->|"requests login"| node_api
node_login -->|"saves binding"| node_binding_store
node_api -.->|"calls API"| node_wegame
node_info -->|"renders matches"| node_egg_image
node_info -->|"renders dex"| node_dex_image
node_profile -->|"renders profile"| node_profile_image
node_home -->|"renders home"| node_home_image
node_merchant -->|"renders listings"| node_merchant_image
node_dex_image -->|"converts image"| node_image_tools
node_profile_image -->|"converts image"| node_image_tools
node_home_image -->|"converts image"| node_image_tools

click node_info "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/__init__.py"
click node_help "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_help/get_help.py"
click node_merchant "https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_merchant"
click node_login "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_login/__init__.py"
click node_profile "https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_userinfo"
click node_home "https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_homeinfo"
click node_petinfo "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_petinfo/draw_info_image.py"
click node_config "https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_config"
click node_api "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/rocom_api.py"
click node_binding_store "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/database/model.py"
click node_profile_image "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_userinfo/draw_info_image.py"
click node_home_image "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_homeinfo/draw_info_image.py"
click node_dex_image "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/draw_info_image.py"
click node_egg_image "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/draw_egg_image.py"
click node_merchant_image "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_merchant/draw_info_image.py"
click node_image_tools "https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/image/image_tools.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_help,node_config,node_user toneBlue
class node_info,node_merchant,node_petinfo,node_api toneAmber
class node_login,node_profile,node_home,node_binding_store toneMint
class node_profile_image,node_home_image,node_dex_image,node_egg_image,node_merchant_image,node_image_tools toneRose
class node_wegame toneIndigo
```

## Components

### Bot commands

- [Command help](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_help/get_help.py): `RocomUID/rocom_help/get_help.py`
- [Plugin settings](https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_config): `RocomUID/rocom_config`

### Game information

- [Dex and breeding](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/__init__.py): `RocomUID/rocom_info/__init__.py`
- [Merchant listings](https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_merchant): `RocomUID/rocom_merchant`
- [Pet details](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_petinfo/draw_info_image.py): `RocomUID/rocom_petinfo/draw_info_image.py`
- [WeGame API client](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/rocom_api.py): `RocomUID/utils/rocom_api.py`

### Accounts and home

- [Account login](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_login/__init__.py): `RocomUID/rocom_login/__init__.py`
- [Player profile](https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_userinfo): `RocomUID/rocom_userinfo`
- [Home and garden](https://github.com/entropy-increase-team/rocomuid/tree/main/RocomUID/rocom_homeinfo): `RocomUID/rocom_homeinfo`
- [Account bindings](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/database/model.py): `RocomUID/utils/database/model.py`

### Presentation

- [Profile rendering](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_userinfo/draw_info_image.py): `RocomUID/rocom_userinfo/draw_info_image.py`
- [Home rendering](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_homeinfo/draw_info_image.py): `RocomUID/rocom_homeinfo/draw_info_image.py`
- [Dex rendering](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/draw_info_image.py): `RocomUID/rocom_info/draw_info_image.py`
- [Egg rendering](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_info/draw_egg_image.py): `RocomUID/rocom_info/draw_egg_image.py`
- [Merchant rendering](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/rocom_merchant/draw_info_image.py): `RocomUID/rocom_merchant/draw_info_image.py`
- [Image utilities](https://github.com/entropy-increase-team/rocomuid/blob/main/RocomUID/utils/image/image_tools.py): `RocomUID/utils/image/image_tools.py`

### Other components

- **Chat user**
- **WeGame service**

## Connections

- Chat user → Dex and breeding: requests lookup
- Chat user → Command help: requests help
- Chat user → Merchant listings: requests listings
- Chat user → Account login: starts login
- Chat user → Player profile: requests profile
- Chat user → Home and garden: requests home
- Chat user → Pet details: requests details
- Chat user → Plugin settings: changes settings
- Account login → WeGame API client: requests login
- Account login → Account bindings: saves binding
- WeGame API client → WeGame service: calls API
- Dex and breeding → Egg rendering: renders matches
- Dex and breeding → Dex rendering: renders dex
- Player profile → Profile rendering: renders profile
- Home and garden → Home rendering: renders home
- Merchant listings → Merchant rendering: renders listings
- Dex rendering → Image utilities: converts image
- Profile rendering → Image utilities: converts image
- Home rendering → Image utilities: converts image
