{-# 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.
StopMessageLiveLocationRequest
-> Rep StopMessageLiveLocationRequest x)
-> (forall x.
Rep StopMessageLiveLocationRequest x
-> StopMessageLiveLocationRequest)
-> Generic StopMessageLiveLocationRequest
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
$cfrom :: forall x.
StopMessageLiveLocationRequest
-> Rep StopMessageLiveLocationRequest x
from :: forall x.
StopMessageLiveLocationRequest
-> Rep StopMessageLiveLocationRequest x
$cto :: forall x.
Rep StopMessageLiveLocationRequest x
-> StopMessageLiveLocationRequest
to :: forall x.
Rep StopMessageLiveLocationRequest x
-> StopMessageLiveLocationRequest
Generic
instance ToJSON StopMessageLiveLocationRequest where toJSON :: StopMessageLiveLocationRequest -> Value
toJSON = StopMessageLiveLocationRequest -> Value
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 = Value -> Parser StopMessageLiveLocationRequest
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 = Proxy StopMessageLiveLocation
-> Client ClientM StopMessageLiveLocation
forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @StopMessageLiveLocation)
makeDefault ''StopMessageLiveLocationRequest