syntax = "proto3"; package myriad.cache; message Overwrite { uint64 id = 1; int32 type = 2; uint64 allow = 3; uint64 deny = 4; } message CachedChannel { uint64 id = 1; int32 type = 2; int32 position = 3; string name = 4; repeated Overwrite permission_overwrites = 5; optional uint64 guild_id = 6; optional uint64 parent_id = 7; } message CachedGuildMember { repeated uint64 roles = 1; } message CachedGuild { uint64 id = 1; string name = 2; uint64 owner_id = 3; int32 premium_tier = 4; } message CachedRole { uint64 id = 1; string name = 2; int32 position = 3; uint64 permissions = 4; bool mentionable = 5; } message CachedUser { uint64 id = 1; string username = 2; string discriminator = 3; optional string avatar = 4; bool bot = 5; }