{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Telegram.Bot.API.Methods.SetStickerMaskPosition 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.Internal.TH
import Telegram.Bot.API.Types
data SetStickerMaskPositionRequest = SetStickerMaskPositionRequest
{ SetStickerMaskPositionRequest -> Text
setStickerMaskPositionSticker :: Text
, SetStickerMaskPositionRequest -> Maybe [MaskPosition]
setStickerMaskPositionMaskPosition :: Maybe [MaskPosition]
}
deriving (forall x.
SetStickerMaskPositionRequest
-> Rep SetStickerMaskPositionRequest x)
-> (forall x.
Rep SetStickerMaskPositionRequest x
-> SetStickerMaskPositionRequest)
-> Generic SetStickerMaskPositionRequest
forall x.
Rep SetStickerMaskPositionRequest x
-> SetStickerMaskPositionRequest
forall x.
SetStickerMaskPositionRequest
-> Rep SetStickerMaskPositionRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SetStickerMaskPositionRequest
-> Rep SetStickerMaskPositionRequest x
from :: forall x.
SetStickerMaskPositionRequest
-> Rep SetStickerMaskPositionRequest x
$cto :: forall x.
Rep SetStickerMaskPositionRequest x
-> SetStickerMaskPositionRequest
to :: forall x.
Rep SetStickerMaskPositionRequest x
-> SetStickerMaskPositionRequest
Generic
instance ToJSON SetStickerMaskPositionRequest where toJSON :: SetStickerMaskPositionRequest -> Value
toJSON = SetStickerMaskPositionRequest -> Value
forall a (d :: Meta) (f :: * -> *).
(Generic a, GToJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
a -> Value
gtoJSON
instance FromJSON SetStickerMaskPositionRequest where parseJSON :: Value -> Parser SetStickerMaskPositionRequest
parseJSON = Value -> Parser SetStickerMaskPositionRequest
forall a (d :: Meta) (f :: * -> *).
(Generic a, GFromJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
Value -> Parser a
gparseJSON
type SetStickerMaskPosition = "setStickerMaskPosition"
:> ReqBody '[JSON] SetStickerMaskPositionRequest
:> Post '[JSON] (Response Bool)
setStickerMaskPosition :: SetStickerMaskPositionRequest -> ClientM (Response Bool)
setStickerMaskPosition :: SetStickerMaskPositionRequest -> ClientM (Response Bool)
setStickerMaskPosition = Proxy SetStickerMaskPosition
-> Client ClientM SetStickerMaskPosition
forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @SetStickerMaskPosition)
makeDefault ''SetStickerMaskPositionRequest