Skip to content

v5 Entity overhaul #1653

@Plerx2493

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions