{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Telegram.Bot.API.Methods.GetMyDescription where
import Data.Aeson (FromJSON (..), ToJSON (..))
import Data.Proxy
import GHC.Generics (Generic)
import Data.Text (Text)
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
newtype GetMyDescriptionRequest = GetMyDescriptionRequest
{ GetMyDescriptionRequest -> Maybe Text
getMyDescriptionLanguageCode :: Maybe Text
}
deriving forall x. Rep GetMyDescriptionRequest x -> GetMyDescriptionRequest
forall x. GetMyDescriptionRequest -> Rep GetMyDescriptionRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMyDescriptionRequest x -> GetMyDescriptionRequest
$cfrom :: forall x. GetMyDescriptionRequest -> Rep GetMyDescriptionRequest x
Generic
instance ToJSON GetMyDescriptionRequest where toJSON :: GetMyDescriptionRequest -> Value
toJSON = forall a (d :: Meta) (f :: * -> *).
(Generic a, GToJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
a -> Value
gtoJSON
instance FromJSON GetMyDescriptionRequest where parseJSON :: Value -> Parser GetMyDescriptionRequest
parseJSON = forall a (d :: Meta) (f :: * -> *).
(Generic a, GFromJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
Value -> Parser a
gparseJSON
type GetMyDescription = "getMyDescription"
:> ReqBody '[JSON] GetMyDescriptionRequest
:> Post '[JSON] (Response BotDescription)
getMyDescription :: GetMyDescriptionRequest -> ClientM (Response BotDescription)
getMyDescription :: GetMyDescriptionRequest -> ClientM (Response BotDescription)
getMyDescription = forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall {k} (t :: k). Proxy t
Proxy @GetMyDescription)
makeDefault ''GetMyDescriptionRequest