Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides actions for Channel API interactions
Synopsis
- data ChannelRequest a where
- GetChannel :: ChannelId -> ChannelRequest Channel
- ModifyChannel :: ChannelId -> ModifyChannelOpts -> ChannelRequest Channel
- DeleteChannel :: ChannelId -> ChannelRequest Channel
- GetChannelMessages :: ChannelId -> (Int, MessageTiming) -> ChannelRequest [Message]
- GetChannelMessage :: (ChannelId, MessageId) -> ChannelRequest Message
- CreateMessage :: ChannelId -> Text -> ChannelRequest Message
- CreateMessageDetailed :: ChannelId -> MessageDetailedOpts -> ChannelRequest Message
- CreateReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest ()
- DeleteOwnReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest ()
- DeleteUserReaction :: (ChannelId, MessageId) -> UserId -> Text -> ChannelRequest ()
- DeleteSingleReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest ()
- GetReactions :: (ChannelId, MessageId) -> Text -> (Int, ReactionTiming) -> ChannelRequest [User]
- DeleteAllReactions :: (ChannelId, MessageId) -> ChannelRequest ()
- EditMessage :: (ChannelId, MessageId) -> MessageDetailedOpts -> ChannelRequest Message
- DeleteMessage :: (ChannelId, MessageId) -> ChannelRequest ()
- BulkDeleteMessage :: (ChannelId, [MessageId]) -> ChannelRequest ()
- EditChannelPermissions :: ChannelId -> Either RoleId UserId -> ChannelPermissionsOpts -> ChannelRequest ()
- GetChannelInvites :: ChannelId -> ChannelRequest Object
- CreateChannelInvite :: ChannelId -> ChannelInviteOpts -> ChannelRequest Invite
- DeleteChannelPermission :: ChannelId -> Either RoleId UserId -> ChannelRequest ()
- TriggerTypingIndicator :: ChannelId -> ChannelRequest ()
- GetPinnedMessages :: ChannelId -> ChannelRequest [Message]
- AddPinnedMessage :: (ChannelId, MessageId) -> ChannelRequest ()
- DeletePinnedMessage :: (ChannelId, MessageId) -> ChannelRequest ()
- GroupDMAddRecipient :: ChannelId -> GroupDMAddRecipientOpts -> ChannelRequest ()
- GroupDMRemoveRecipient :: ChannelId -> UserId -> ChannelRequest ()
- StartThreadFromMessage :: ChannelId -> MessageId -> StartThreadOpts -> ChannelRequest Channel
- StartThreadNoMessage :: ChannelId -> StartThreadNoMessageOpts -> ChannelRequest Channel
- JoinThread :: ChannelId -> ChannelRequest ()
- AddThreadMember :: ChannelId -> UserId -> ChannelRequest ()
- LeaveThread :: ChannelId -> ChannelRequest ()
- RemoveThreadMember :: ChannelId -> UserId -> ChannelRequest ()
- GetThreadMember :: ChannelId -> UserId -> ChannelRequest ThreadMember
- ListThreadMembers :: ChannelId -> ChannelRequest [ThreadMember]
- ListPublicArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads
- ListPrivateArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads
- ListJoinedPrivateArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads
- data MessageDetailedOpts = MessageDetailedOpts {
- messageDetailedContent :: Text
- messageDetailedTTS :: Bool
- messageDetailedEmbeds :: Maybe [CreateEmbed]
- messageDetailedFile :: Maybe (Text, ByteString)
- messageDetailedAllowedMentions :: Maybe AllowedMentions
- messageDetailedReference :: Maybe MessageReference
- messageDetailedComponents :: Maybe [ActionRow]
- messageDetailedStickerIds :: Maybe [StickerId]
- data AllowedMentions = AllowedMentions {}
- data ReactionTiming
- data MessageTiming
- data ChannelInviteOpts = ChannelInviteOpts {}
- data ModifyChannelOpts = ModifyChannelOpts {
- modifyChannelName :: Maybe Text
- modifyChannelPosition :: Maybe Integer
- modifyChannelTopic :: Maybe Text
- modifyChannelNSFW :: Maybe Bool
- modifyChannelBitrate :: Maybe Integer
- modifyChannelUserRateLimit :: Maybe Integer
- modifyChannelUserLimit :: Maybe Integer
- modifyChannelPermissionOverwrites :: Maybe [Overwrite]
- modifyChannelParentId :: Maybe ChannelId
- modifyChannelDefaultAutoArchive :: Maybe Integer
- modifyChannelThreadArchived :: Maybe Bool
- modifyChannelThreadAutoArchive :: Maybe Integer
- modifyChannelThreadLocked :: Maybe Bool
- modifyChannelThreadInvitable :: Maybe Bool
- data ChannelPermissionsOpts = ChannelPermissionsOpts {}
- data GroupDMAddRecipientOpts = GroupDMAddRecipientOpts {}
- data StartThreadOpts = StartThreadOpts {}
- data StartThreadNoMessageOpts = StartThreadNoMessageOpts {}
- data ListThreads = ListThreads {}
Documentation
data ChannelRequest a where Source #
Data constructor for requests. See API
GetChannel :: ChannelId -> ChannelRequest Channel | Gets a channel by its id. |
ModifyChannel :: ChannelId -> ModifyChannelOpts -> ChannelRequest Channel | Edits channels options. |
DeleteChannel :: ChannelId -> ChannelRequest Channel | Deletes a channel if its id doesn't equal to the id of guild. |
GetChannelMessages :: ChannelId -> (Int, MessageTiming) -> ChannelRequest [Message] | Gets a messages from a channel with limit of 100 per request. |
GetChannelMessage :: (ChannelId, MessageId) -> ChannelRequest Message | Gets a message in a channel by its id. |
CreateMessage :: ChannelId -> Text -> ChannelRequest Message | Sends a message to a channel. |
CreateMessageDetailed :: ChannelId -> MessageDetailedOpts -> ChannelRequest Message | Sends a message with granular controls. |
CreateReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest () | Add an emoji reaction to a message. ID must be present for custom emoji |
DeleteOwnReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest () | Remove a Reaction this bot added |
DeleteUserReaction :: (ChannelId, MessageId) -> UserId -> Text -> ChannelRequest () | Remove a Reaction someone else added |
DeleteSingleReaction :: (ChannelId, MessageId) -> Text -> ChannelRequest () | Deletes all reactions of a single emoji on a message |
GetReactions :: (ChannelId, MessageId) -> Text -> (Int, ReactionTiming) -> ChannelRequest [User] | List of users that reacted with this emoji |
DeleteAllReactions :: (ChannelId, MessageId) -> ChannelRequest () | Delete all reactions on a message |
EditMessage :: (ChannelId, MessageId) -> MessageDetailedOpts -> ChannelRequest Message | Edits a message content. |
DeleteMessage :: (ChannelId, MessageId) -> ChannelRequest () | Deletes a message. |
BulkDeleteMessage :: (ChannelId, [MessageId]) -> ChannelRequest () | Deletes a group of messages. |
EditChannelPermissions :: ChannelId -> Either RoleId UserId -> ChannelPermissionsOpts -> ChannelRequest () | Edits a permission overrides for a channel. |
GetChannelInvites :: ChannelId -> ChannelRequest Object | Gets all instant invites to a channel. |
CreateChannelInvite :: ChannelId -> ChannelInviteOpts -> ChannelRequest Invite | Creates an instant invite to a channel. |
DeleteChannelPermission :: ChannelId -> Either RoleId UserId -> ChannelRequest () | Deletes a permission override from a channel. |
TriggerTypingIndicator :: ChannelId -> ChannelRequest () | Sends a typing indicator a channel which lasts 10 seconds. |
GetPinnedMessages :: ChannelId -> ChannelRequest [Message] | Gets all pinned messages of a channel. |
AddPinnedMessage :: (ChannelId, MessageId) -> ChannelRequest () | Pins a message. |
DeletePinnedMessage :: (ChannelId, MessageId) -> ChannelRequest () | Unpins a message. |
GroupDMAddRecipient :: ChannelId -> GroupDMAddRecipientOpts -> ChannelRequest () | Adds a recipient to a Group DM using their access token |
GroupDMRemoveRecipient :: ChannelId -> UserId -> ChannelRequest () | Removes a recipient from a Group DM |
StartThreadFromMessage :: ChannelId -> MessageId -> StartThreadOpts -> ChannelRequest Channel | Start a thread from a message |
StartThreadNoMessage :: ChannelId -> StartThreadNoMessageOpts -> ChannelRequest Channel | Start a thread without a message |
JoinThread :: ChannelId -> ChannelRequest () | Join a thread |
AddThreadMember :: ChannelId -> UserId -> ChannelRequest () | Add a thread member |
LeaveThread :: ChannelId -> ChannelRequest () | Leave a thread |
RemoveThreadMember :: ChannelId -> UserId -> ChannelRequest () | Remove a thread member |
GetThreadMember :: ChannelId -> UserId -> ChannelRequest ThreadMember | Get a thread member |
ListThreadMembers :: ChannelId -> ChannelRequest [ThreadMember] | List the thread members |
ListPublicArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads | List public archived threads in the given channel. Optionally before a given time, and optional maximum number of threads. Returns the threads, thread members, and whether there are more to collect. Requires the READ_MESSAGE_HISTORY permission. |
ListPrivateArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads | List private archived threads in the given channel. Optionally before a given time, and optional maximum number of threads. Returns the threads, thread members, and whether there are more to collect. Requires both the READ_MESSAGE_HISTORY and MANAGE_THREADS permissions. |
ListJoinedPrivateArchivedThreads :: ChannelId -> (Maybe UTCTime, Maybe Integer) -> ChannelRequest ListThreads | List joined private archived threads in the given channel. Optionally before a given time, and optional maximum number of threads. Returns the threads, thread members, and whether there are more to collect. Requires both the READ_MESSAGE_HISTORY and MANAGE_THREADS permissions. |
Instances
Request (ChannelRequest a) Source # | |
Defined in Discord.Internal.Rest.Channel majorRoute :: ChannelRequest a -> String Source # jsonRequest :: ChannelRequest a -> JsonRequest Source # |
data MessageDetailedOpts Source #
Options for CreateMessageDetailed
requests.
MessageDetailedOpts | |
|
Instances
data AllowedMentions Source #
Data constructor for a part of MessageDetailedOpts.
AllowedMentions | |
|
Instances
data ReactionTiming Source #
Data constructor for GetReactions
requests
Instances
Eq ReactionTiming Source # | |
Defined in Discord.Internal.Rest.Channel (==) :: ReactionTiming -> ReactionTiming -> Bool # (/=) :: ReactionTiming -> ReactionTiming -> Bool # | |
Ord ReactionTiming Source # | |
Defined in Discord.Internal.Rest.Channel compare :: ReactionTiming -> ReactionTiming -> Ordering # (<) :: ReactionTiming -> ReactionTiming -> Bool # (<=) :: ReactionTiming -> ReactionTiming -> Bool # (>) :: ReactionTiming -> ReactionTiming -> Bool # (>=) :: ReactionTiming -> ReactionTiming -> Bool # max :: ReactionTiming -> ReactionTiming -> ReactionTiming # min :: ReactionTiming -> ReactionTiming -> ReactionTiming # | |
Read ReactionTiming Source # | |
Defined in Discord.Internal.Rest.Channel readsPrec :: Int -> ReadS ReactionTiming # readList :: ReadS [ReactionTiming] # | |
Show ReactionTiming Source # | |
Defined in Discord.Internal.Rest.Channel showsPrec :: Int -> ReactionTiming -> ShowS # show :: ReactionTiming -> String # showList :: [ReactionTiming] -> ShowS # |
data MessageTiming Source #
Data constructor for GetChannelMessages
requests.
See https://discord.com/developers/docs/resources/channel#get-channel-messages
Instances
Eq MessageTiming Source # | |
Defined in Discord.Internal.Rest.Channel (==) :: MessageTiming -> MessageTiming -> Bool # (/=) :: MessageTiming -> MessageTiming -> Bool # | |
Ord MessageTiming Source # | |
Defined in Discord.Internal.Rest.Channel compare :: MessageTiming -> MessageTiming -> Ordering # (<) :: MessageTiming -> MessageTiming -> Bool # (<=) :: MessageTiming -> MessageTiming -> Bool # (>) :: MessageTiming -> MessageTiming -> Bool # (>=) :: MessageTiming -> MessageTiming -> Bool # max :: MessageTiming -> MessageTiming -> MessageTiming # min :: MessageTiming -> MessageTiming -> MessageTiming # | |
Read MessageTiming Source # | |
Defined in Discord.Internal.Rest.Channel readsPrec :: Int -> ReadS MessageTiming # readList :: ReadS [MessageTiming] # | |
Show MessageTiming Source # | |
Defined in Discord.Internal.Rest.Channel showsPrec :: Int -> MessageTiming -> ShowS # show :: MessageTiming -> String # showList :: [MessageTiming] -> ShowS # |
data ChannelInviteOpts Source #
Options for CreateChannelInvite
requests
ChannelInviteOpts | |
|
Instances
data ModifyChannelOpts Source #
Options for ModifyChannel
requests
ModifyChannelOpts | |
|
Instances
data ChannelPermissionsOpts Source #
Options for The EditChannelPermissions
request
Since the JSON encoding of this datatype will require information in the
route (the Either decides whether the overwrite is for a user or a role), we
do not provide a ToJSON instance. Instead, the JSON is manually constructed
in the channelJsonRequest
function.
ChannelPermissionsOpts | |
|
Instances
data GroupDMAddRecipientOpts Source #
Options for GroupDMAddRecipient
request
See https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
GroupDMAddRecipientOpts | |
|
Instances
data StartThreadOpts Source #
Options for StartThreadFromMessage
request
StartThreadOpts | |
|
Instances
data StartThreadNoMessageOpts Source #
Options for StartThreadNoMessage
request
StartThreadNoMessageOpts | |
|
Instances
data ListThreads Source #
Result type of ListJoinedPrivateArchivedThreads
,
ListPrivateArchivedThreads
and ListPublicArchivedThreads
ListThreads | |
|