{-# 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 -- ** 'setStickerMaskPosition' -- | Request parameters for 'setStickerMaskPosition'. data SetStickerMaskPositionRequest = SetStickerMaskPositionRequest { setStickerMaskPositionSticker :: Text -- ^ File identifier of the sticker , setStickerMaskPositionMaskPosition :: Maybe [MaskPosition] -- ^ A JSON-serialized object with the position where the mask should be placed on faces. Omit the parameter to remove the mask position. } deriving Generic instance ToJSON SetStickerMaskPositionRequest where toJSON = gtoJSON instance FromJSON SetStickerMaskPositionRequest where parseJSON = gparseJSON type SetStickerMaskPosition = "setStickerMaskPosition" :> ReqBody '[JSON] SetStickerMaskPositionRequest :> Post '[JSON] (Response Bool) -- | Use this method to change the mask position of a mask sticker. -- The sticker must belong to a sticker set that was created by the bot. -- Returns 'True' on success. setStickerMaskPosition :: SetStickerMaskPositionRequest -> ClientM (Response Bool) setStickerMaskPosition = client (Proxy @SetStickerMaskPosition) makeDefault ''SetStickerMaskPositionRequest