{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Telegram.Bot.API.Methods.StopMessageLiveLocation where
import Data.Aeson (FromJSON (..), ToJSON (..))
import Data.Proxy
import Data.Text
import GHC.Generics (Generic)
import Servant.API
import Servant.Client hiding (Response)
import Telegram.Bot.API.Internal.Utils
import Telegram.Bot.API.MakingRequests
import Telegram.Bot.API.Types
import Telegram.Bot.API.Internal.TH
data StopMessageLiveLocationRequest = StopMessageLiveLocationRequest
{ StopMessageLiveLocationRequest -> Maybe SomeChatId
stopMessageLiveLocationChatId :: Maybe SomeChatId
, StopMessageLiveLocationRequest -> Maybe MessageId
stopMessageLiveLocationMessageId :: Maybe MessageId
, StopMessageLiveLocationRequest -> Maybe Text
stopMessageLiveLocationInlineMessageId :: Maybe Text
, StopMessageLiveLocationRequest -> Maybe InlineKeyboardMarkup
stopMessageLiveLocationReplyMarkup :: Maybe InlineKeyboardMarkup
}
deriving forall x.
Rep StopMessageLiveLocationRequest x
-> StopMessageLiveLocationRequest
forall x.
StopMessageLiveLocationRequest
-> Rep StopMessageLiveLocationRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StopMessageLiveLocationRequest x
-> StopMessageLiveLocationRequest
$cfrom :: forall x.
StopMessageLiveLocationRequest
-> Rep StopMessageLiveLocationRequest x
Generic
instance ToJSON StopMessageLiveLocationRequest where toJSON :: StopMessageLiveLocationRequest -> Value
toJSON = forall a (d :: Meta) (f :: * -> *).
(Generic a, GToJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
a -> Value
gtoJSON
instance FromJSON StopMessageLiveLocationRequest where parseJSON :: Value -> Parser StopMessageLiveLocationRequest
parseJSON = forall a (d :: Meta) (f :: * -> *).
(Generic a, GFromJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
Value -> Parser a
gparseJSON
type StopMessageLiveLocation = "stopMessageLiveLocation"
:> ReqBody '[JSON] StopMessageLiveLocationRequest
:> Post '[JSON] (Response (Either Bool Message))
stopMessageLiveLocation :: StopMessageLiveLocationRequest -> ClientM (Response (Either Bool Message))
stopMessageLiveLocation :: StopMessageLiveLocationRequest
-> ClientM (Response (Either Bool Message))
stopMessageLiveLocation = forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall {k} (t :: k). Proxy t
Proxy @StopMessageLiveLocation)
makeDefault ''StopMessageLiveLocationRequest