packages feed

calamity 0.1.14.1 → 0.1.14.2

raw patch · 8 files changed

+25/−12 lines, 8 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Calamity.Types.Model.Channel.DM: instance Data.Aeson.Types.ToJSON.ToJSON Calamity.Types.Model.Channel.DM.DMChannel
- Calamity.Types.Model.Channel.Message: instance Data.Aeson.Types.ToJSON.ToJSON Calamity.Types.Model.Channel.Message.Message
- Calamity.Types.Model.Channel.Message: instance Data.Aeson.Types.ToJSON.ToJSON Calamity.Types.Model.Channel.Message.MessageType
+ Calamity.Types.Model.Channel.Message: [$sel:mentionChannels:Message] :: Message -> Maybe (Vector (Snowflake Channel))
+ Calamity.Types.Model.Channel.UpdatedMessage: [$sel:mentionChannels:UpdatedMessage] :: UpdatedMessage -> Maybe (Vector (Snowflake Channel))
- Calamity.Cache.Eff: delDM :: forall r_a9NAo. MemberWithError CacheEff r_a9NAo => Snowflake DMChannel -> Sem r_a9NAo ()
+ Calamity.Cache.Eff: delDM :: forall r_a9w5r. MemberWithError CacheEff r_a9w5r => Snowflake DMChannel -> Sem r_a9w5r ()
- Calamity.Cache.Eff: delGuild :: forall r_a9NAh. MemberWithError CacheEff r_a9NAh => Snowflake Guild -> Sem r_a9NAh ()
+ Calamity.Cache.Eff: delGuild :: forall r_a9w5k. MemberWithError CacheEff r_a9w5k => Snowflake Guild -> Sem r_a9w5k ()
- Calamity.Cache.Eff: delMessage :: forall r_a9NAJ. MemberWithError CacheEff r_a9NAJ => Snowflake Message -> Sem r_a9NAJ ()
+ Calamity.Cache.Eff: delMessage :: forall r_a9w5M. MemberWithError CacheEff r_a9w5M => Snowflake Message -> Sem r_a9w5M ()
- Calamity.Cache.Eff: delUnavailableGuild :: forall r_a9NAC. MemberWithError CacheEff r_a9NAC => Snowflake Guild -> Sem r_a9NAC ()
+ Calamity.Cache.Eff: delUnavailableGuild :: forall r_a9w5F. MemberWithError CacheEff r_a9w5F => Snowflake Guild -> Sem r_a9w5F ()
- Calamity.Cache.Eff: delUser :: forall r_a9NAv. MemberWithError CacheEff r_a9NAv => Snowflake User -> Sem r_a9NAv ()
+ Calamity.Cache.Eff: delUser :: forall r_a9w5y. MemberWithError CacheEff r_a9w5y => Snowflake User -> Sem r_a9w5y ()
- Calamity.Cache.Eff: getBotUser :: forall r_a9NA9. MemberWithError CacheEff r_a9NA9 => Sem r_a9NA9 (Maybe User)
+ Calamity.Cache.Eff: getBotUser :: forall r_a9w5c. MemberWithError CacheEff r_a9w5c => Sem r_a9w5c (Maybe User)
- Calamity.Cache.Eff: getDM :: forall r_a9NAl. MemberWithError CacheEff r_a9NAl => Snowflake DMChannel -> Sem r_a9NAl (Maybe DMChannel)
+ Calamity.Cache.Eff: getDM :: forall r_a9w5o. MemberWithError CacheEff r_a9w5o => Snowflake DMChannel -> Sem r_a9w5o (Maybe DMChannel)
- Calamity.Cache.Eff: getDMs :: forall r_a9NAn. MemberWithError CacheEff r_a9NAn => Sem r_a9NAn [DMChannel]
+ Calamity.Cache.Eff: getDMs :: forall r_a9w5q. MemberWithError CacheEff r_a9w5q => Sem r_a9w5q [DMChannel]
- Calamity.Cache.Eff: getGuild :: forall r_a9NAc. MemberWithError CacheEff r_a9NAc => Snowflake Guild -> Sem r_a9NAc (Maybe Guild)
+ Calamity.Cache.Eff: getGuild :: forall r_a9w5f. MemberWithError CacheEff r_a9w5f => Snowflake Guild -> Sem r_a9w5f (Maybe Guild)
- Calamity.Cache.Eff: getGuildChannel :: forall r_a9NAe. MemberWithError CacheEff r_a9NAe => Snowflake GuildChannel -> Sem r_a9NAe (Maybe GuildChannel)
+ Calamity.Cache.Eff: getGuildChannel :: forall r_a9w5h. MemberWithError CacheEff r_a9w5h => Snowflake GuildChannel -> Sem r_a9w5h (Maybe GuildChannel)
- Calamity.Cache.Eff: getGuilds :: forall r_a9NAg. MemberWithError CacheEff r_a9NAg => Sem r_a9NAg [Guild]
+ Calamity.Cache.Eff: getGuilds :: forall r_a9w5j. MemberWithError CacheEff r_a9w5j => Sem r_a9w5j [Guild]
- Calamity.Cache.Eff: getMessage :: forall r_a9NAG. MemberWithError CacheEff r_a9NAG => Snowflake Message -> Sem r_a9NAG (Maybe Message)
+ Calamity.Cache.Eff: getMessage :: forall r_a9w5J. MemberWithError CacheEff r_a9w5J => Snowflake Message -> Sem r_a9w5J (Maybe Message)
- Calamity.Cache.Eff: getMessages :: forall r_a9NAI. MemberWithError CacheEff r_a9NAI => Sem r_a9NAI [Message]
+ Calamity.Cache.Eff: getMessages :: forall r_a9w5L. MemberWithError CacheEff r_a9w5L => Sem r_a9w5L [Message]
- Calamity.Cache.Eff: getUnavailableGuilds :: forall r_a9NAB. MemberWithError CacheEff r_a9NAB => Sem r_a9NAB [Snowflake Guild]
+ Calamity.Cache.Eff: getUnavailableGuilds :: forall r_a9w5E. MemberWithError CacheEff r_a9w5E => Sem r_a9w5E [Snowflake Guild]
- Calamity.Cache.Eff: getUser :: forall r_a9NAs. MemberWithError CacheEff r_a9NAs => Snowflake User -> Sem r_a9NAs (Maybe User)
+ Calamity.Cache.Eff: getUser :: forall r_a9w5v. MemberWithError CacheEff r_a9w5v => Snowflake User -> Sem r_a9w5v (Maybe User)
- Calamity.Cache.Eff: getUsers :: forall r_a9NAu. MemberWithError CacheEff r_a9NAu => Sem r_a9NAu [User]
+ Calamity.Cache.Eff: getUsers :: forall r_a9w5x. MemberWithError CacheEff r_a9w5x => Sem r_a9w5x [User]
- Calamity.Cache.Eff: isUnavailableGuild :: forall r_a9NAz. MemberWithError CacheEff r_a9NAz => Snowflake Guild -> Sem r_a9NAz Bool
+ Calamity.Cache.Eff: isUnavailableGuild :: forall r_a9w5C. MemberWithError CacheEff r_a9w5C => Snowflake Guild -> Sem r_a9w5C Bool
- Calamity.Cache.Eff: setBotUser :: forall r_a9NA7. MemberWithError CacheEff r_a9NA7 => User -> Sem r_a9NA7 ()
+ Calamity.Cache.Eff: setBotUser :: forall r_a9w5a. MemberWithError CacheEff r_a9w5a => User -> Sem r_a9w5a ()
- Calamity.Cache.Eff: setDM :: forall r_a9NAj. MemberWithError CacheEff r_a9NAj => DMChannel -> Sem r_a9NAj ()
+ Calamity.Cache.Eff: setDM :: forall r_a9w5m. MemberWithError CacheEff r_a9w5m => DMChannel -> Sem r_a9w5m ()
- Calamity.Cache.Eff: setGuild :: forall r_a9NAa. MemberWithError CacheEff r_a9NAa => Guild -> Sem r_a9NAa ()
+ Calamity.Cache.Eff: setGuild :: forall r_a9w5d. MemberWithError CacheEff r_a9w5d => Guild -> Sem r_a9w5d ()
- Calamity.Cache.Eff: setMessage :: forall r_a9NAE. MemberWithError CacheEff r_a9NAE => Message -> Sem r_a9NAE ()
+ Calamity.Cache.Eff: setMessage :: forall r_a9w5H. MemberWithError CacheEff r_a9w5H => Message -> Sem r_a9w5H ()
- Calamity.Cache.Eff: setUnavailableGuild :: forall r_a9NAx. MemberWithError CacheEff r_a9NAx => Snowflake Guild -> Sem r_a9NAx ()
+ Calamity.Cache.Eff: setUnavailableGuild :: forall r_a9w5A. MemberWithError CacheEff r_a9w5A => Snowflake Guild -> Sem r_a9w5A ()
- Calamity.Cache.Eff: setUser :: forall r_a9NAq. MemberWithError CacheEff r_a9NAq => User -> Sem r_a9NAq ()
+ Calamity.Cache.Eff: setUser :: forall r_a9w5t. MemberWithError CacheEff r_a9w5t => User -> Sem r_a9w5t ()
- Calamity.Commands.ParsePrefix: parsePrefix :: forall r_a7qNL. MemberWithError ParsePrefix r_a7qNL => Message -> Sem r_a7qNL (Maybe (Text, Text))
+ Calamity.Commands.ParsePrefix: parsePrefix :: forall r_a79iO. MemberWithError ParsePrefix r_a79iO => Message -> Sem r_a79iO (Maybe (Text, Text))
- Calamity.Internal.LocalWriter: llisten :: forall o_aE2p r_aEip a_XE2p. MemberWithError (LocalWriter o_aE2p) r_aEip => Sem r_aEip a_XE2p -> Sem r_aEip (o_aE2p, a_XE2p)
+ Calamity.Internal.LocalWriter: llisten :: forall o_aE3b r_aEjb a_XE3b. MemberWithError (LocalWriter o_aE3b) r_aEjb => Sem r_aEjb a_XE3b -> Sem r_aEjb (o_aE3b, a_XE3b)
- Calamity.Internal.LocalWriter: ltell :: forall o_aE2l r_aEin. MemberWithError (LocalWriter o_aE2l) r_aEin => o_aE2l -> Sem r_aEin ()
+ Calamity.Internal.LocalWriter: ltell :: forall o_aE37 r_aEj9. MemberWithError (LocalWriter o_aE37) r_aEj9 => o_aE37 -> Sem r_aEj9 ()
- Calamity.Internal.RunIntoIO: intoIO :: forall p_aFlY r_aFm0 r_aFr5. MemberWithError (IntoIO p_aFlY r_aFm0) r_aFr5 => (p_aFlY -> Sem r_aFr5 r_aFm0) -> Sem r_aFr5 (p_aFlY -> IO (Maybe r_aFm0))
+ Calamity.Internal.RunIntoIO: intoIO :: forall p_aFmK r_aFmM r_aFrR. MemberWithError (IntoIO p_aFmK r_aFmM) r_aFrR => (p_aFmK -> Sem r_aFrR r_aFmM) -> Sem r_aFrR (p_aFmK -> IO (Maybe r_aFmM))
- Calamity.Metrics.Eff: addCounter :: forall r_aI8g. MemberWithError MetricEff r_aI8g => Int -> Counter -> Sem r_aI8g Int
+ Calamity.Metrics.Eff: addCounter :: forall r_aI92. MemberWithError MetricEff r_aI92 => Int -> Counter -> Sem r_aI92 Int
- Calamity.Metrics.Eff: modifyGauge :: forall r_aI8j. MemberWithError MetricEff r_aI8j => (Double -> Double) -> Gauge -> Sem r_aI8j Double
+ Calamity.Metrics.Eff: modifyGauge :: forall r_aI95. MemberWithError MetricEff r_aI95 => (Double -> Double) -> Gauge -> Sem r_aI95 Double
- Calamity.Metrics.Eff: observeHistogram :: forall r_aI8m. MemberWithError MetricEff r_aI8m => Double -> Histogram -> Sem r_aI8m HistogramSample
+ Calamity.Metrics.Eff: observeHistogram :: forall r_aI98. MemberWithError MetricEff r_aI98 => Double -> Histogram -> Sem r_aI98 HistogramSample
- Calamity.Metrics.Eff: registerCounter :: forall r_aI86. MemberWithError MetricEff r_aI86 => Text -> [(Text, Text)] -> Sem r_aI86 Counter
+ Calamity.Metrics.Eff: registerCounter :: forall r_aI8S. MemberWithError MetricEff r_aI8S => Text -> [(Text, Text)] -> Sem r_aI8S Counter
- Calamity.Metrics.Eff: registerGauge :: forall r_aI89. MemberWithError MetricEff r_aI89 => Text -> [(Text, Text)] -> Sem r_aI89 Gauge
+ Calamity.Metrics.Eff: registerGauge :: forall r_aI8V. MemberWithError MetricEff r_aI8V => Text -> [(Text, Text)] -> Sem r_aI8V Gauge
- Calamity.Metrics.Eff: registerHistogram :: forall r_aI8c. MemberWithError MetricEff r_aI8c => Text -> [(Text, Text)] -> [Double] -> Sem r_aI8c Histogram
+ Calamity.Metrics.Eff: registerHistogram :: forall r_aI8Y. MemberWithError MetricEff r_aI8Y => Text -> [(Text, Text)] -> [Double] -> Sem r_aI8Y Histogram
- Calamity.Types.Model.Channel.Message: Message :: Snowflake Message -> Snowflake Channel -> Maybe (Snowflake Guild) -> Snowflake User -> Text -> UTCTime -> Maybe UTCTime -> Bool -> Bool -> Vector (Snowflake User) -> Vector (Snowflake Role) -> [Attachment] -> [Embed] -> [Reaction] -> Maybe (Snowflake Message) -> Bool -> Maybe (Snowflake ()) -> MessageType -> Message
+ Calamity.Types.Model.Channel.Message: Message :: Snowflake Message -> Snowflake Channel -> Maybe (Snowflake Guild) -> Snowflake User -> Text -> UTCTime -> Maybe UTCTime -> Bool -> Bool -> Vector (Snowflake User) -> Vector (Snowflake Role) -> Maybe (Vector (Snowflake Channel)) -> [Attachment] -> [Embed] -> [Reaction] -> Maybe (Snowflake Message) -> Bool -> Maybe (Snowflake ()) -> MessageType -> Message
- Calamity.Types.Model.Channel.UpdatedMessage: UpdatedMessage :: Snowflake Message -> Snowflake Channel -> Maybe Text -> Maybe UTCTime -> Maybe Bool -> Maybe Bool -> Maybe (Vector (Snowflake User)) -> Maybe (Vector (Snowflake Role)) -> Maybe [Attachment] -> Maybe [Embed] -> Maybe [Reaction] -> Maybe Bool -> UpdatedMessage
+ Calamity.Types.Model.Channel.UpdatedMessage: UpdatedMessage :: Snowflake Message -> Snowflake Channel -> Maybe Text -> Maybe UTCTime -> Maybe Bool -> Maybe Bool -> Maybe (Vector (Snowflake User)) -> Maybe (Vector (Snowflake Role)) -> Maybe (Vector (Snowflake Channel)) -> Maybe [Attachment] -> Maybe [Embed] -> Maybe [Reaction] -> Maybe Bool -> UpdatedMessage

Files

ChangeLog.md view
@@ -1,5 +1,13 @@ # Changelog for Calamity +## 0.1.14.2++*2020-06-09*++* Fix broken json decoding for DMs++* Add `mentionChannels` to `Message`+ ## 0.1.14.1  *2020-06-08*
calamity.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 17e82ecf5c56e8f6cd338935a102965df59d7bdfffee1d9c0461ac66c9089a7c+-- hash: 2a89c6e83c7636ffaf0e0f4474f87664467293685a6a21eea8fc9cc332e6e39b  name:           calamity-version:        0.1.14.1+version:        0.1.14.2 synopsis:       A library for writing discord bots description:    Please see the README on GitHub at <https://github.com/nitros12/calamity#readme> category:       Network, Web
src/Calamity/HTTP/Internal/Ratelimit.hs view
@@ -72,7 +72,7 @@         Nothing -> pure $ ClientError (status ^. statusCode) "429 with invalid json???"     | statusIsClientError status -> do       let err = r' ^. responseBody-      error $ "You fucked up: " +|| err ||+ " response: " +|| r' ||+ ""+      error $ "Something went wrong: " +|| err ||+ " response: " +|| r' ||+ ""       pure $ ClientError (status ^. statusCode) err     | otherwise -> do       debug $ "Got server error from discord: " +| status ^. statusCode |+ ""
src/Calamity/Internal/AesonThings.hs view
@@ -60,9 +60,12 @@  instance (KnownSymbol label, KnownSymbol field) => PerformAction (ExtractArrayField label field) where   runAction _ o = do-    a :: Array <- o .: textSymbolVal @label-    a' <- Array <$> traverse (withObject "extracting field" (.: textSymbolVal @field)) a-    pure $ o & at (textSymbolVal @label) ?~ a'+    a :: Maybe Array <- o .:? textSymbolVal @label+    case a of+      Just a' -> do+        a'' <- Array <$> traverse (withObject "extracting field" (.: textSymbolVal @field)) a'+        pure $ o & at (textSymbolVal @label) ?~ a''+      Nothing -> pure o  newtype WithSpecialCases (rules :: [Type]) a = WithSpecialCases a 
src/Calamity/Internal/Updateable.hs view
@@ -43,6 +43,7 @@     & mergeF @"mentionEveryone" o n     & mergeF @"mentions" o n     & mergeF @"mentionRoles" o n+    & mergeF' @"mentionChannels" o n     & mergeF @"attachments" o n     & mergeF @"embeds" o n     & mergeF @"reactions" o n
src/Calamity/Types/Model/Channel/DM.hs view
@@ -26,6 +26,7 @@   }   deriving ( Show, Eq, Generic )   deriving ( TextShow ) via TSG.FromGeneric DMChannel-  deriving ( FromJSON, ToJSON ) via CalamityJSON DMChannel+  deriving ( FromJSON ) via WithSpecialCases+      '["recipients" `ExtractArrayField` "id"] DMChannel   deriving ( HasID DMChannel ) via HasIDField "id" DMChannel   deriving ( HasID Channel ) via HasIDFieldCoerce' "id" DMChannel
src/Calamity/Types/Model/Channel/Message.hs view
@@ -35,6 +35,7 @@   , mentionEveryone :: Bool   , mentions        :: UV.Vector (Snowflake User)   , mentionRoles    :: UV.Vector (Snowflake Role)+  , mentionChannels :: Maybe (UV.Vector (Snowflake Channel))   , attachments     :: [Attachment]   , embeds          :: [Embed]   , reactions       :: [Reaction]@@ -45,9 +46,9 @@   }   deriving ( Eq, Show, Generic )   deriving ( TextShow ) via TSG.FromGeneric Message-  deriving ( ToJSON ) via CalamityJSON Message   deriving ( FromJSON ) via WithSpecialCases       '["author" `ExtractFieldFrom` "id", "mentions" `ExtractArrayField` "id",+        "mention_channels" `ExtractArrayField` "id",         "reactions" `IfNoneThen` DefaultToEmptyArray]       Message   deriving ( HasID Message ) via HasIDField "id" Message@@ -66,9 +67,6 @@   | GuildMemberJoin   deriving ( Eq, Show, Enum, Generic )   deriving ( TextShow ) via TSG.FromGeneric MessageType--instance ToJSON MessageType where-  toJSON t = Number $ fromIntegral (fromEnum t)  instance FromJSON MessageType where   parseJSON = withScientific "MessageType" $ \n -> case toBoundedInteger n of
src/Calamity/Types/Model/Channel/UpdatedMessage.hs view
@@ -29,6 +29,7 @@   , mentionEveryone :: Maybe Bool   , mentions        :: Maybe (UV.Vector (Snowflake User))   , mentionRoles    :: Maybe (UV.Vector (Snowflake Role))+  , mentionChannels :: Maybe (UV.Vector (Snowflake Channel))   , attachments     :: Maybe [Attachment]   , embeds          :: Maybe [Embed]   , reactions       :: Maybe [Reaction]@@ -37,7 +38,8 @@   deriving ( Eq, Show, Generic )   deriving ( TextShow ) via TSG.FromGeneric UpdatedMessage   deriving ( FromJSON ) via WithSpecialCases-      '["author" `ExtractFieldFrom` "id", "mentions" `ExtractArrayField` "id"]+      '["author" `ExtractFieldFrom` "id", "mentions" `ExtractArrayField` "id",+        "mention_channels" `ExtractArrayField` "id"]       UpdatedMessage   deriving ( HasID Message ) via HasIDField "id" UpdatedMessage   deriving ( HasID Channel ) via HasIDField "channelID" UpdatedMessage