Skip to content

v5 Entity overhaul #1653

Description

@Plerx2493

Details

All entities need to:

  1. be correct according to the api specification
  2. have correct nullability annotations

Outbound REST or Gateway payloads also need to represent optionals and nullability corretly to discord. The public-facing entities will continue to combine optionality and nullability, and thus both states should be represented in C# as nullable.

Contribution

This is a bigger issue, but its complexity isn't very high. Please don't hesitate to create pull requests for a specific portion and reference this issue. Once the changes get integrated, I'll make sure to revise the list.

Entities

  • DiscordApplication
  • AuditLogs
    • AuditLog
    • AuditLogAction
    • AuditLogActionChange
    • AuditLogActionOptions
  • AutoModeration
    • DiscordAutoModerationAction
    • DiscordAutoModerationActionExecution
    • DiscordRuleActionMetadata
    • DiscordAutoModerationRule
    • DiscordRuleTriggerMetadata
  • Channel
    • DiscordChannel
    • DiscordDmChannel
    • DiscordFollowedChannel
    • DiscordStageInstance
    • DiscordThreadChannel
    • DiscordThreadChannelMember
    • DiscordThreadChannelMetadata
    • ThreadQueryResult
    • DiscordForumChannel
    • DiscordForumPostStarter
    • DiscordForumPostTag
    • DiscordOverwrite
  • Message
    • DiscordMessage
    • DiscordMentions
    • DiscordAttatchment
    • DiscordMessageActivity
    • DiscordMessageApplication
    • DiscordMessageInteraction
    • DiscordMessageSticker
    • DiscordMessageStickerPack
    • DiscordReaction
    • DiscordEmoji
  • Guild
    • DiscordGuild
    • DiscordBan
    • DiscordGuildEmbed
    • DiscordGuildEmoji
    • DiscordGuildMembershipScreening
    • DiscordGuildMembershipScreeningField
    • DiscordGuildPreview
    • DiscordGuildTemplate
    • DiscordGuildWelcomeScreen
    • DiscordGuildWelcomeScreenChannel
    • DiscordMember
    • DiscordRole
    • DiscordRoleTags
    • DiscordWidget
    • DiscordWidgetMember
    • DiscordWidgetSettings
  • Integration
    • DiscordIntegration
    • DiscordIntegrationAccount
  • Interaction
    • DiscordApplicationCommand
    • DiscordApplicationCommandOption
    • DiscordApplicationCommandOptionChoice
    • DiscordAutoCompleteChoice
    • DiscordSelectComponentOption
    • DiscordActionRowComponent
    • DiscordButtonComponent
    • DiscordComponent
    • DiscordComponentEmoji
    • DiscordLinkButtonComponent
    • TextInputComponent
    • DiscordApplicationCommandPermission
    • DiscordGuildApplicationCommandPermissions
    • DiscordInteraction
    • DiscordInteractionApplicationCommandCallbackData
    • DiscordInteractionData
    • DiscordInteractionDataOption
    • DiscordInteractionResolvedCollection
  • Invites
    • DiscordInvite
    • DiscordInviteChannel
    • DiscordInviteGuild
    • DiscordStageInvite
  • User
    • DiscordUser
    • DiscordActivity
    • DiscordPresence
  • DiscordVoiceRegion
  • DiscordVoiceState
  • DiscordWebhook
  • DiscordConnection
  • Transport
    • TransportActivity
    • TransportApplication
    • TransportGuild
    • TransportUser
    • TransportTeam
    • TransportMember
  • Gateway
    • GatewayHello
    • GatewayIdentify
    • GatewayInfo
    • GatewayPayload
    • GatewayRequestGuildMembers
    • ReadyPayload
    • ClientProperties
  • Rest
    • RestApplicationCommandCreatePayload
    • RestChannelCreatePayload
    • RestGuildCreatePayload
    • RestStickerCreatePayload
    • RestStickerModifyPayload
    • RestThreadCreatePayload
    • RestForumPostCreatePayload
    • RestUserDmCreatePayload
    • RestUserGroupDmCreatePayload
    • RestUserUpdateCurrentPayload
    • RestUserGuild
    • RestUserGuildListPayload
    • RestWebhookPayload
    • RestWebhookExecutePayload
    • RestWebhookMessageEditPayload
  • FollowedChannelAddPayload
  • StatusUpdate
  • VoiceStateUpdate

Notes

Yes i did take 20 minutes to c&p those names

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Epic.

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions