{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Telegram.Bot.API.UpdatingMessages where
import Data.Aeson
import Data.Proxy
import Data.Text (Text)
import GHC.Generics (Generic)
import Servant.API
import Servant.Client (ClientM, client)
import Telegram.Bot.API.Internal.Utils (gparseJSON, gtoJSON)
import Telegram.Bot.API.MakingRequests
import Telegram.Bot.API.Methods
import Telegram.Bot.API.Types
type EditMessageText
= "editMessageText"
:> ReqBody '[JSON] EditMessageTextRequest
:> Post '[JSON] (Response Message)
editMessageText :: EditMessageTextRequest -> ClientM (Response Message)
editMessageText :: EditMessageTextRequest -> ClientM (Response Message)
editMessageText = Proxy EditMessageText -> Client ClientM EditMessageText
forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (Proxy EditMessageText
forall k (t :: k). Proxy t
Proxy @EditMessageText)
data EditMessageTextRequest = EditMessageTextRequest
{ EditMessageTextRequest -> Maybe SomeChatId
editMessageTextChatId :: Maybe SomeChatId
, EditMessageTextRequest -> Maybe MessageId
editMessageTextMessageId :: Maybe MessageId
, EditMessageTextRequest -> Maybe MessageId
editMessageTextInlineMessageId :: Maybe MessageId
, EditMessageTextRequest -> Text
editMessageTextText :: Text
, EditMessageTextRequest -> Maybe ParseMode
editMessageTextParseMode :: Maybe ParseMode
, EditMessageTextRequest -> Maybe Bool
editMessageTextDisableWebPagePreview :: Maybe Bool
, EditMessageTextRequest -> Maybe SomeReplyMarkup
editMessageTextReplyMarkup :: Maybe SomeReplyMarkup
} deriving ((forall x. EditMessageTextRequest -> Rep EditMessageTextRequest x)
-> (forall x.
Rep EditMessageTextRequest x -> EditMessageTextRequest)
-> Generic EditMessageTextRequest
forall x. Rep EditMessageTextRequest x -> EditMessageTextRequest
forall x. EditMessageTextRequest -> Rep EditMessageTextRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EditMessageTextRequest x -> EditMessageTextRequest
$cfrom :: forall x. EditMessageTextRequest -> Rep EditMessageTextRequest x
Generic)
instance ToJSON EditMessageTextRequest where toJSON :: EditMessageTextRequest -> Value
toJSON = EditMessageTextRequest -> Value
forall a (d :: Meta) (f :: * -> *).
(Generic a, GToJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
a -> Value
gtoJSON
instance FromJSON EditMessageTextRequest where parseJSON :: Value -> Parser EditMessageTextRequest
parseJSON = Value -> Parser EditMessageTextRequest
forall a (d :: Meta) (f :: * -> *).
(Generic a, GFromJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
Value -> Parser a
gparseJSON