kurita-0: Find the alpha emoji

Safe HaskellNone
LanguageHaskell2010

Kurita.Server

Documentation

data KuritaState (p :: k) c Source #

Constructors

KState 

Fields

Instances
HasKuritaState (KuritaState p c) (p :: k) c Source # 
Instance details

Defined in Kurita.Server

Methods

kuritaState :: Lens' (KuritaState p c) (KuritaState p c) Source #

ksBracket :: Lens' (KuritaState p c) (Bracket c (HyperLogLog p) KuritaGame) Source #

ksGameMeta :: Lens' (KuritaState p c) (UTCTime -> Int -> [c] -> KuritaGame) Source #

ksSingleMeta :: Lens' (KuritaState p c) (UTCTime -> [c] -> KuritaGame) Source #

class HasKuritaState c p c | c -> p c where Source #

Minimal complete definition

kuritaState

Methods

kuritaState :: Lens' c (KuritaState p c) Source #

ksBracket :: Lens' c (Bracket c (HyperLogLog p) KuritaGame) Source #

ksGameMeta :: Lens' c (UTCTime -> Int -> [c] -> KuritaGame) Source #

ksSingleMeta :: Lens' c (UTCTime -> [c] -> KuritaGame) Source #

Instances
HasKuritaState (KuritaState p c) (p :: k) c Source # 
Instance details

Defined in Kurita.Server

Methods

kuritaState :: Lens' (KuritaState p c) (KuritaState p c) Source #

ksBracket :: Lens' (KuritaState p c) (Bracket c (HyperLogLog p) KuritaGame) Source #

ksGameMeta :: Lens' (KuritaState p c) (UTCTime -> Int -> [c] -> KuritaGame) Source #

ksSingleMeta :: Lens' (KuritaState p c) (UTCTime -> [c] -> KuritaGame) Source #

loadState :: (Reifies p Integer, Ord c, FromJSON c) => (UTCTime -> [c] -> KuritaGame) -> (UTCTime -> Int -> [c] -> KuritaGame) -> [c] -> IO (KuritaState p c) Source #

data ClientData c Source #

Constructors

CData 
Instances
Eq c => Eq (ClientData c) Source # 
Instance details

Defined in Kurita.Server

Methods

(==) :: ClientData c -> ClientData c -> Bool #

(/=) :: ClientData c -> ClientData c -> Bool #

Ord c => Ord (ClientData c) Source # 
Instance details

Defined in Kurita.Server

Show c => Show (ClientData c) Source # 
Instance details

Defined in Kurita.Server

data Core c Source #

Constructors

Core 

Fields

ksToInf :: (Ord c, Reifies p Integer) => KuritaState p c -> Bracket c Int64 KuritaGame Source #

relayCore :: forall c p m. (Ord c, ToJSON c, FromJSON c, Reifies p Integer, MonadIO m) => Proxy p -> (String, Int, String) -> m (Core c) Source #

localCore :: forall c p m. (Ord c, ToJSON c, Reifies p Integer, MonadIO m) => NominalDiffTime -> KuritaState p c -> m (Core c) Source #

kuritaRelay :: (Eq c, ToJSON c, FromJSON c) => (Request -> IO Word32) -> Core c -> Application Source #

kuritaCentral :: forall c p. (Ord c, ToJSON c, FromJSON c, Reifies p Integer) => FilePath -> FilePath -> (ByteString -> Word64) -> BotConfig -> (c -> Text) -> NominalDiffTime -> KuritaState p c -> IO Application Source #