{-# 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. SetMyNameRequest -> Rep SetMyNameRequest x)
-> (forall x. Rep SetMyNameRequest x -> SetMyNameRequest)
-> Generic SetMyNameRequest
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
$cfrom :: forall x. SetMyNameRequest -> Rep SetMyNameRequest x
from :: forall x. SetMyNameRequest -> Rep SetMyNameRequest x
$cto :: forall x. Rep SetMyNameRequest x -> SetMyNameRequest
to :: forall x. Rep SetMyNameRequest x -> SetMyNameRequest
Generic
instance ToJSON SetMyNameRequest where toJSON :: SetMyNameRequest -> Value
toJSON = SetMyNameRequest -> Value
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 = Value -> Parser SetMyNameRequest
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 = Proxy SetMyName -> Client ClientM SetMyName
forall api.
HasClient ClientM api =>
Proxy api -> Client ClientM api
client (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @SetMyName)
makeDefault ''SetMyNameRequest