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