{-# LANGUAGE DeriveGeneric #-} module Telegram.Bot.API.Types.ForceReply where import Data.Aeson (FromJSON (..), ToJSON (..)) import Data.Text (Text) import GHC.Generics (Generic) import Telegram.Bot.API.Internal.Utils -- ** 'ForceReply' -- | Upon receiving a message with this object, -- Telegram clients will display a reply interface to the user -- (act as if the user has selected the bot‘s message and tapped ’Reply'). -- This can be extremely useful if you want to create user-friendly -- step-by-step interfaces without having to sacrifice privacy mode. data ForceReply = ForceReply { forceReplyForceReply :: Bool -- ^ Shows reply interface to the user, as if they manually selected the bot‘s message and tapped ’Reply' , forceReplyInputFieldPlaceholder :: Maybe Text -- ^ The placeholder to be shown in the input field when the reply is active; 1-64 characters. , forceReplySelective :: Maybe Bool -- ^ Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message. } deriving (Generic, Show) instance ToJSON ForceReply where toJSON = gtoJSON instance FromJSON ForceReply where parseJSON = gparseJSON