Skip to content
This repository has been archived by the owner on Mar 21, 2023. It is now read-only.

Latest commit

 

History

History
44 lines (40 loc) · 1.31 KB

README.md

File metadata and controls

44 lines (40 loc) · 1.31 KB

rockstar

A WIP Discord Bot that puts Speed & Reliability first.


Structure

Rockstar is a monorepo, so everything is divided into it's own subproject.

Directory Purpose
gateway Recieving Discord Events and putting them through RabbitMQ to be fed to Clients
client Recieving Events through RabbitMQ and acting on them, like processing Commands, Members, etc.
handler The Client Command Handler. Parses a Command's Prefix, Command, and Arguments.
frontend The Website

Flow

flowchart TD
    dg[Discord Gateway] --- |Event| s0 & s1 & s2 & s3
    da[Discord API];
    subgraph machine-1
    s2(Rockstar Gateway Shard 2)
    s3(Rockstar Gateway Shard 3)
    s2 & s3 --- |Event| rmq1{RabbitMQ}
    db1[(MariaDB)]
    re1[(Redis)]
    rmq1 --- cl3(Client) --> db1 & re1
    rmq1 --- cl4(Client) --> db1 & re1
    rmq1 --- cl5(Client) --> db1 & re1
    end
    subgraph machine-0
    s0(Rockstar Gateway Shard 0)
    s1(Rockstar Gateway Shard 1)
    s0 & s1 --> |Event| rmq0{RabbitMQ}
    rmq0 --> cl0(Client) --> db0 & re0
    rmq0 --> cl1(Client) --> db0 & re0
    rmq0 --> cl2(Client) --> db0 & re0
    db0[(MariaDB)]
    re0[(Redis)]
    end
    cl0 & cl1 & cl2 & cl3 & cl4 & cl5 -.-> da
    db0 <-.-> |replicate| db1
    re0 <-.-> |sync data| re1
Loading