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 +8/−0
- calamity.cabal +2/−2
- src/Calamity/HTTP/Internal/Ratelimit.hs +1/−1
- src/Calamity/Internal/AesonThings.hs +6/−3
- src/Calamity/Internal/Updateable.hs +1/−0
- src/Calamity/Types/Model/Channel/DM.hs +2/−1
- src/Calamity/Types/Model/Channel/Message.hs +2/−4
- src/Calamity/Types/Model/Channel/UpdatedMessage.hs +3/−1
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