{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Telegram.Bot.API.Methods.GetMyName 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 GetMyNameRequest = GetMyNameRequest
{ GetMyNameRequest -> Maybe Text
getMyNameLanguageCode :: Maybe Text
}
deriving forall x. Rep GetMyNameRequest x -> GetMyNameRequest
forall x. GetMyNameRequest -> Rep GetMyNameRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMyNameRequest x -> GetMyNameRequest
$cfrom :: forall x. GetMyNameRequest -> Rep GetMyNameRequest x
Generic
instance ToJSON GetMyNameRequest where toJSON :: GetMyNameRequest -> 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 GetMyNameRequest where parseJSON :: Value -> Parser GetMyNameRequest
parseJSON = forall a (d :: Meta) (f :: * -> *).
(Generic a, GFromJSON Zero (Rep a), Rep a ~ D1 d f, Datatype d) =>
Value -> Parser a
gparseJSON
type GetMyName = "getMyName"
:> ReqBody '[JSON] GetMyNameRequest
:> Post '[JSON] (Response BotName)
getMyName :: GetMyNameRequest -> ClientM (Response BotName)
getMyName :: GetMyNameRequest -> ClientM (Response BotName)
getMyName = forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall {k} (t :: k). Proxy t
Proxy @GetMyName)
makeDefault ''GetMyNameRequest