sake.abc#
Protocols and abstract classes for the cache resources defined by this standard.
Note
Unlike the abstract classes defined here, there is no guarantee that the protocols defined here will be included in the MRO of the classes which implement them.
Cache #
 Bases: GuildCache, EmojiCache, GuildChannelCache, InviteCache, MeCache, MemberCache, MessageCache, PresenceCache, RoleCache, UserCache, VoiceStateCache, ABC
Protocol of a cache which implements all the defined resources.
 clear_emojis  abstractmethod async  #
 clear_emojis()
Empty the emoji cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guild_channels  abstractmethod async  #
 clear_guild_channels()
Empty the guild channel cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guilds  abstractmethod async  #
 clear_guilds()
Empty the guild cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites  abstractmethod async  #
 clear_invites()
Empty the invites cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members  abstractmethod async  #
 clear_members()
Empty the members cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages  abstractmethod async  #
 clear_messages()
Empty the messages cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences  abstractmethod async  #
 clear_presences()
Empty the presences cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_roles  abstractmethod async  #
 clear_roles()
Empty the roles cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_users  abstractmethod async  #
 clear_users()
Empty the users cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states  abstractmethod async  #
 clear_voice_states()
Empty the voice states cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_emoji  abstractmethod async  #
 delete_emoji(emoji_id)
Remove an emoji from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_guild  abstractmethod async  #
 delete_guild(guild_id)
Remove a guild from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_guild_channel  abstractmethod async  #
 delete_guild_channel(channel_id)
Remove a guild guild channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_invite  abstractmethod async  #
 delete_invite(invite_code)
Remove an invite channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  invite_code(str) –The code of the invite to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_me  abstractmethod async  #
 delete_me()
Remove the cached own user entry.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_member  abstractmethod async  #
 delete_member(guild_id, user_id)
Remove a member from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached member for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_message  abstractmethod async  #
 delete_message(message_id)
Remove a message from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_presence  abstractmethod async  #
 delete_presence(guild_id, user_id)
Remove a presence from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached presence for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_role  abstractmethod async  #
 delete_role(role_id)
Remove a role from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_user  abstractmethod async  #
 delete_user(user_id)
Remove a user from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_voice_state  abstractmethod async  #
 delete_voice_state(guild_id, user_id)
Remove a voice state from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached voice state for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_emoji  abstractmethod async  #
 get_emoji(emoji_id)
Get an emoji from the cache.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to get from the cache. 
Returns:
-  KnownCustomEmoji–The object of the emoji fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_guild  abstractmethod async  #
 get_guild(guild_id)
Get a guild from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get from the cache. 
Returns:
-  GatewayGuild–The object of the guild fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_guild_channel  abstractmethod async  #
 get_guild_channel(channel_id)
Get a guild channel from the cache.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to get from the cache. 
Returns:
-  PermissibleGuildChannel–The object of the guild channel fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_invite  abstractmethod async  #
 get_invite(invite_code)
Get an invite from the cache.
Parameters:
-  invite_code(str) –The code of the invite to get from the cache. 
Returns:
-  InviteWithMetadata–The object of the invite fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_me  abstractmethod async  #
 get_me()
Get the own user cache entry.
Returns:
-  OwnUser–The object of the own user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_member  abstractmethod async  #
 get_member(guild_id, user_id)
Get a member from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached member for. 
Returns:
-  Member–The object of the member fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_message  abstractmethod async  #
 get_message(message_id)
Get a message from the cache.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to get from the cache. 
Returns:
-  Message–The object of the message fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_presence  abstractmethod async  #
 get_presence(guild_id, user_id)
Get a presence from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached presence for. 
Returns:
-  MemberPresence–The object of the presence fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_role  abstractmethod async  #
 get_role(role_id)
Get a role from the cache.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to get from the cache. 
Returns:
-  Role–The object of the role fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_user  abstractmethod async  #
 get_user(user_id)
Get a user from the cache.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to get from the cache. 
Returns:
-  User–The object of the user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_voice_state  abstractmethod async  #
 get_voice_state(guild_id, user_id)
Get a voice state from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached voice state for. 
Returns:
-  VoiceState–The object of the voice state fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis  abstractmethod  #
 iter_emojis()
Iterate over the emojis stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels  abstractmethod  #
 iter_guild_channels()
Iterate over the guild channels stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guilds  abstractmethod  #
 iter_guilds()
Iterate over the guilds stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[GatewayGuild]–An async iterator of the guilds stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites  abstractmethod  #
 iter_invites()
Iterate over the invites stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members  abstractmethod  #
 iter_members()
Iterate over the members stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages  abstractmethod  #
 iter_messages()
Iterate over the messages stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences  abstractmethod  #
 iter_presences()
Iterate over the presences stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles  abstractmethod  #
 iter_roles()
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_users  abstractmethod  #
 iter_users()
Iterate over the users stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[User]–An async iterator of the users stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states  abstractmethod  #
 iter_voice_states()
Iterate over the voice states stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
CacheIterator #
 Bases: LazyIterator[_T], ABC
A asynchronous iterator of entries within a defined cache store.
 len  abstractmethod async  #
 len()
Get the count of entries that this iterator covers.
Note
Unlike hikari.iterators.LazyIterator.count, this will not exhaust the iterator and may return different values as entries are added and removed from the cache.
Returns:
-  int–The count of entries that this iterator covers as of the call. 
EmojiCache #
The traits of a implementation which supports a emoji cache.
 clear_emojis  abstractmethod async  #
 clear_emojis()
Empty the emoji cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_emoji  abstractmethod async  #
 delete_emoji(emoji_id)
Remove an emoji from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_emoji  abstractmethod async  #
 get_emoji(emoji_id)
Get an emoji from the cache.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to get from the cache. 
Returns:
-  KnownCustomEmoji–The object of the emoji fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis  abstractmethod  #
 iter_emojis()
Iterate over the emojis stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
GuildCache #
The traits of a implementation which supports a guild cache.
 clear_guilds  abstractmethod async  #
 clear_guilds()
Empty the guild cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_guild  abstractmethod async  #
 delete_guild(guild_id)
Remove a guild from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_guild  abstractmethod async  #
 get_guild(guild_id)
Get a guild from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get from the cache. 
Returns:
-  GatewayGuild–The object of the guild fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guilds  abstractmethod  #
 iter_guilds()
Iterate over the guilds stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[GatewayGuild]–An async iterator of the guilds stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
GuildChannelCache #
The traits of a implementation which supports a guild channel cache.
 clear_guild_channels  abstractmethod async  #
 clear_guild_channels()
Empty the guild channel cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_guild_channel  abstractmethod async  #
 delete_guild_channel(channel_id)
Remove a guild guild channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_guild_channel  abstractmethod async  #
 get_guild_channel(channel_id)
Get a guild channel from the cache.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to get from the cache. 
Returns:
-  PermissibleGuildChannel–The object of the guild channel fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels  abstractmethod  #
 iter_guild_channels()
Iterate over the guild channels stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
InviteCache #
The traits of a implementation which supports a invite cache.
 clear_invites  abstractmethod async  #
 clear_invites()
Empty the invites cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_invite  abstractmethod async  #
 delete_invite(invite_code)
Remove an invite channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  invite_code(str) –The code of the invite to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_invite  abstractmethod async  #
 get_invite(invite_code)
Get an invite from the cache.
Parameters:
-  invite_code(str) –The code of the invite to get from the cache. 
Returns:
-  InviteWithMetadata–The object of the invite fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites  abstractmethod  #
 iter_invites()
Iterate over the invites stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
MeCache #
The traits of a implementation which supports a own user cache.
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_me  abstractmethod async  #
 delete_me()
Remove the cached own user entry.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_me  abstractmethod async  #
 get_me()
Get the own user cache entry.
Returns:
-  OwnUser–The object of the own user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
MemberCache #
The traits of a implementation which supports a member cache.
 clear_members  abstractmethod async  #
 clear_members()
Empty the members cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_member  abstractmethod async  #
 delete_member(guild_id, user_id)
Remove a member from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached member for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_member  abstractmethod async  #
 get_member(guild_id, user_id)
Get a member from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached member for. 
Returns:
-  Member–The object of the member fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members  abstractmethod  #
 iter_members()
Iterate over the members stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
MessageCache #
The traits of a implementation which supports a message cache.
 clear_messages  abstractmethod async  #
 clear_messages()
Empty the messages cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_message  abstractmethod async  #
 delete_message(message_id)
Remove a message from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_message  abstractmethod async  #
 get_message(message_id)
Get a message from the cache.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to get from the cache. 
Returns:
-  Message–The object of the message fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages  abstractmethod  #
 iter_messages()
Iterate over the messages stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
PresenceCache #
The traits of a implementation which supports a presence cache.
 clear_presences  abstractmethod async  #
 clear_presences()
Empty the presences cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_presence  abstractmethod async  #
 delete_presence(guild_id, user_id)
Remove a presence from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached presence for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_presence  abstractmethod async  #
 get_presence(guild_id, user_id)
Get a presence from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached presence for. 
Returns:
-  MemberPresence–The object of the presence fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences  abstractmethod  #
 iter_presences()
Iterate over the presences stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefCache #
 Bases: Cache, RefGuildCache, RefEmojiCache, RefGuildChannelCache, RefInviteCache, RefMeCache, RefMemberCache, RefMessageCache, RefPresenceCache, RefRoleCache, RefUserCache, RefVoiceStateCache, ABC
Protocol of a cache which implements all the defined reference resources.
 clear_emojis  abstractmethod async  #
 clear_emojis()
Empty the emoji cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_emojis_for_guild  abstractmethod async  #
 clear_emojis_for_guild(guild_id)
Remove emojis belonging to a specific guild from the cache.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the emojis cached for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guild_channels  abstractmethod async  #
 clear_guild_channels()
Empty the guild channel cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guild_channels_for_guild  abstractmethod async  #
 clear_guild_channels_for_guild(guild_id)
Remove the guild channel cache store for the specified guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached channels for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guilds  abstractmethod async  #
 clear_guilds()
Empty the guild cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites  abstractmethod async  #
 clear_invites()
Empty the invites cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites_for_channel  abstractmethod async  #
 clear_invites_for_channel(channel_id)
Remove invites cached for a specific channel..
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the invites cached for it. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites_for_guild  abstractmethod async  #
 clear_invites_for_guild(guild_id)
Remove invites cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the invites cached for it. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members  abstractmethod async  #
 clear_members()
Empty the members cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members_for_guild  abstractmethod async  #
 clear_members_for_guild(guild_id)
Remove the members cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached members for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members_for_user  abstractmethod async  #
 clear_members_for_user(user_id)
Remove the members cached for a specific user.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the cached members for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages  abstractmethod async  #
 clear_messages()
Empty the messages cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_author  abstractmethod async  #
 clear_messages_for_author(user_id)
Remove the messages cached for a specific author.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_channel  abstractmethod async  #
 clear_messages_for_channel(channel_id)
Remove the messages cached for a specific channel.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_guild  abstractmethod async  #
 clear_messages_for_guild(guild_id)
Remove the messages cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences  abstractmethod async  #
 clear_presences()
Empty the presences cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences_for_guild  abstractmethod async  #
 clear_presences_for_guild(guild_id)
Remove the presences cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached presences for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences_for_user  abstractmethod async  #
 clear_presences_for_user(user_id)
Remove the presences cached for a specific user.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the cached presences for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_roles  abstractmethod async  #
 clear_roles()
Empty the roles cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_roles_for_guild  abstractmethod async  #
 clear_roles_for_guild(guild_id)
Remove the roles cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached roles for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_users  abstractmethod async  #
 clear_users()
Empty the users cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states  abstractmethod async  #
 clear_voice_states()
Empty the voice states cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states_for_channel  abstractmethod async  #
 clear_voice_states_for_channel(channel_id)
Remove the voice states cached for a specified channel.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the voice states cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states_for_guild  abstractmethod async  #
 clear_voice_states_for_guild(guild_id)
Remove the voice states cached for a specified guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the voice states cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_emoji  abstractmethod async  #
 delete_emoji(emoji_id)
Remove an emoji from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_guild  abstractmethod async  #
 delete_guild(guild_id)
Remove a guild from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_guild_channel  abstractmethod async  #
 delete_guild_channel(channel_id)
Remove a guild guild channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_invite  abstractmethod async  #
 delete_invite(invite_code)
Remove an invite channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  invite_code(str) –The code of the invite to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_me  abstractmethod async  #
 delete_me()
Remove the cached own user entry.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_member  abstractmethod async  #
 delete_member(guild_id, user_id)
Remove a member from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached member for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_message  abstractmethod async  #
 delete_message(message_id)
Remove a message from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_presence  abstractmethod async  #
 delete_presence(guild_id, user_id)
Remove a presence from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached presence for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_role  abstractmethod async  #
 delete_role(role_id)
Remove a role from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_user  abstractmethod async  #
 delete_user(user_id)
Remove a user from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 delete_voice_state  abstractmethod async  #
 delete_voice_state(guild_id, user_id)
Remove a voice state from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached voice state for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_emoji  abstractmethod async  #
 get_emoji(emoji_id)
Get an emoji from the cache.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to get from the cache. 
Returns:
-  KnownCustomEmoji–The object of the emoji fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_guild  abstractmethod async  #
 get_guild(guild_id)
Get a guild from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get from the cache. 
Returns:
-  GatewayGuild–The object of the guild fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_guild_channel  abstractmethod async  #
 get_guild_channel(channel_id)
Get a guild channel from the cache.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to get from the cache. 
Returns:
-  PermissibleGuildChannel–The object of the guild channel fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_invite  abstractmethod async  #
 get_invite(invite_code)
Get an invite from the cache.
Parameters:
-  invite_code(str) –The code of the invite to get from the cache. 
Returns:
-  InviteWithMetadata–The object of the invite fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_me  abstractmethod async  #
 get_me()
Get the own user cache entry.
Returns:
-  OwnUser–The object of the own user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_member  abstractmethod async  #
 get_member(guild_id, user_id)
Get a member from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached member for. 
Returns:
-  Member–The object of the member fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_message  abstractmethod async  #
 get_message(message_id)
Get a message from the cache.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to get from the cache. 
Returns:
-  Message–The object of the message fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_presence  abstractmethod async  #
 get_presence(guild_id, user_id)
Get a presence from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached presence for. 
Returns:
-  MemberPresence–The object of the presence fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_role  abstractmethod async  #
 get_role(role_id)
Get a role from the cache.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to get from the cache. 
Returns:
-  Role–The object of the role fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_user  abstractmethod async  #
 get_user(user_id)
Get a user from the cache.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to get from the cache. 
Returns:
-  User–The object of the user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 get_voice_state  abstractmethod async  #
 get_voice_state(guild_id, user_id)
Get a voice state from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached voice state for. 
Returns:
-  VoiceState–The object of the voice state fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis  abstractmethod  #
 iter_emojis()
Iterate over the emojis stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis_for_guild  abstractmethod  #
 iter_emojis_for_guild(guild_id)
Iterate over the emojis stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the emojis cached for. 
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels  abstractmethod  #
 iter_guild_channels()
Iterate over the guild channels stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels_for_guild  abstractmethod  #
 iter_guild_channels_for_guild(guild_id)
Iterate over the guild channels stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the guild channels cached for it. 
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guilds  abstractmethod  #
 iter_guilds()
Iterate over the guilds stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[GatewayGuild]–An async iterator of the guilds stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites  abstractmethod  #
 iter_invites()
Iterate over the invites stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites_for_channel  abstractmethod  #
 iter_invites_for_channel(channel_id)
Iterate over the invites stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the invites cached for. 
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites_for_guild  abstractmethod  #
 iter_invites_for_guild(guild_id)
Iterate over the invites stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the invites cached for. 
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members  abstractmethod  #
 iter_members()
Iterate over the members stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members_for_guild  abstractmethod  #
 iter_members_for_guild(guild_id)
Iterate over the members stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get the members cached for. 
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members_for_user  abstractmethod  #
 iter_members_for_user(user_id)
Iterate over the members stored in the cache for a specific user.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the guild to get the user cached for. 
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_message_for_channel  abstractmethod  #
 iter_message_for_channel(channel_id)
Iterate over the messages stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages  abstractmethod  #
 iter_messages()
Iterate over the messages stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages_for_author  abstractmethod  #
 iter_messages_for_author(user_id)
Iterate over the messages stored in the cache for a specific author.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages_for_guild  abstractmethod  #
 iter_messages_for_guild(guild_id)
Iterate over the messages stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences  abstractmethod  #
 iter_presences()
Iterate over the presences stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences_for_guild  abstractmethod  #
 iter_presences_for_guild(guild_id)
Iterate over the presences stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the cached presences for. 
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences_for_user  abstractmethod  #
 iter_presences_for_user(user_id)
Iterate over the presences stored in the cache for a specific user.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to iterate over the cached presences for. 
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles  abstractmethod  #
 iter_roles()
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles_for_guild  abstractmethod  #
 iter_roles_for_guild(guild_id)
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get the roles cached for. 
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_users  abstractmethod  #
 iter_users()
Iterate over the users stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[User]–An async iterator of the users stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states  abstractmethod  #
 iter_voice_states()
Iterate over the voice states stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states_for_channel  abstractmethod  #
 iter_voice_states_for_channel(channel_id)
Iterate over the voice states stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the voice states cached for. 
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states_for_guild  abstractmethod  #
 iter_voice_states_for_guild(guild_id)
Iterate over the voice states stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the voice states cached for. 
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefEmojiCache #
 Bases: EmojiCache, ABC
The traits of a implementation which supports a referential emoji cache.
 clear_emojis  abstractmethod async  #
 clear_emojis()
Empty the emoji cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_emojis_for_guild  abstractmethod async  #
 clear_emojis_for_guild(guild_id)
Remove emojis belonging to a specific guild from the cache.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the emojis cached for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_emoji  abstractmethod async  #
 delete_emoji(emoji_id)
Remove an emoji from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_emoji  abstractmethod async  #
 get_emoji(emoji_id)
Get an emoji from the cache.
Parameters:
-  emoji_id(Snowflakeish) –The ID of the emoji to get from the cache. 
Returns:
-  KnownCustomEmoji–The object of the emoji fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis  abstractmethod  #
 iter_emojis()
Iterate over the emojis stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_emojis_for_guild  abstractmethod  #
 iter_emojis_for_guild(guild_id)
Iterate over the emojis stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the emojis cached for. 
Returns:
-  CacheIterator[KnownCustomEmoji]–An async iterator of the emojis stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefGuildChannelCache #
 Bases: GuildChannelCache, ABC
The traits of a implementation which supports a referential guild channel cache.
 clear_guild_channels  abstractmethod async  #
 clear_guild_channels()
Empty the guild channel cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_guild_channels_for_guild  abstractmethod async  #
 clear_guild_channels_for_guild(guild_id)
Remove the guild channel cache store for the specified guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached channels for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_guild_channel  abstractmethod async  #
 delete_guild_channel(channel_id)
Remove a guild guild channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_guild_channel  abstractmethod async  #
 get_guild_channel(channel_id)
Get a guild channel from the cache.
Parameters:
-  channel_id(Snowflakeish) –The ID of the guild channel to get from the cache. 
Returns:
-  PermissibleGuildChannel–The object of the guild channel fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels  abstractmethod  #
 iter_guild_channels()
Iterate over the guild channels stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_guild_channels_for_guild  abstractmethod  #
 iter_guild_channels_for_guild(guild_id)
Iterate over the guild channels stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the guild channels cached for it. 
Returns:
-  CacheIterator[PermissibleGuildChannel]–An async iterator of the guild channels stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefInviteCache #
 Bases: InviteCache, ABC
The traits of a implementation which supports a referential invite cache.
 clear_invites  abstractmethod async  #
 clear_invites()
Empty the invites cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites_for_channel  abstractmethod async  #
 clear_invites_for_channel(channel_id)
Remove invites cached for a specific channel..
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the invites cached for it. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_invites_for_guild  abstractmethod async  #
 clear_invites_for_guild(guild_id)
Remove invites cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the invites cached for it. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_invite  abstractmethod async  #
 delete_invite(invite_code)
Remove an invite channel from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  invite_code(str) –The code of the invite to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_invite  abstractmethod async  #
 get_invite(invite_code)
Get an invite from the cache.
Parameters:
-  invite_code(str) –The code of the invite to get from the cache. 
Returns:
-  InviteWithMetadata–The object of the invite fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites  abstractmethod  #
 iter_invites()
Iterate over the invites stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites_for_channel  abstractmethod  #
 iter_invites_for_channel(channel_id)
Iterate over the invites stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the invites cached for. 
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_invites_for_guild  abstractmethod  #
 iter_invites_for_guild(guild_id)
Iterate over the invites stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the invites cached for. 
Returns:
-  CacheIterator[InviteWithMetadata]–An async iterator of the invites stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefMemberCache #
 Bases: MemberCache, ABC
The traits of a implementation which supports a referential member cache.
 clear_members  abstractmethod async  #
 clear_members()
Empty the members cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members_for_guild  abstractmethod async  #
 clear_members_for_guild(guild_id)
Remove the members cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached members for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_members_for_user  abstractmethod async  #
 clear_members_for_user(user_id)
Remove the members cached for a specific user.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the cached members for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_member  abstractmethod async  #
 delete_member(guild_id, user_id)
Remove a member from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached member for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_member  abstractmethod async  #
 get_member(guild_id, user_id)
Get a member from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached member for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached member for. 
Returns:
-  Member–The object of the member fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members  abstractmethod  #
 iter_members()
Iterate over the members stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members_for_guild  abstractmethod  #
 iter_members_for_guild(guild_id)
Iterate over the members stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get the members cached for. 
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_members_for_user  abstractmethod  #
 iter_members_for_user(user_id)
Iterate over the members stored in the cache for a specific user.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the guild to get the user cached for. 
Returns:
-  CacheIterator[Member]–An async iterator of the members stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefMessageCache #
 Bases: MessageCache, ABC
The traits of a implementation which supports a referential message cache.
 clear_messages  abstractmethod async  #
 clear_messages()
Empty the messages cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_author  abstractmethod async  #
 clear_messages_for_author(user_id)
Remove the messages cached for a specific author.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_channel  abstractmethod async  #
 clear_messages_for_channel(channel_id)
Remove the messages cached for a specific channel.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_messages_for_guild  abstractmethod async  #
 clear_messages_for_guild(guild_id)
Remove the messages cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the messages cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_message  abstractmethod async  #
 delete_message(message_id)
Remove a message from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_message  abstractmethod async  #
 get_message(message_id)
Get a message from the cache.
Parameters:
-  message_id(Snowflakeish) –The ID of the message to get from the cache. 
Returns:
-  Message–The object of the message fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_message_for_channel  abstractmethod  #
 iter_message_for_channel(channel_id)
Iterate over the messages stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages  abstractmethod  #
 iter_messages()
Iterate over the messages stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages_for_author  abstractmethod  #
 iter_messages_for_author(user_id)
Iterate over the messages stored in the cache for a specific author.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_messages_for_guild  abstractmethod  #
 iter_messages_for_guild(guild_id)
Iterate over the messages stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the messages cached for them. 
Returns:
-  CacheIterator[Message]–An async iterator of the messages stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefPresenceCache #
 Bases: PresenceCache, ABC
The traits of a implementation which supports a referential presence cache.
 clear_presences  abstractmethod async  #
 clear_presences()
Empty the presences cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences_for_guild  abstractmethod async  #
 clear_presences_for_guild(guild_id)
Remove the presences cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached presences for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_presences_for_user  abstractmethod async  #
 clear_presences_for_user(user_id)
Remove the presences cached for a specific user.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove the cached presences for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_presence  abstractmethod async  #
 delete_presence(guild_id, user_id)
Remove a presence from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached presence for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_presence  abstractmethod async  #
 get_presence(guild_id, user_id)
Get a presence from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached presence for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached presence for. 
Returns:
-  MemberPresence–The object of the presence fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences  abstractmethod  #
 iter_presences()
Iterate over the presences stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences_for_guild  abstractmethod  #
 iter_presences_for_guild(guild_id)
Iterate over the presences stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the cached presences for. 
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_presences_for_user  abstractmethod  #
 iter_presences_for_user(user_id)
Iterate over the presences stored in the cache for a specific user.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to iterate over the cached presences for. 
Returns:
-  CacheIterator[MemberPresence]–An async iterator of the presences stored in the cache for the specified user. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefRoleCache #
The traits of a implementation which supports a referential role cache.
 clear_roles  abstractmethod async  #
 clear_roles()
Empty the roles cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_roles_for_guild  abstractmethod async  #
 clear_roles_for_guild(guild_id)
Remove the roles cached for a specific guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the cached roles for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_role  abstractmethod async  #
 delete_role(role_id)
Remove a role from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_role  abstractmethod async  #
 get_role(role_id)
Get a role from the cache.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to get from the cache. 
Returns:
-  Role–The object of the role fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles  abstractmethod  #
 iter_roles()
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles_for_guild  abstractmethod  #
 iter_roles_for_guild(guild_id)
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get the roles cached for. 
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RefVoiceStateCache #
 Bases: VoiceStateCache, ABC
The traits of a implementation which supports a referential voice state cache.
 clear_voice_states  abstractmethod async  #
 clear_voice_states()
Empty the voice states cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states_for_channel  abstractmethod async  #
 clear_voice_states_for_channel(channel_id)
Remove the voice states cached for a specified channel.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to remove the voice states cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 clear_voice_states_for_guild  abstractmethod async  #
 clear_voice_states_for_guild(guild_id)
Remove the voice states cached for a specified guild.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove the voice states cached for. 
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_voice_state  abstractmethod async  #
 delete_voice_state(guild_id, user_id)
Remove a voice state from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached voice state for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_voice_state  abstractmethod async  #
 get_voice_state(guild_id, user_id)
Get a voice state from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached voice state for. 
Returns:
-  VoiceState–The object of the voice state fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states  abstractmethod  #
 iter_voice_states()
Iterate over the voice states stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states_for_channel  abstractmethod  #
 iter_voice_states_for_channel(channel_id)
Iterate over the voice states stored in the cache for a specific channel.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  channel_id(Snowflakeish) –The ID of the channel to iterate over the voice states cached for. 
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache for the specified channel. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states_for_guild  abstractmethod  #
 iter_voice_states_for_guild(guild_id)
Iterate over the voice states stored in the cache for a specific guild.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to iterate over the voice states cached for. 
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache for the specified guild. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
Resource #
 Bases: ABC
The basic interface which all cache resources should implement.
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
RoleCache #
The traits of a implementation which supports a role cache.
 clear_roles  abstractmethod async  #
 clear_roles()
Empty the roles cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_role  abstractmethod async  #
 delete_role(role_id)
Remove a role from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_role  abstractmethod async  #
 get_role(role_id)
Get a role from the cache.
Parameters:
-  role_id(Snowflakeish) –The ID of the role to get from the cache. 
Returns:
-  Role–The object of the role fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_roles  abstractmethod  #
 iter_roles()
Iterate over the roles stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[Role]–An async iterator of the roles stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
UserCache #
The traits of a cache implementation which supports a user cache.
Note
Unlike other resources, user doesn't have any events which directly update it and may only be updated through event listeners when resources which reference it are also included.
 clear_users  abstractmethod async  #
 clear_users()
Empty the users cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_user  abstractmethod async  #
 delete_user(user_id)
Remove a user from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to remove from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_user  abstractmethod async  #
 get_user(user_id)
Get a user from the cache.
Parameters:
-  user_id(Snowflakeish) –The ID of the user to get from the cache. 
Returns:
-  User–The object of the user fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_users  abstractmethod  #
 iter_users()
Iterate over the users stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[User]–An async iterator of the users stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.
VoiceStateCache #
The traits of a implementation which supports a voice state cache.
 clear_voice_states  abstractmethod async  #
 clear_voice_states()
Empty the voice states cache store.
Note
There is no guarantee that this operation will be complete before the returned coroutine finishes.
Raises:
-  BackendError–Raised when this call failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 close  abstractmethod async  #
 close()
Close the resource(s) and allow them to disconnect from their relevant backend(s).
Note
This should pass without raising if called on an already closed resource.
 delete_voice_state  abstractmethod async  #
 delete_voice_state(guild_id, user_id)
Remove a voice state from the cache.
Note
Delete methods do not raise sake.errors.EntryNotFound when the targeted entity doesn't exist.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to remove a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to remove a cached voice state for. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
 get_voice_state  abstractmethod async  #
 get_voice_state(guild_id, user_id)
Get a voice state from the cache.
Parameters:
-  guild_id(Snowflakeish) –The ID of the guild to get a cached voice state for. 
-  user_id(Snowflakeish) –The ID of the user to get a cached voice state for. 
Returns:
-  VoiceState–The object of the voice state fetched from the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  EntryNotFound–Raised when the targeted entity wasn't found. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 iter_voice_states  abstractmethod  #
 iter_voice_states()
Iterate over the voice states stored in the cache.
Note
Errors won't be raised by the initial call to this method but rather while iterating over the returned asynchronous iterator.
Returns:
-  CacheIterator[VoiceState]–An async iterator of the voice states stored in the cache. 
Raises:
-  BackendError–Raised when this failed to communicate with the cache's backend. This may be a sign of underlying network or database issues. 
-  InvalidDataFound–Raised when the data retrieved from the backend datastore was either invalid for this implementation or corrupt. This may be a sign of multiple sake versions or implementations being used with the same backend store. 
 open  abstractmethod async  #
 open()
Startup the resource(s) and allow them to connect to their relevant backend(s).
Note
This should pass without raising if called on an already opened resource.