module Discord.Handle
( DiscordHandle(..)
, HandleThreadId(..)
) where
import Control.Concurrent (ThreadId, Chan, MVar)
import qualified Data.Text as T
import Discord.Internal.Rest (RestChanHandle(..))
import Discord.Internal.Gateway (GatewayHandle(..), CacheHandle(..))
data HandleThreadId
=
HandleThreadIdRest ThreadId
|
HandleThreadIdCache ThreadId
|
HandleThreadIdLogger ThreadId
|
HandleThreadIdGateway ThreadId
data DiscordHandle = DiscordHandle
{
DiscordHandle -> RestChanHandle
discordHandleRestChan :: RestChanHandle
,
DiscordHandle -> GatewayHandle
discordHandleGateway :: GatewayHandle
,
DiscordHandle -> CacheHandle
discordHandleCache :: CacheHandle
,
DiscordHandle -> [HandleThreadId]
discordHandleThreads :: [HandleThreadId]
,
DiscordHandle -> Chan Text
discordHandleLog :: Chan T.Text
,
DiscordHandle -> MVar Text
discordHandleLibraryError :: MVar T.Text
}