discord-haskell-1.12.5: Write bots for Discord in Haskell
Safe HaskellNone
LanguageHaskell2010

Discord.Internal.Rest

Description

Provides a higher level interface to the rest functions. Preperly writes to the rate-limit loop. Creates separate MVars for each call

Synopsis

Documentation

class Request a where Source #

Methods

majorRoute :: a -> String Source #

used for putting a request into a rate limit bucket https://discord.com/developers/docs/topics/rate-limits#rate-limits

jsonRequest :: a -> JsonRequest Source #

build a JSON http request

Instances

Instances details
Request (WebhookRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Webhook

Request (VoiceRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Voice

Request (UserRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.User

Request (InviteRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Invite

Request (InteractionResponseRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Interactions

Request (GuildRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Guild

Request (StickerRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Emoji

Request (EmojiRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Emoji

Request (ChannelRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.Channel

Request (ApplicationCommandRequest a) Source # 
Instance details

Defined in Discord.Internal.Rest.ApplicationCommands

writeRestCall :: (Request (r a), FromJSON a) => RestChanHandle -> r a -> IO (Either RestCallInternalException a) Source #

Execute a request blocking until a response is received

startRestThread :: Auth -> Chan Text -> IO (RestChanHandle, ThreadId) Source #

Starts the http request thread. Please only call this once