calamity-0.1.3.1: A library for writing discord bots
Safe HaskellNone
LanguageHaskell2010

Calamity.Cache.Eff

Description

Effect for handling the cache

Documentation

data CacheEff m a where Source #

Constructors

SetBotUser :: User -> CacheEff m ()

Set the User representing the bot itself

GetBotUser :: CacheEff m (Maybe User)

Get the User representing the bot itself

SetGuild :: Guild -> CacheEff m ()

Set or Update a Guild in the cache

GetGuild :: Snowflake Guild -> CacheEff m (Maybe Guild)

Get a Guild from the cache

DelGuild :: Snowflake Guild -> CacheEff m ()

Delete a Guild from the cache

SetDM :: DMChannel -> CacheEff m ()

Set or Update a DMChannel in the cache

GetDM :: Snowflake DMChannel -> CacheEff m (Maybe DMChannel)

Get a DMChannel from the cache

DelDM :: Snowflake DMChannel -> CacheEff m ()

Delete a DMChannel from the cache

SetUser :: User -> CacheEff m ()

Set or Update a User in the cache

GetUser :: Snowflake User -> CacheEff m (Maybe User)

Get a User from the cache

DelUser :: Snowflake User -> CacheEff m ()

Delete a User from the cache

SetUnavailableGuild :: Snowflake Guild -> CacheEff m ()

Flag a Guild as unavailable

IsUnavailableGuild :: Snowflake Guild -> CacheEff m Bool

Test if a Guild is flagged as unavailable

DelUnavailableGuild :: Snowflake Guild -> CacheEff m ()

Unflag a Guild from being unavailable

SetMessage :: Message -> CacheEff m ()

Add or Update a Message in the cache

GetMessage :: Snowflake Message -> CacheEff m (Maybe Message)

Get a Message from the cache

DelMessage :: Snowflake Message -> CacheEff m ()

Delete a Message from the cache

Instances

Instances details
type DefiningModule (CacheEff :: k -> Type -> Type) Source # 
Instance details

Defined in Calamity.Cache.Eff

type DefiningModule (CacheEff :: k -> Type -> Type) = "Calamity.Cache.Eff"

setBotUser :: forall r. MemberWithError CacheEff r => User -> Sem r () Source #

setGuild :: forall r. MemberWithError CacheEff r => Guild -> Sem r () Source #

setDM :: forall r. MemberWithError CacheEff r => DMChannel -> Sem r () Source #

setUser :: forall r. MemberWithError CacheEff r => User -> Sem r () Source #