module Discord.Internal.Types
( module Discord.Internal.Types.Prelude,
module Discord.Internal.Types.Channel,
module Discord.Internal.Types.Color,
module Discord.Internal.Types.Events,
module Discord.Internal.Types.Gateway,
module Discord.Internal.Types.Guild,
module Discord.Internal.Types.User,
module Discord.Internal.Types.Embed,
module Discord.Internal.Types.Components,
module Data.Aeson,
module Data.Time.Clock,
userFacingEvent,
)
where
import Data.Aeson (Object, ToJSON (toJSON))
import Data.Time.Clock (UTCTime (..))
import Discord.Internal.Types.Channel
import Discord.Internal.Types.Color
import Discord.Internal.Types.Components
import Discord.Internal.Types.Embed
import Discord.Internal.Types.Events
import Discord.Internal.Types.Gateway
import Discord.Internal.Types.Guild
import Discord.Internal.Types.Prelude
import Discord.Internal.Types.User
userFacingEvent :: EventInternalParse -> Event
userFacingEvent :: EventInternalParse -> Event
userFacingEvent EventInternalParse
event = case EventInternalParse
event of
InternalReady Int
a User
b [Channel]
c [GuildUnavailable]
d Text
e Maybe Shard
f PartialApplication
g -> Int
-> User
-> [Channel]
-> [GuildUnavailable]
-> Text
-> Maybe Shard
-> PartialApplication
-> Event
Ready Int
a User
b [Channel]
c [GuildUnavailable]
d Text
e Maybe Shard
f PartialApplication
g
InternalResumed [Text]
a -> [Text] -> Event
Resumed [Text]
a
InternalChannelCreate Channel
a -> Channel -> Event
ChannelCreate Channel
a
InternalChannelUpdate Channel
a -> Channel -> Event
ChannelUpdate Channel
a
InternalChannelDelete Channel
a -> Channel -> Event
ChannelDelete Channel
a
InternalThreadCreate Channel
a -> Channel -> Event
ThreadCreate Channel
a
InternalThreadUpdate Channel
a -> Channel -> Event
ThreadUpdate Channel
a
InternalThreadDelete Channel
a -> Channel -> Event
ThreadDelete Channel
a
InternalThreadListSync ThreadListSyncFields
a -> ThreadListSyncFields -> Event
ThreadListSync ThreadListSyncFields
a
InternalThreadMembersUpdate ThreadMembersUpdateFields
a -> ThreadMembersUpdateFields -> Event
ThreadMembersUpdate ThreadMembersUpdateFields
a
InternalChannelPinsUpdate ChannelId
a Maybe UTCTime
b -> ChannelId -> Maybe UTCTime -> Event
ChannelPinsUpdate ChannelId
a Maybe UTCTime
b
InternalGuildCreate Guild
a -> Guild -> Event
GuildCreate Guild
a
InternalGuildUpdate Guild
a -> Guild -> Event
GuildUpdate Guild
a
InternalGuildDelete GuildUnavailable
a -> GuildUnavailable -> Event
GuildDelete GuildUnavailable
a
InternalGuildBanAdd ChannelId
a User
b -> ChannelId -> User -> Event
GuildBanAdd ChannelId
a User
b
InternalGuildBanRemove ChannelId
a User
b -> ChannelId -> User -> Event
GuildBanRemove ChannelId
a User
b
InternalGuildEmojiUpdate ChannelId
a [Emoji]
b -> ChannelId -> [Emoji] -> Event
GuildEmojiUpdate ChannelId
a [Emoji]
b
InternalGuildIntegrationsUpdate ChannelId
a -> ChannelId -> Event
GuildIntegrationsUpdate ChannelId
a
InternalGuildMemberAdd ChannelId
a GuildMember
b -> ChannelId -> GuildMember -> Event
GuildMemberAdd ChannelId
a GuildMember
b
InternalGuildMemberRemove ChannelId
a User
b -> ChannelId -> User -> Event
GuildMemberRemove ChannelId
a User
b
InternalGuildMemberUpdate ChannelId
a [ChannelId]
b User
c Maybe Text
d -> ChannelId -> [ChannelId] -> User -> Maybe Text -> Event
GuildMemberUpdate ChannelId
a [ChannelId]
b User
c Maybe Text
d
InternalGuildMemberChunk ChannelId
a [GuildMember]
b -> ChannelId -> [GuildMember] -> Event
GuildMemberChunk ChannelId
a [GuildMember]
b
InternalGuildRoleCreate ChannelId
a Role
b -> ChannelId -> Role -> Event
GuildRoleCreate ChannelId
a Role
b
InternalGuildRoleUpdate ChannelId
a Role
b -> ChannelId -> Role -> Event
GuildRoleUpdate ChannelId
a Role
b
InternalGuildRoleDelete ChannelId
a ChannelId
b -> ChannelId -> ChannelId -> Event
GuildRoleDelete ChannelId
a ChannelId
b
InternalMessageCreate Message
a -> Message -> Event
MessageCreate Message
a
InternalMessageUpdate ChannelId
a ChannelId
b -> ChannelId -> ChannelId -> Event
MessageUpdate ChannelId
a ChannelId
b
InternalMessageDelete ChannelId
a ChannelId
b -> ChannelId -> ChannelId -> Event
MessageDelete ChannelId
a ChannelId
b
InternalMessageDeleteBulk ChannelId
a [ChannelId]
b -> ChannelId -> [ChannelId] -> Event
MessageDeleteBulk ChannelId
a [ChannelId]
b
InternalMessageReactionAdd ReactionInfo
a -> ReactionInfo -> Event
MessageReactionAdd ReactionInfo
a
InternalMessageReactionRemove ReactionInfo
a -> ReactionInfo -> Event
MessageReactionRemove ReactionInfo
a
InternalMessageReactionRemoveAll ChannelId
a ChannelId
b -> ChannelId -> ChannelId -> Event
MessageReactionRemoveAll ChannelId
a ChannelId
b
InternalMessageReactionRemoveEmoji ReactionRemoveInfo
a -> ReactionRemoveInfo -> Event
MessageReactionRemoveEmoji ReactionRemoveInfo
a
InternalPresenceUpdate PresenceInfo
a -> PresenceInfo -> Event
PresenceUpdate PresenceInfo
a
InternalTypingStart TypingInfo
a -> TypingInfo -> Event
TypingStart TypingInfo
a
InternalUserUpdate User
a -> User -> Event
UserUpdate User
a
InternalInteractionCreate Interaction
a -> Interaction -> Event
InteractionCreate Interaction
a
InternalUnknownEvent Text
a Object
b -> Text -> Object -> Event
UnknownEvent Text
a Object
b