calamity 0.1.6.0 → 0.1.6.1
raw patch · 3 files changed
+12/−13 lines, 3 filesdep ~di-polysemyPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: di-polysemy
API changes (from Hackage documentation)
- Calamity.Cache.Eff: delDM :: forall r_a9GWC. MemberWithError CacheEff r_a9GWC => Snowflake DMChannel -> Sem r_a9GWC ()
+ Calamity.Cache.Eff: delDM :: forall r_a9GZT. MemberWithError CacheEff r_a9GZT => Snowflake DMChannel -> Sem r_a9GZT ()
- Calamity.Cache.Eff: delGuild :: forall r_a9GWv. MemberWithError CacheEff r_a9GWv => Snowflake Guild -> Sem r_a9GWv ()
+ Calamity.Cache.Eff: delGuild :: forall r_a9GZM. MemberWithError CacheEff r_a9GZM => Snowflake Guild -> Sem r_a9GZM ()
- Calamity.Cache.Eff: delMessage :: forall r_a9GWX. MemberWithError CacheEff r_a9GWX => Snowflake Message -> Sem r_a9GWX ()
+ Calamity.Cache.Eff: delMessage :: forall r_a9H0e. MemberWithError CacheEff r_a9H0e => Snowflake Message -> Sem r_a9H0e ()
- Calamity.Cache.Eff: delUnavailableGuild :: forall r_a9GWQ. MemberWithError CacheEff r_a9GWQ => Snowflake Guild -> Sem r_a9GWQ ()
+ Calamity.Cache.Eff: delUnavailableGuild :: forall r_a9H07. MemberWithError CacheEff r_a9H07 => Snowflake Guild -> Sem r_a9H07 ()
- Calamity.Cache.Eff: delUser :: forall r_a9GWJ. MemberWithError CacheEff r_a9GWJ => Snowflake User -> Sem r_a9GWJ ()
+ Calamity.Cache.Eff: delUser :: forall r_a9H00. MemberWithError CacheEff r_a9H00 => Snowflake User -> Sem r_a9H00 ()
- Calamity.Cache.Eff: getBotUser :: forall r_a9GWp. MemberWithError CacheEff r_a9GWp => Sem r_a9GWp (Maybe User)
+ Calamity.Cache.Eff: getBotUser :: forall r_a9GZG. MemberWithError CacheEff r_a9GZG => Sem r_a9GZG (Maybe User)
- Calamity.Cache.Eff: getDM :: forall r_a9GWz. MemberWithError CacheEff r_a9GWz => Snowflake DMChannel -> Sem r_a9GWz (Maybe DMChannel)
+ Calamity.Cache.Eff: getDM :: forall r_a9GZQ. MemberWithError CacheEff r_a9GZQ => Snowflake DMChannel -> Sem r_a9GZQ (Maybe DMChannel)
- Calamity.Cache.Eff: getDMs :: forall r_a9GWB. MemberWithError CacheEff r_a9GWB => Sem r_a9GWB [DMChannel]
+ Calamity.Cache.Eff: getDMs :: forall r_a9GZS. MemberWithError CacheEff r_a9GZS => Sem r_a9GZS [DMChannel]
- Calamity.Cache.Eff: getGuild :: forall r_a9GWs. MemberWithError CacheEff r_a9GWs => Snowflake Guild -> Sem r_a9GWs (Maybe Guild)
+ Calamity.Cache.Eff: getGuild :: forall r_a9GZJ. MemberWithError CacheEff r_a9GZJ => Snowflake Guild -> Sem r_a9GZJ (Maybe Guild)
- Calamity.Cache.Eff: getGuilds :: forall r_a9GWu. MemberWithError CacheEff r_a9GWu => Sem r_a9GWu [Guild]
+ Calamity.Cache.Eff: getGuilds :: forall r_a9GZL. MemberWithError CacheEff r_a9GZL => Sem r_a9GZL [Guild]
- Calamity.Cache.Eff: getMessage :: forall r_a9GWU. MemberWithError CacheEff r_a9GWU => Snowflake Message -> Sem r_a9GWU (Maybe Message)
+ Calamity.Cache.Eff: getMessage :: forall r_a9H0b. MemberWithError CacheEff r_a9H0b => Snowflake Message -> Sem r_a9H0b (Maybe Message)
- Calamity.Cache.Eff: getMessages :: forall r_a9GWW. MemberWithError CacheEff r_a9GWW => Sem r_a9GWW [Message]
+ Calamity.Cache.Eff: getMessages :: forall r_a9H0d. MemberWithError CacheEff r_a9H0d => Sem r_a9H0d [Message]
- Calamity.Cache.Eff: getUnavailableGuilds :: forall r_a9GWP. MemberWithError CacheEff r_a9GWP => Sem r_a9GWP [Snowflake Guild]
+ Calamity.Cache.Eff: getUnavailableGuilds :: forall r_a9H06. MemberWithError CacheEff r_a9H06 => Sem r_a9H06 [Snowflake Guild]
- Calamity.Cache.Eff: getUser :: forall r_a9GWG. MemberWithError CacheEff r_a9GWG => Snowflake User -> Sem r_a9GWG (Maybe User)
+ Calamity.Cache.Eff: getUser :: forall r_a9GZX. MemberWithError CacheEff r_a9GZX => Snowflake User -> Sem r_a9GZX (Maybe User)
- Calamity.Cache.Eff: getUsers :: forall r_a9GWI. MemberWithError CacheEff r_a9GWI => Sem r_a9GWI [User]
+ Calamity.Cache.Eff: getUsers :: forall r_a9GZZ. MemberWithError CacheEff r_a9GZZ => Sem r_a9GZZ [User]
- Calamity.Cache.Eff: isUnavailableGuild :: forall r_a9GWN. MemberWithError CacheEff r_a9GWN => Snowflake Guild -> Sem r_a9GWN Bool
+ Calamity.Cache.Eff: isUnavailableGuild :: forall r_a9H04. MemberWithError CacheEff r_a9H04 => Snowflake Guild -> Sem r_a9H04 Bool
- Calamity.Cache.Eff: setBotUser :: forall r_a9GWn. MemberWithError CacheEff r_a9GWn => User -> Sem r_a9GWn ()
+ Calamity.Cache.Eff: setBotUser :: forall r_a9GZE. MemberWithError CacheEff r_a9GZE => User -> Sem r_a9GZE ()
- Calamity.Cache.Eff: setDM :: forall r_a9GWx. MemberWithError CacheEff r_a9GWx => DMChannel -> Sem r_a9GWx ()
+ Calamity.Cache.Eff: setDM :: forall r_a9GZO. MemberWithError CacheEff r_a9GZO => DMChannel -> Sem r_a9GZO ()
- Calamity.Cache.Eff: setGuild :: forall r_a9GWq. MemberWithError CacheEff r_a9GWq => Guild -> Sem r_a9GWq ()
+ Calamity.Cache.Eff: setGuild :: forall r_a9GZH. MemberWithError CacheEff r_a9GZH => Guild -> Sem r_a9GZH ()
- Calamity.Cache.Eff: setMessage :: forall r_a9GWS. MemberWithError CacheEff r_a9GWS => Message -> Sem r_a9GWS ()
+ Calamity.Cache.Eff: setMessage :: forall r_a9H09. MemberWithError CacheEff r_a9H09 => Message -> Sem r_a9H09 ()
- Calamity.Cache.Eff: setUnavailableGuild :: forall r_a9GWL. MemberWithError CacheEff r_a9GWL => Snowflake Guild -> Sem r_a9GWL ()
+ Calamity.Cache.Eff: setUnavailableGuild :: forall r_a9H02. MemberWithError CacheEff r_a9H02 => Snowflake Guild -> Sem r_a9H02 ()
- Calamity.Cache.Eff: setUser :: forall r_a9GWE. MemberWithError CacheEff r_a9GWE => User -> Sem r_a9GWE ()
+ Calamity.Cache.Eff: setUser :: forall r_a9GZV. MemberWithError CacheEff r_a9GZV => User -> Sem r_a9GZV ()
- Calamity.Metrics.Eff: addCounter :: forall r_aEar. MemberWithError MetricEff r_aEar => Int -> Counter -> Sem r_aEar Int
+ Calamity.Metrics.Eff: addCounter :: forall r_aEdR. MemberWithError MetricEff r_aEdR => Int -> Counter -> Sem r_aEdR Int
- Calamity.Metrics.Eff: modifyGauge :: forall r_aEau. MemberWithError MetricEff r_aEau => (Double -> Double) -> Gauge -> Sem r_aEau Double
+ Calamity.Metrics.Eff: modifyGauge :: forall r_aEdU. MemberWithError MetricEff r_aEdU => (Double -> Double) -> Gauge -> Sem r_aEdU Double
- Calamity.Metrics.Eff: observeHistogram :: forall r_aEax. MemberWithError MetricEff r_aEax => Double -> Histogram -> Sem r_aEax HistogramSample
+ Calamity.Metrics.Eff: observeHistogram :: forall r_aEdX. MemberWithError MetricEff r_aEdX => Double -> Histogram -> Sem r_aEdX HistogramSample
- Calamity.Metrics.Eff: registerCounter :: forall r_aEah. MemberWithError MetricEff r_aEah => Text -> [(Text, Text)] -> Sem r_aEah Counter
+ Calamity.Metrics.Eff: registerCounter :: forall r_aEdH. MemberWithError MetricEff r_aEdH => Text -> [(Text, Text)] -> Sem r_aEdH Counter
- Calamity.Metrics.Eff: registerGauge :: forall r_aEak. MemberWithError MetricEff r_aEak => Text -> [(Text, Text)] -> Sem r_aEak Gauge
+ Calamity.Metrics.Eff: registerGauge :: forall r_aEdK. MemberWithError MetricEff r_aEdK => Text -> [(Text, Text)] -> Sem r_aEdK Gauge
- Calamity.Metrics.Eff: registerHistogram :: forall r_aEan. MemberWithError MetricEff r_aEan => Text -> [(Text, Text)] -> [Double] -> Sem r_aEan Histogram
+ Calamity.Metrics.Eff: registerHistogram :: forall r_aEdN. MemberWithError MetricEff r_aEdN => Text -> [(Text, Text)] -> [Double] -> Sem r_aEdN Histogram
Files
- calamity.cabal +3/−3
- src/Calamity/Client/Client.hs +8/−9
- src/Calamity/Gateway/Shard.hs +1/−1
calamity.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: ff41b2035734187fe33f9394cd057e7ad8f187dc4e297c846472c876600e2d45+-- hash: 8e92a779010033140a384ff887303116946beadaf66f3565d2a1850b65824b5f name: calamity-version: 0.1.6.0+version: 0.1.6.1 synopsis: A library for writing discord bots description: Please see the README on GitHub at <https://github.com/nitros12/calamity#readme> category: Network, Web@@ -121,7 +121,7 @@ , deepseq >=1.4.4.0 && <2 , deque >=0.4 && <0.5 , df1 >=0.3 && <0.4- , di-polysemy >=0.1.1 && <0.2+ , di-polysemy >=0.1.3 && <0.2 , exceptions >=0.10 && <0.11 , fmt >=0.6 && <0.7 , focus >=1.0 && <2
src/Calamity/Client/Client.hs view
@@ -81,11 +81,11 @@ runBotIO token setup = do client <- P.embed $ newClient token handlers <- P.embed $ newTVarIO def- P.asyncToIOFinal . P.runAtomicStateTVar handlers . P.runReader client . Di.runDiToStderrIO $ do- setup+ P.asyncToIOFinal . P.runAtomicStateTVar handlers . P.runReader client . Di.runDiToStderrIO . Di.push "calamity" $ do+ Di.push "calamity-setup" setup shardBot- clientLoop- finishUp+ Di.push "calamity-loop" clientLoop+ Di.push "calamity-stop" finishUp react :: forall s r. (BotC r, InsertEventHandler s (P.Sem r)) => EHType s (P.Sem r) -> P.Sem r () react handler = let handlers = makeEventHandlers (Proxy @s) (Proxy @(P.Sem r)) handler@@ -145,13 +145,12 @@ debug "handling a custom event" eventHandlers <- P.atomicGet - for_ (getCustomEventHandlers s (dynTypeRep d) eventHandlers) (\h -> fromJust . fromDynamic @(P.Sem r ()) $ dynApp h d)+ for_ (getCustomEventHandlers s (dynTypeRep d) eventHandlers) (\h -> P.async . fromJust . fromDynamic @(P.Sem r ()) $ dynApp h d) handleEvent :: BotC r => DispatchData -> P.Sem r () handleEvent data' = do debug "handling an event" eventHandlers <- P.atomicGet- actions <- P.runFail $ do cacheUpdateHisto <- registerHistogram "cache_update" mempty [10, 20..100] (time, res) <- timeA $ handleEvent' eventHandlers data'@@ -162,7 +161,7 @@ case actions of Right actions -> for_ actions $ \action -> P.async $ do- (time, _) <- timeA action+ (time, _) <- timeA $ Di.reset action void $ observeHistogram time eventHandleHisto Left err -> debug $ "Failed handling actions for event: " +| err |+ "" @@ -329,7 +328,7 @@ pure $ map ($ oldMsg) (getEventHandlers @'MessageDeleteEvt eh) handleEvent' eh evt@(MessageDeleteBulk MessageDeleteBulkData { ids }) = do- messages <- catMaybes <$> mapM getMessage ids+ messages <- catMaybes <$> traverse getMessage ids updateCache evt join <$> for messages (\msg -> pure $ map ($ msg) (getEventHandlers @'MessageDeleteEvt eh)) @@ -395,7 +394,7 @@ updateDM (getID chan) (update chan) updateCache (ChannelUpdate (GuildChannel' chan)) =- updateGuild (getID chan) (#channels . at (getID chan) . _Just %~ update chan)+ updateGuild (getID chan) (#channels . ix (getID chan) %~ update chan) updateCache (ChannelDelete (DMChannel' chan)) = delDM (getID chan)
src/Calamity/Gateway/Shard.hs view
@@ -92,7 +92,7 @@ pure (cmdIn, stateVar) let runShard = P.runAtomicStateIORef stateVar shardLoop- let action = attr "shard-id" id . push "calamity-shard" $ runShard+ let action = push "calamity-shard" . attr "shard-id" id $ runShard thread' <- P.async action