aboutsummaryrefslogtreecommitdiff
path: root/lib/cache.mli
blob: 111e5bc81b36bd3608ab7ec5cc4039f6cf3c8d02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
open Async
open Core

module ChannelMap : module type of Map.Make(Channel_id_t)
module GuildMap : module type of Map.Make(Guild_id_t)
module UserMap : module type of Map.Make(User_id_t)

type t = {
    text_channels: Channel_t.guild_text ChannelMap.t;
    voice_channels: Channel_t.guild_voice ChannelMap.t;
    categories: Channel_t.category ChannelMap.t;
    groups: Channel_t.group ChannelMap.t;
    private_channels: Channel_t.dm ChannelMap.t;
    guilds: Guild_t.t GuildMap.t;
    presences: Presence.t UserMap.t;
    (* messages: Channel_id_t.t GuildMap.t; *)
    unavailable_guilds: Guild_t.unavailable GuildMap.t;
    user: User_t.t option;
    users: User_t.t UserMap.t;
}

val cache : t Mvar.Read_write.t

val create :
    (* ?max_messages:int -> *)
    unit ->
    t