telegram-types 0.4.0 → 0.4.1
raw patch · 3 files changed
+7/−20 lines, 3 files
Files
- src/Web/Telegram/Types/Internal/Update.hs +3/−1
- telegram-types.cabal +3/−3
- test/Spec.hs +1/−16
src/Web/Telegram/Types/Internal/Update.hs view
@@ -8,6 +8,7 @@ module Web.Telegram.Types.Internal.Update where import Data.Aeson+import Data.Aeson.Types import Data.Monoid import Data.Text (Text) import Data.Time.Clock.POSIX@@ -80,7 +81,8 @@ instance FromJSON Update where parseJSON = withObject "Update object" $ \o -> do uid <- o .: "update_id"- let pair (k, c) = do+ let pair :: FromJSON a => (Text, Int -> a -> Update) -> Parser (Maybe Update)+ pair (k, c) = do m <- o .:? k return $ fmap (c uid) m l <-
telegram-types.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.33.1. -- -- see: https://github.com/sol/hpack ----- hash: 8af209cc5d14ad01da13e8a8154044f721fe6a9791344c5d90673220e658ceaa+-- hash: f69e9e23c4278f44f278b61fe80e1edbd7f3d074e63a4bcc977b32a512bb4d52 name: telegram-types-version: 0.4.0+version: 0.4.1 synopsis: Types used in Telegram bot API description: Defines various datatypes and their serialization methods useful for writing bindings to Telegram bot API. category: Web
test/Spec.hs view
@@ -1,19 +1,4 @@-{-# LANGUAGE OverloadedStrings #-}- module Main where -import Data.Aeson-import qualified Data.ByteString.Lazy as LBS-import Web.Telegram.Types-import Web.Telegram.Types.Input-import Web.Telegram.Types.Interaction-import Web.Telegram.Types.Update- main :: IO ()-main = do- f <- LBS.readFile "test/Message1"- print $ (eitherDecode f :: Either String Update)- LBS.putStrLn $ encode (def :: InputMedia)- putStrLn "==== Testring KeyboardButton ====="- LBS.putStrLn $ encode $ KeyboardButton "button" (Just $ RequestContact True)- LBS.putStrLn $ encode $ KeyboardButton "button2" Nothing+main = pure ()