# 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 expiry: Datetime, time + length 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 length: int, mute length in minutes, default 30, -1 for permanent expiry: Datetime, time + length 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 length: int, hours from warning until it expires, default 24 expiry: Datetime, time + length 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 duration: int, duration of lockdown in minutes, default 30 time: Datetime 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 starboard: name: String, name of starboard guild: Guild ID target: Channel ID, target channel admin: User ID, admin who created time: Datetime stars: message: Message ID channel: Channel ID guild: Guild ID admin: User ID, admin who starred time: Datetime modlog: channel: Channel ID guild: Guild ID admin: User ID, admin who created time: Datetime logentry: user: User ID activity: String channel: Optional(Channel ID), channel where activity occurred guild: Guild ID modlog: BsonID, target modlog time: Datetime blockpings: role: Role ID guild: Guild ID admin: User ID, admin who created time: Datetime purges: channel: Channel ID guild: Guild ID admin: User ID, admin who purged count: int, number of messages purged time: Datetime ctc2: guesses: guess: String user: User ID correct: boolean