telegram-bot-simple 0.6 → 0.6.1
raw patch · 4 files changed
+31/−15 lines, 4 files
Files
- CHANGELOG.md +6/−0
- src/Telegram/Bot/API/UpdatingMessages.hs +18/−8
- src/Telegram/Bot/Simple/BotApp/Internal.hs +1/−1
- telegram-bot-simple.cabal +6/−6
CHANGELOG.md view
@@ -1,3 +1,9 @@+0.6.1+---++- Fix response parsing in `UpdatingMessages` (see [#131](https://github.com/fizruk/telegram-bot-simple/pull/131));+- Move from short polling to long polling (see [#129](https://github.com/fizruk/telegram-bot-simple/pull/129));+ 0.6 ---
src/Telegram/Bot/API/UpdatingMessages.hs view
@@ -17,6 +17,16 @@ import Telegram.Bot.API.Methods import Telegram.Bot.API.Types +data EditMessageResponse+ = EditedInlineMessage Bool+ | EditedMessage Message+ deriving (Show, Generic)++instance FromJSON EditMessageResponse where+ parseJSON (Data.Aeson.Bool b) = pure (EditedInlineMessage b)+ parseJSON o@(Data.Aeson.Object _) = EditedMessage <$> parseJSON o+ parseJSON _ = fail "Unable to parse EditMessageResponse: expected either a Bool or a Message"+ -- ** 'editMessageText' -- | Request parameters for 'editMessageText'.@@ -79,26 +89,26 @@ type EditMessageText = "editMessageText" :> ReqBody '[JSON] EditMessageTextRequest- :> Post '[JSON] (Response (Either Bool Message))+ :> Post '[JSON] (Response EditMessageResponse) -- | Use this method to edit text and game messages. On success, if the edited message is not an inline message, the edited 'Message' is returned, otherwise 'True' is returned.-editMessageText :: EditMessageTextRequest -> ClientM (Response (Either Bool Message))+editMessageText :: EditMessageTextRequest -> ClientM (Response EditMessageResponse) editMessageText = client (Proxy @EditMessageText) type EditMessageCaption = "editMessageCaption" :> ReqBody '[JSON] EditMessageCaptionRequest- :> Post '[JSON] (Response (Either Bool Message))+ :> Post '[JSON] (Response EditMessageResponse) -- | Use this method to edit captions of messages. -- On success, if the edited message is not an -- inline message, the edited Message is returned, -- otherwise True is returned.-editMessageCaption :: EditMessageCaptionRequest -> ClientM (Response (Either Bool Message))+editMessageCaption :: EditMessageCaptionRequest -> ClientM (Response EditMessageResponse) editMessageCaption = client (Proxy @EditMessageCaption) type EditMessageMedia = "editMessageMedia" :> ReqBody '[JSON] EditMessageMediaRequest- :> Post '[JSON] (Response (Either Bool Message))+ :> Post '[JSON] (Response EditMessageResponse) -- | Use this method to edit animation, audio, -- document, photo, or video messages. If a@@ -110,18 +120,18 @@ -- previously uploaded file via its file_id or specify a URL. -- On success, if the edited message is not an inline -- message, the edited Message is returned, otherwise True is returned.-editMessageMedia :: EditMessageMediaRequest -> ClientM (Response (Either Bool Message))+editMessageMedia :: EditMessageMediaRequest -> ClientM (Response EditMessageResponse) editMessageMedia = client (Proxy @EditMessageMedia) type EditMessageReplyMarkup = "editMessageReplyMarkup" :> ReqBody '[JSON] EditMessageReplyMarkupRequest- :> Post '[JSON] (Response (Either Bool Message))+ :> Post '[JSON] (Response EditMessageResponse) -- | Use this method to edit only the reply markup of messages. -- On success, if the edited message is not an inline message, -- the edited Message is returned, otherwise True is returned.-editMessageReplyMarkup :: EditMessageReplyMarkupRequest -> ClientM (Response (Either Bool Message))+editMessageReplyMarkup :: EditMessageReplyMarkupRequest -> ClientM (Response EditMessageResponse) editMessageReplyMarkup = client (Proxy @EditMessageReplyMarkup) type StopPoll = "stopPoll"
src/Telegram/Bot/Simple/BotApp/Internal.hs view
@@ -139,7 +139,7 @@ offset = fmap inc lastUpdateId res <- (Right <$> Telegram.getUpdates- (Telegram.GetUpdatesRequest offset Nothing Nothing Nothing))+ (Telegram.GetUpdatesRequest offset Nothing (Just 25) Nothing)) `catchError` (pure . Left) nextUpdateId <- case res of
telegram-bot-simple.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.4.+-- This file has been generated from package.yaml by hpack version 0.35.0. -- -- see: https://github.com/sol/hpack name: telegram-bot-simple-version: 0.6+version: 0.6.1 synopsis: Easy to use library for building Telegram bots. description: Please see the README on Github at <https://github.com/fizruk/telegram-bot-simple#readme> category: Web@@ -129,12 +129,12 @@ , unordered-containers , warp , warp-tls+ default-language: Haskell2010 if flag(examples) build-depends: telegram-bot-simple else buildable: False- default-language: Haskell2010 executable example-echo-bot-webhook main-is: examples/EchoBotWebhook.hs@@ -170,12 +170,12 @@ , unordered-containers , warp , warp-tls+ default-language: Haskell2010 if flag(examples) build-depends: telegram-bot-simple else buildable: False- default-language: Haskell2010 executable example-game-bot main-is: examples/GameBot.hs@@ -211,6 +211,7 @@ , unordered-containers , warp , warp-tls+ default-language: Haskell2010 if flag(examples) build-depends: QuickCheck@@ -229,7 +230,6 @@ , warp else buildable: False- default-language: Haskell2010 executable example-todo-bot main-is: examples/TodoBot.hs@@ -265,9 +265,9 @@ , unordered-containers , warp , warp-tls+ default-language: Haskell2010 if flag(examples) build-depends: telegram-bot-simple else buildable: False- default-language: Haskell2010