{-# LANGUAGE DeriveGeneric #-} module Telegram.Bot.API.Types.ReplyKeyboardRemove where import Data.Aeson (FromJSON (..), ToJSON (..)) import GHC.Generics (Generic) import Telegram.Bot.API.Internal.Utils -- ** 'ReplyKeyboardRemove' -- | Upon receiving a message with this object, -- Telegram clients will remove the current custom keyboard -- and display the default letter-keyboard. -- -- By default, custom keyboards are displayed until a new keyboard is sent by a bot. -- An exception is made for one-time keyboards that are hidden immediately after -- the user presses a button (see 'ReplyKeyboardMarkup'). data ReplyKeyboardRemove = ReplyKeyboardRemove { replyKeyboardRemoveRemoveKeyboard :: Bool -- ^ Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you want to hide the keyboard from sight but keep it accessible, use one_time_keyboard in ReplyKeyboardMarkup) , replyKeyboardRemoveSelective :: Maybe Bool -- ^ Use this parameter if you want to remove the keyboard for 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. -- -- Example: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet. } deriving (Generic, Show) instance ToJSON ReplyKeyboardRemove where toJSON = gtoJSON instance FromJSON ReplyKeyboardRemove where parseJSON = gparseJSON