21 unstable releases (3 breaking)
new 0.3.1 | Jan 19, 2021 |
---|---|
0.2.9 | Jan 19, 2021 |
0.2.5 | Dec 30, 2020 |
0.2.3 | Nov 29, 2020 |
#11 in Caching
305 downloads per month
Used in 2 crates
660KB
17K
SLoC
twilight-cache-inmemory
twilight-cache-inmemory
is an in-process-memory cache for the
[twilight-rs
] ecosystem. It's responsible for processing events and
caching things like guilds, channels, users, and voice states.
Examples
Update a cache with events that come in through the gateway:
use std::env;
use futures::stream::StreamExt;
use twilight_cache_inmemory::InMemoryCache;
use twilight_gateway::{Intents, Shard};
let token = env::var("DISCORD_TOKEN")?;
let mut shard = Shard::new(token, Intents::GUILD_MESSAGES);
shard.start().await?;
// Create a cache, caching up to 10 messages per channel:
let cache = InMemoryCache::builder().message_cache_size(10).build();
let mut events = shard.events();
while let Some(event) = events.next().await {
// Update the cache with the event.
cache.update(&event);
}
License
All first-party crates are licensed under ISC
Dependencies
~1.2–2MB
~41K SLoC