# J.A.R.V.I.S. database layout jarvis: 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 ctc2: guesses: guess: String user: User ID correct: boolean