diff --git a/schema.yaml b/schema.yaml new file mode 100644 index 0000000..c32f559 --- /dev/null +++ b/schema.yaml @@ -0,0 +1,79 @@ +# J.A.R.V.I.S. database layout + +config: + key: String, config name + value: Any, config value + +bans: + user: User ID + reason: String, default "Mr. Stark is displeased with your presence. Please leave." + admin: User ID, admin who banned user + time: Datetime + guild: Guild ID + type: String ("temp" | "soft" | "perm"), ban type, default "perm" + length: Optional(int), required for type=="temp", ban length in days, default 1 + active: boolean, if ban is active + +kicks: + user: User ID + reason: String, default "Mr. Stark is displeased with your presence. Please leave." + admin: User ID, admin who kicked user + time: Datetime + guild: Guild ID + +mutes: + user: User ID + reason: String, default "Mr. Stark is annoyed by your voice. Please be quiet." + admin: User ID, admin who muted user + time: datetime + guild: Guild ID + type: String ("voice" | "text" | "all"), mute type, default "all" + length: int, mute length in minutes, default 30, -1 for permanent + active: boolean, if mute is active + +warns: + user: User ID + reason: String, default "Mr. Stark has defined rules of conduct. Please read them." + admin: User ID, admin who warned user + time: datetime + guild: Guild ID + expiry: int, hours from warning until it expires, default 24 + active: boolean, if warning is active or expired + +jokes: + id: String, Reddit post ID + body: String, joke text + created_utc: int, epoch timestamp of upload + over_18: boolean, NSFW + score: int, Reddit upvote score + title: string, joke title + +locks: + channel: Channel ID + reason: String, default "Mr. Stark is reviewing this channel. Please hold on." + admin: User ID, admin who locked channel + guild: Guild ID + +settings: + guild: Guild ID + setting: String, setting name + value: Any, setting value + +autoreact: + guild: Guild ID + channel: Channel ID + reactions: List[Emote ID] + admin: User ID, admin who added autoreact + time: datetime + +stars: + message: Message ID + channel: Channel ID + guild: Guild ID + admin: User ID, admin who starred + time: Datetime + +modlog: + user: User ID + activity: String + time: Datetime