From 6d08a9f19e55c34e4872df41bd85f582c5aa8f88 Mon Sep 17 00:00:00 2001 From: ajpd Date: Thu, 10 Apr 2025 18:34:40 -0500 Subject: [PATCH] fix for allowing incremental compilation --- build.zig | 2 +- src/discord.zig | 296 ++++++++++++++++++++++++++++++++- src/structures/types.zig | 351 +++++++++++++++++++++++++++++++++++---- 3 files changed, 615 insertions(+), 34 deletions(-) diff --git a/build.zig b/build.zig index 6c404d6..394b544 100644 --- a/build.zig +++ b/build.zig @@ -7,7 +7,7 @@ pub fn build(b: *std.Build) void { // these are boiler plate code until you know what you are doing // and you need to add additional options const target = b.standardTargetOptions(.{}); - const optimize = b.standardOptimizeOption(.{ .preferred_optimize_mode = .ReleaseFast }); + const optimize = b.standardOptimizeOption(.{}); const websocket = b.dependency("websocket", .{ .target = target, diff --git a/src/discord.zig b/src/discord.zig index e326c0a..c0edb1b 100644 --- a/src/discord.zig +++ b/src/discord.zig @@ -14,7 +14,301 @@ //! OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR //! PERFORMANCE OF THIS SOFTWARE. -pub usingnamespace @import("./structures/types.zig"); +// NUKE USING NAMESPACE +// structures/types.zig +pub const PresenceStatus = @import("structures/types.zig").PresenceStatus; +pub const PremiumTypes = @import("structures/types.zig").PremiumTypes; +pub const UserFlags = @import("structures/types.zig").UserFlags; +pub const PremiumUsageFlags = @import("structures/types.zig").PremiumUsageFlags; +pub const PurchasedFlags = @import("structures/types.zig").PurchasedFlags; +pub const MemberFlags = @import("structures/types.zig").MemberFlags; +pub const ChannelFlags = @import("structures/types.zig").ChannelFlags; +pub const RoleFlags = @import("structures/types.zig").RoleFlags; +pub const AttachmentFlags = @import("structures/types.zig").AttachmentFlags; +pub const SkuFlags = @import("structures/types.zig").SkuFlags; +pub const MessageFlags = @import("structures/types.zig").MessageFlags; +pub const ActivityFlags = @import("structures/types.zig").ActivityFlags; +pub const IntegrationExpireBehaviors = @import("structures/types.zig").IntegrationExpireBehaviors; +pub const TeamMembershipStates = @import("structures/types.zig").TeamMembershipStates; +pub const ApplicationFlags = @import("structures/types.zig").ApplicationFlags; +pub const MessageComponentTypes = @import("structures/types.zig").MessageComponentTypes; +pub const TextStyles = @import("structures/types.zig").TextStyles; +pub const ButtonStyles = @import("structures/types.zig").ButtonStyles; +pub const AllowedMentionsTypes = @import("structures/types.zig").AllowedMentionsTypes; +pub const WebhookTypes = @import("structures/types.zig").WebhookTypes; +pub const EmbedTypes = @import("structures/types.zig").EmbedTypes; +pub const DefaultMessageNotificationLevels = @import("structures/types.zig").DefaultMessageNotificationLevels; +pub const ExplicitContentFilterLevels = @import("structures/types.zig").ExplicitContentFilterLevels; +pub const VerificationLevels = @import("structures/types.zig").VerificationLevels; +pub const GuildFeatures = @import("structures/types.zig").GuildFeatures; +pub const MfaLevels = @import("structures/types.zig").MfaLevels; +pub const SystemChannelFlags = @import("structures/types.zig").SystemChannelFlags; +pub const PremiumTiers = @import("structures/types.zig").PremiumTiers; +pub const GuildNsfwLevel = @import("structures/types.zig").GuildNsfwLevel; +pub const ChannelTypes = @import("structures/types.zig").ChannelTypes; +pub const OverwriteTypes = @import("structures/types.zig").OverwriteTypes; +pub const VideoQualityModes = @import("structures/types.zig").VideoQualityModes; +pub const ActivityTypes = @import("structures/types.zig").ActivityTypes; +pub const MessageTypes = @import("structures/types.zig").MessageTypes; +pub const MessageActivityTypes = @import("structures/types.zig").MessageActivityTypes; +pub const StickerTypes = @import("structures/types.zig").StickerTypes; +pub const StickerFormatTypes = @import("structures/types.zig").StickerFormatTypes; +pub const InteractionTypes = @import("structures/types.zig").InteractionTypes; +pub const ApplicationCommandOptionTypes = @import("structures/types.zig").ApplicationCommandOptionTypes; +pub const AuditLogEvents = @import("structures/types.zig").AuditLogEvents; +pub const ScheduledEventPrivacyLevel = @import("structures/types.zig").ScheduledEventPrivacyLevel; +pub const ScheduledEventEntityType = @import("structures/types.zig").ScheduledEventEntityType; +pub const ScheduledEventStatus = @import("structures/types.zig").ScheduledEventStatus; +pub const TargetTypes = @import("structures/types.zig").TargetTypes; +pub const ApplicationCommandTypes = @import("structures/types.zig").ApplicationCommandTypes; +pub const ApplicationCommandPermissionTypes = @import("structures/types.zig").ApplicationCommandPermissionTypes; +pub const BitwisePermissionFlags = @import("structures/types.zig").BitwisePermissionFlags; +pub const PermissionStrings = @import("structures/types.zig").PermissionStrings; +pub const GatewayCloseEventCodes = @import("structures/types.zig").GatewayCloseEventCodes; +pub const GatewayOpcodes = @import("structures/types.zig").GatewayOpcodes; +pub const GatewayDispatchEventNames = @import("structures/types.zig").GatewayDispatchEventNames; +pub const GatewayIntents = @import("structures/types.zig").GatewayIntents; +pub const Intents = @import("structures/types.zig").Intents; +pub const InteractionResponseTypes = @import("structures/types.zig").InteractionResponseTypes; +pub const SortOrderTypes = @import("structures/types.zig").SortOrderTypes; +pub const ForumLayout = @import("structures/types.zig").ForumLayout; +pub const ImageFormat = @import("structures/types.zig").ImageFormat; +pub const ImageSize = @import("structures/types.zig").ImageSize; +pub const Locales = @import("structures/types.zig").Locales; +pub const OAuth2Scope = @import("structures/types.zig").OAuth2Scope; +pub const Partial = @import("structures/types.zig").Partial; +pub const discord_epoch = @import("structures/types.zig").discord_epoch; +pub const Snowflake = @import("structures/types.zig").Snowflake; +pub const GuildMembersChunk = @import("structures/types.zig").GuildMembersChunk; +pub const ChannelPinsUpdate = @import("structures/types.zig").ChannelPinsUpdate; +pub const GuildRoleDelete = @import("structures/types.zig").GuildRoleDelete; +pub const GuildBanAddRemove = @import("structures/types.zig").GuildBanAddRemove; +pub const MessageReactionRemove = @import("structures/types.zig").MessageReactionRemove; +pub const MessageReactionAdd = @import("structures/types.zig").MessageReactionAdd; +pub const VoiceServerUpdate = @import("structures/types.zig").VoiceServerUpdate; +pub const VoiceChannelEffectSend = @import("structures/types.zig").VoiceChannelEffectSend; +pub const VoiceChannelEffectAnimationType = @import("structures/types.zig").VoiceChannelEffectAnimationType; +pub const InviteCreate = @import("structures/types.zig").InviteCreate; +pub const Hello = @import("structures/types.zig").Hello; +pub const Ready = @import("structures/types.zig").Ready; +pub const UnavailableGuild = @import("structures/types.zig").UnavailableGuild; +pub const MessageDeleteBulk = @import("structures/types.zig").MessageDeleteBulk; +pub const Template = @import("structures/types.zig").Template; +pub const TemplateSerializedSourceGuild = @import("structures/types.zig").TemplateSerializedSourceGuild; +pub const GuildMemberAdd = @import("structures/types.zig").GuildMemberAdd; +pub const MessageDelete = @import("structures/types.zig").MessageDelete; +pub const ThreadMembersUpdate = @import("structures/types.zig").ThreadMembersUpdate; +pub const ThreadMemberUpdate = @import("structures/types.zig").ThreadMemberUpdate; +pub const GuildRoleCreate = @import("structures/types.zig").GuildRoleCreate; +pub const GuildEmojisUpdate = @import("structures/types.zig").GuildEmojisUpdate; +pub const GuildStickersUpdate = @import("structures/types.zig").GuildStickersUpdate; +pub const GuildMemberUpdate = @import("structures/types.zig").GuildMemberUpdate; +pub const MessageReactionRemoveAll = @import("structures/types.zig").MessageReactionRemoveAll; +pub const GuildRoleUpdate = @import("structures/types.zig").GuildRoleUpdate; +pub const ScheduledEventUserAdd = @import("structures/types.zig").ScheduledEventUserAdd; +pub const MessageReactionRemoveEmoji = @import("structures/types.zig").MessageReactionRemoveEmoji; +pub const GuildMemberRemove = @import("structures/types.zig").GuildMemberRemove; +pub const Ban = @import("structures/types.zig").Ban; +pub const ScheduledEventUserRemove = @import("structures/types.zig").ScheduledEventUserRemove; +pub const InviteDelete = @import("structures/types.zig").InviteDelete; +pub const VoiceRegion = @import("structures/types.zig").VoiceRegion; +pub const GuildWidgetSettings = @import("structures/types.zig").GuildWidgetSettings; +pub const ModifyChannel = @import("structures/types.zig").ModifyChannel; +pub const CreateGuildEmoji = @import("structures/types.zig").CreateGuildEmoji; +pub const ModifyGuildEmoji = @import("structures/types.zig").ModifyGuildEmoji; +pub const CreateGuildChannel = @import("structures/types.zig").CreateGuildChannel; +pub const CreateMessage = @import("structures/types.zig").CreateMessage; +pub const ModifyGuildWelcomeScreen = @import("structures/types.zig").ModifyGuildWelcomeScreen; +pub const FollowAnnouncementChannel = @import("structures/types.zig").FollowAnnouncementChannel; +pub const EditChannelPermissionOverridesOptions = @import("structures/types.zig").EditChannelPermissionOverridesOptions; +pub const CreateWebhook = @import("structures/types.zig").CreateWebhook; +pub const CreateForumPostWithMessage = @import("structures/types.zig").CreateForumPostWithMessage; +pub const ArchivedThreads = @import("structures/types.zig").ArchivedThreads; +pub const ActiveThreads = @import("structures/types.zig").ActiveThreads; +pub const VanityUrl = @import("structures/types.zig").VanityUrl; +pub const PrunedCount = @import("structures/types.zig").PrunedCount; +pub const TeamMemberRole = @import("structures/types.zig").TeamMemberRole; +pub const BulkBan = @import("structures/types.zig").BulkBan; +pub const Application = @import("structures/types.zig").Application; +pub const ApplicationIntegrationTypeConfiguration = @import("structures/types.zig").ApplicationIntegrationTypeConfiguration; +pub const ApplicationIntegrationType = @import("structures/types.zig").ApplicationIntegrationType; +pub const InstallParams = @import("structures/types.zig").InstallParams; +pub const ModifyApplication = @import("structures/types.zig").ModifyApplication; +pub const ApplicationEventWebhookStatus = @import("structures/types.zig").ApplicationEventWebhookStatus; +pub const WebhookEventType = @import("structures/types.zig").WebhookEventType; +pub const Attachment = @import("structures/types.zig").Attachment; +pub const AuditLog = @import("structures/types.zig").AuditLog; +pub const AuditLogEntry = @import("structures/types.zig").AuditLogEntry; +pub const OptionalAuditEntryInfo = @import("structures/types.zig").OptionalAuditEntryInfo; +pub const AuditLogChange = @import("structures/types.zig").AuditLogChange; +pub const AutoModerationRule = @import("structures/types.zig").AutoModerationRule; +pub const AutoModerationEventTypes = @import("structures/types.zig").AutoModerationEventTypes; +pub const AutoModerationTriggerTypes = @import("structures/types.zig").AutoModerationTriggerTypes; +pub const AutoModerationRuleTriggerMetadata = @import("structures/types.zig").AutoModerationRuleTriggerMetadata; +pub const AutoModerationRuleTriggerMetadataPresets = @import("structures/types.zig").AutoModerationRuleTriggerMetadataPresets; +pub const AutoModerationAction = @import("structures/types.zig").AutoModerationAction; +pub const AutoModerationActionType = @import("structures/types.zig").AutoModerationActionType; +pub const AutoModerationActionMetadata = @import("structures/types.zig").AutoModerationActionMetadata; +pub const AutoModerationActionExecution = @import("structures/types.zig").AutoModerationActionExecution; +pub const TypingStart = @import("structures/types.zig").TypingStart; +pub const Channel = @import("structures/types.zig").Channel; +pub const WelcomeScreen = @import("structures/types.zig").WelcomeScreen; +pub const WelcomeScreenChannel = @import("structures/types.zig").WelcomeScreenChannel; +pub const StageInstance = @import("structures/types.zig").StageInstance; +pub const Overwrite = @import("structures/types.zig").Overwrite; +pub const FollowedChannel = @import("structures/types.zig").FollowedChannel; +pub const ForumTag = @import("structures/types.zig").ForumTag; +pub const DefaultReactionEmoji = @import("structures/types.zig").DefaultReactionEmoji; +pub const ModifyGuildChannelPositions = @import("structures/types.zig").ModifyGuildChannelPositions; +pub const CreateChannelInvite = @import("structures/types.zig").CreateChannelInvite; +pub const ApplicationCommand = @import("structures/types.zig").ApplicationCommand; +pub const CreateApplicationCommand = @import("structures/types.zig").CreateApplicationCommand; +pub const LocaleMap = @import("structures/types.zig").LocaleMap; +pub const InteractionEntryPointCommandHandlerType = @import("structures/types.zig").InteractionEntryPointCommandHandlerType; +pub const ApplicationCommandOption = @import("structures/types.zig").ApplicationCommandOption; +pub const ApplicationCommandOptionChoice = @import("structures/types.zig").ApplicationCommandOptionChoice; +pub const GuildApplicationCommandPermissions = @import("structures/types.zig").GuildApplicationCommandPermissions; +pub const ApplicationCommandPermissions = @import("structures/types.zig").ApplicationCommandPermissions; +pub const Button = @import("structures/types.zig").Button; +pub const SelectOption = @import("structures/types.zig").SelectOption; +pub const DefaultValue = @import("structures/types.zig").DefaultValue; +pub const SelectMenuString = @import("structures/types.zig").SelectMenuString; +pub const SelectMenuUsers = @import("structures/types.zig").SelectMenuUsers; +pub const SelectMenuRoles = @import("structures/types.zig").SelectMenuRoles; +pub const SelectMenuUsersAndRoles = @import("structures/types.zig").SelectMenuUsersAndRoles; +pub const SelectMenuChannels = @import("structures/types.zig").SelectMenuChannels; +pub const SelectMenu = @import("structures/types.zig").SelectMenu; +pub const InputTextStyles = @import("structures/types.zig").InputTextStyles; +pub const InputText = @import("structures/types.zig").InputText; +pub const MessageComponent = @import("structures/types.zig").MessageComponent; +pub const Embed = @import("structures/types.zig").Embed; +pub const EmbedAuthor = @import("structures/types.zig").EmbedAuthor; +pub const EmbedField = @import("structures/types.zig").EmbedField; +pub const EmbedFooter = @import("structures/types.zig").EmbedFooter; +pub const EmbedImage = @import("structures/types.zig").EmbedImage; +pub const EmbedProvider = @import("structures/types.zig").EmbedProvider; +pub const EmbedThumbnail = @import("structures/types.zig").EmbedThumbnail; +pub const EmbedVideo = @import("structures/types.zig").EmbedVideo; +pub const Emoji = @import("structures/types.zig").Emoji; +pub const GetGatewayBot = @import("structures/types.zig").GetGatewayBot; +pub const SessionStartLimit = @import("structures/types.zig").SessionStartLimit; +pub const PresenceUpdate = @import("structures/types.zig").PresenceUpdate; +pub const Activity = @import("structures/types.zig").Activity; +pub const ActivityInstance = @import("structures/types.zig").ActivityInstance; +pub const ActivityLocation = @import("structures/types.zig").ActivityLocation; +pub const ActivityLocationKind = @import("structures/types.zig").ActivityLocationKind; +pub const ClientStatus = @import("structures/types.zig").ClientStatus; +pub const ActivityTimestamps = @import("structures/types.zig").ActivityTimestamps; +pub const ActivityEmoji = @import("structures/types.zig").ActivityEmoji; +pub const ActivityParty = @import("structures/types.zig").ActivityParty; +pub const ActivityAssets = @import("structures/types.zig").ActivityAssets; +pub const ActivitySecrets = @import("structures/types.zig").ActivitySecrets; +pub const ActivityButton = @import("structures/types.zig").ActivityButton; +pub const Guild = @import("structures/types.zig").Guild; +pub const VoiceState = @import("structures/types.zig").VoiceState; +pub const GuildWidget = @import("structures/types.zig").GuildWidget; +pub const GuildPreview = @import("structures/types.zig").GuildPreview; +pub const CreateGuild = @import("structures/types.zig").CreateGuild; +pub const ModifyGuild = @import("structures/types.zig").ModifyGuild; +pub const CreateGuildBan = @import("structures/types.zig").CreateGuildBan; +pub const GetGuildPruneCountQuery = @import("structures/types.zig").GetGuildPruneCountQuery; +pub const BeginGuildPrune = @import("structures/types.zig").BeginGuildPrune; +pub const ModifyGuildOnboarding = @import("structures/types.zig").ModifyGuildOnboarding; +pub const GuildOnboarding = @import("structures/types.zig").GuildOnboarding; +pub const GuildOnboardingPrompt = @import("structures/types.zig").GuildOnboardingPrompt; +pub const GuildOnboardingPromptOption = @import("structures/types.zig").GuildOnboardingPromptOption; +pub const GuildOnboardingPromptType = @import("structures/types.zig").GuildOnboardingPromptType; +pub const GuildOnboardingMode = @import("structures/types.zig").GuildOnboardingMode; +pub const Integration = @import("structures/types.zig").Integration; +pub const IntegrationAccount = @import("structures/types.zig").IntegrationAccount; +pub const IntegrationApplication = @import("structures/types.zig").IntegrationApplication; +pub const IntegrationCreateUpdate = @import("structures/types.zig").IntegrationCreateUpdate; +pub const IntegrationDelete = @import("structures/types.zig").IntegrationDelete; +pub const GuildIntegrationsUpdate = @import("structures/types.zig").GuildIntegrationsUpdate; +pub const InteractionContextType = @import("structures/types.zig").InteractionContextType; +pub const InviteMetadata = @import("structures/types.zig").InviteMetadata; +pub const Invite = @import("structures/types.zig").Invite; +pub const InviteType = @import("structures/types.zig").InviteType; +pub const InviteStageInstance = @import("structures/types.zig").InviteStageInstance; +pub const Member = @import("structures/types.zig").Member; +pub const MemberWithUser = @import("structures/types.zig").MemberWithUser; +pub const AddGuildMember = @import("structures/types.zig").AddGuildMember; +pub const ModifyGuildMember = @import("structures/types.zig").ModifyGuildMember; +pub const Message = @import("structures/types.zig").Message; +pub const MessageCall = @import("structures/types.zig").MessageCall; +pub const ChannelMention = @import("structures/types.zig").ChannelMention; +pub const Reaction = @import("structures/types.zig").Reaction; +pub const ReactionType = @import("structures/types.zig").ReactionType; +pub const ReactionCountDetails = @import("structures/types.zig").ReactionCountDetails; +pub const MessageActivity = @import("structures/types.zig").MessageActivity; +pub const MessageReference = @import("structures/types.zig").MessageReference; +pub const MessageReferenceType = @import("structures/types.zig").MessageReferenceType; +pub const MessageSnapshot = @import("structures/types.zig").MessageSnapshot; +pub const MessageInteraction = @import("structures/types.zig").MessageInteraction; +pub const MessageInteractionMetadata = @import("structures/types.zig").MessageInteractionMetadata; +pub const AllowedMentions = @import("structures/types.zig").AllowedMentions; +pub const GetMessagesQuery = @import("structures/types.zig").GetMessagesQuery; +pub const Entitlement = @import("structures/types.zig").Entitlement; +pub const EntitlementType = @import("structures/types.zig").EntitlementType; +pub const Sku = @import("structures/types.zig").Sku; +pub const SkuType = @import("structures/types.zig").SkuType; +pub const CreateTestEntitlement = @import("structures/types.zig").CreateTestEntitlement; +pub const TokenExchangeAuthorizationCode = @import("structures/types.zig").TokenExchangeAuthorizationCode; +pub const TokenExchangeRefreshToken = @import("structures/types.zig").TokenExchangeRefreshToken; +pub const TokenExchangeClientCredentials = @import("structures/types.zig").TokenExchangeClientCredentials; +pub const AccessTokenResponse = @import("structures/types.zig").AccessTokenResponse; +pub const Poll = @import("structures/types.zig").Poll; +pub const PollLayoutType = @import("structures/types.zig").PollLayoutType; +pub const PollMedia = @import("structures/types.zig").PollMedia; +pub const PollAnswer = @import("structures/types.zig").PollAnswer; +pub const PollAnswerCount = @import("structures/types.zig").PollAnswerCount; +pub const PollResult = @import("structures/types.zig").PollResult; +pub const GetAnswerVotesResponse = @import("structures/types.zig").GetAnswerVotesResponse; +pub const PollVoteAdd = @import("structures/types.zig").PollVoteAdd; +pub const PollVoteRemove = @import("structures/types.zig").PollVoteRemove; +pub const Role = @import("structures/types.zig").Role; +pub const RoleTags = @import("structures/types.zig").RoleTags; +pub const CreateGuildRole = @import("structures/types.zig").CreateGuildRole; +pub const ModifyGuildRole = @import("structures/types.zig").ModifyGuildRole; +pub const ScheduledEvent = @import("structures/types.zig").ScheduledEvent; +pub const ScheduledEventEntityMetadata = @import("structures/types.zig").ScheduledEventEntityMetadata; +pub const ScheduledEventRecurrenceRule = @import("structures/types.zig").ScheduledEventRecurrenceRule; +pub const ScheduledEventRecurrenceRuleFrequency = @import("structures/types.zig").ScheduledEventRecurrenceRuleFrequency; +pub const ScheduledEventRecurrenceRuleWeekday = @import("structures/types.zig").ScheduledEventRecurrenceRuleWeekday; +pub const ScheduledEventRecurrenceRuleNWeekday = @import("structures/types.zig").ScheduledEventRecurrenceRuleNWeekday; +pub const ScheduledEventRecurrenceRuleMonth = @import("structures/types.zig").ScheduledEventRecurrenceRuleMonth; +pub const Sticker = @import("structures/types.zig").Sticker; +pub const StickerItem = @import("structures/types.zig").StickerItem; +pub const StickerPack = @import("structures/types.zig").StickerPack; +pub const CreateModifyGuildSticker = @import("structures/types.zig").CreateModifyGuildSticker; +pub const Team = @import("structures/types.zig").Team; +pub const TeamMember = @import("structures/types.zig").TeamMember; +pub const ThreadMetadata = @import("structures/types.zig").ThreadMetadata; +pub const ThreadMember = @import("structures/types.zig").ThreadMember; +pub const ListActiveThreads = @import("structures/types.zig").ListActiveThreads; +pub const ListArchivedThreads = @import("structures/types.zig").ListArchivedThreads; +pub const ThreadListSync = @import("structures/types.zig").ThreadListSync; +pub const StartThreadFromMessage = @import("structures/types.zig").StartThreadFromMessage; +pub const StartThreadWithoutMessage = @import("structures/types.zig").StartThreadWithoutMessage; +pub const CreateForumAndMediaThreadMessage = @import("structures/types.zig").CreateForumAndMediaThreadMessage; +pub const StartThreadInForumOrMediaChannel = @import("structures/types.zig").StartThreadInForumOrMediaChannel; +pub const User = @import("structures/types.zig").User; +pub const AvatarDecorationData = @import("structures/types.zig").AvatarDecorationData; +pub const TokenExchange = @import("structures/types.zig").TokenExchange; +pub const TokenRevocation = @import("structures/types.zig").TokenRevocation; +pub const CurrentAuthorization = @import("structures/types.zig").CurrentAuthorization; +pub const Connection = @import("structures/types.zig").Connection; +pub const ConnectionServiceType = @import("structures/types.zig").ConnectionServiceType; +pub const ConnectionVisibility = @import("structures/types.zig").ConnectionVisibility; +pub const ApplicationRoleConnection = @import("structures/types.zig").ApplicationRoleConnection; +pub const ModifyCurrentUser = @import("structures/types.zig").ModifyCurrentUser; +pub const WebhookUpdate = @import("structures/types.zig").WebhookUpdate; +pub const Webhook = @import("structures/types.zig").Webhook; +pub const IncomingWebhook = @import("structures/types.zig").IncomingWebhook; +pub const ApplicationWebhook = @import("structures/types.zig").ApplicationWebhook; +pub const GatewayPayload = @import("structures/types.zig").GatewayPayload; +// END USING NAMESPACE + pub const Shard = @import("shard.zig"); pub const zjson = @import("json.zig"); diff --git a/src/structures/types.zig b/src/structures/types.zig index fc762c1..044c247 100644 --- a/src/structures/types.zig +++ b/src/structures/types.zig @@ -14,39 +14,326 @@ //! OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR //! PERFORMANCE OF THIS SOFTWARE. -const GatewayDispatchEventNames = @import("shared.zig").GatewayDispatchEventNames; +// shared.zig +pub const PresenceStatus = @import("shared.zig").PresenceStatus; +pub const PremiumTypes = @import("shared.zig").PremiumTypes; +pub const UserFlags = @import("shared.zig").UserFlags; +pub const PremiumUsageFlags = @import("shared.zig").PremiumUsageFlags; +pub const PurchasedFlags = @import("shared.zig").PurchasedFlags; +pub const MemberFlags = @import("shared.zig").MemberFlags; +pub const ChannelFlags = @import("shared.zig").ChannelFlags; +pub const RoleFlags = @import("shared.zig").RoleFlags; +pub const AttachmentFlags = @import("shared.zig").AttachmentFlags; +pub const SkuFlags = @import("shared.zig").SkuFlags; +pub const MessageFlags = @import("shared.zig").MessageFlags; +pub const ActivityFlags = @import("shared.zig").ActivityFlags; +pub const IntegrationExpireBehaviors = @import("shared.zig").IntegrationExpireBehaviors; +pub const TeamMembershipStates = @import("shared.zig").TeamMembershipStates; +pub const ApplicationFlags = @import("shared.zig").ApplicationFlags; +pub const MessageComponentTypes = @import("shared.zig").MessageComponentTypes; +pub const TextStyles = @import("shared.zig").TextStyles; +pub const ButtonStyles = @import("shared.zig").ButtonStyles; +pub const AllowedMentionsTypes = @import("shared.zig").AllowedMentionsTypes; +pub const WebhookTypes = @import("shared.zig").WebhookTypes; +pub const EmbedTypes = @import("shared.zig").EmbedTypes; +pub const DefaultMessageNotificationLevels = @import("shared.zig").DefaultMessageNotificationLevels; +pub const ExplicitContentFilterLevels = @import("shared.zig").ExplicitContentFilterLevels; +pub const VerificationLevels = @import("shared.zig").VerificationLevels; +pub const GuildFeatures = @import("shared.zig").GuildFeatures; +pub const MfaLevels = @import("shared.zig").MfaLevels; +pub const SystemChannelFlags = @import("shared.zig").SystemChannelFlags; +pub const PremiumTiers = @import("shared.zig").PremiumTiers; +pub const GuildNsfwLevel = @import("shared.zig").GuildNsfwLevel; +pub const ChannelTypes = @import("shared.zig").ChannelTypes; +pub const OverwriteTypes = @import("shared.zig").OverwriteTypes; +pub const VideoQualityModes = @import("shared.zig").VideoQualityModes; +pub const ActivityTypes = @import("shared.zig").ActivityTypes; +pub const MessageTypes = @import("shared.zig").MessageTypes; +pub const MessageActivityTypes = @import("shared.zig").MessageActivityTypes; +pub const StickerTypes = @import("shared.zig").StickerTypes; +pub const StickerFormatTypes = @import("shared.zig").StickerFormatTypes; +pub const InteractionTypes = @import("shared.zig").InteractionTypes; +pub const ApplicationCommandOptionTypes = @import("shared.zig").ApplicationCommandOptionTypes; +pub const AuditLogEvents = @import("shared.zig").AuditLogEvents; +pub const ScheduledEventPrivacyLevel = @import("shared.zig").ScheduledEventPrivacyLevel; +pub const ScheduledEventEntityType = @import("shared.zig").ScheduledEventEntityType; +pub const ScheduledEventStatus = @import("shared.zig").ScheduledEventStatus; +pub const TargetTypes = @import("shared.zig").TargetTypes; +pub const ApplicationCommandTypes = @import("shared.zig").ApplicationCommandTypes; +pub const ApplicationCommandPermissionTypes = @import("shared.zig").ApplicationCommandPermissionTypes; +pub const BitwisePermissionFlags = @import("shared.zig").BitwisePermissionFlags; +pub const PermissionStrings = @import("shared.zig").PermissionStrings; +pub const GatewayCloseEventCodes = @import("shared.zig").GatewayCloseEventCodes; +pub const GatewayOpcodes = @import("shared.zig").GatewayOpcodes; +pub const GatewayDispatchEventNames = @import("shared.zig").GatewayDispatchEventNames; +pub const GatewayIntents = @import("shared.zig").GatewayIntents; +pub const Intents = @import("shared.zig").Intents; +pub const InteractionResponseTypes = @import("shared.zig").InteractionResponseTypes; +pub const SortOrderTypes = @import("shared.zig").SortOrderTypes; +pub const ForumLayout = @import("shared.zig").ForumLayout; +pub const ImageFormat = @import("shared.zig").ImageFormat; +pub const ImageSize = @import("shared.zig").ImageSize; +pub const Locales = @import("shared.zig").Locales; +pub const OAuth2Scope = @import("shared.zig").OAuth2Scope; +// partial.zig +pub const Partial = @import("partial.zig").Partial; +// snowflake.zig +pub const discord_epoch = @import("snowflake.zig").discord_epoch; +pub const Snowflake = @import("snowflake.zig").Snowflake; +// events.zig +pub const GuildMembersChunk = @import("events.zig").GuildMembersChunk; +pub const ChannelPinsUpdate = @import("events.zig").ChannelPinsUpdate; +pub const GuildRoleDelete = @import("events.zig").GuildRoleDelete; +pub const GuildBanAddRemove = @import("events.zig").GuildBanAddRemove; +pub const MessageReactionRemove = @import("events.zig").MessageReactionRemove; +pub const MessageReactionAdd = @import("events.zig").MessageReactionAdd; +pub const VoiceServerUpdate = @import("events.zig").VoiceServerUpdate; +pub const VoiceChannelEffectSend = @import("events.zig").VoiceChannelEffectSend; +pub const VoiceChannelEffectAnimationType = @import("events.zig").VoiceChannelEffectAnimationType; +pub const InviteCreate = @import("events.zig").InviteCreate; +pub const Hello = @import("events.zig").Hello; +pub const Ready = @import("events.zig").Ready; +pub const UnavailableGuild = @import("events.zig").UnavailableGuild; +pub const MessageDeleteBulk = @import("events.zig").MessageDeleteBulk; +pub const Template = @import("events.zig").Template; +pub const TemplateSerializedSourceGuild = @import("events.zig").TemplateSerializedSourceGuild; +pub const GuildMemberAdd = @import("events.zig").GuildMemberAdd; +pub const MessageDelete = @import("events.zig").MessageDelete; +pub const ThreadMembersUpdate = @import("events.zig").ThreadMembersUpdate; +pub const ThreadMemberUpdate = @import("events.zig").ThreadMemberUpdate; +pub const GuildRoleCreate = @import("events.zig").GuildRoleCreate; +pub const GuildEmojisUpdate = @import("events.zig").GuildEmojisUpdate; +pub const GuildStickersUpdate = @import("events.zig").GuildStickersUpdate; +pub const GuildMemberUpdate = @import("events.zig").GuildMemberUpdate; +pub const MessageReactionRemoveAll = @import("events.zig").MessageReactionRemoveAll; +pub const GuildRoleUpdate = @import("events.zig").GuildRoleUpdate; +pub const ScheduledEventUserAdd = @import("events.zig").ScheduledEventUserAdd; +pub const MessageReactionRemoveEmoji = @import("events.zig").MessageReactionRemoveEmoji; +pub const GuildMemberRemove = @import("events.zig").GuildMemberRemove; +pub const Ban = @import("events.zig").Ban; +pub const ScheduledEventUserRemove = @import("events.zig").ScheduledEventUserRemove; +pub const InviteDelete = @import("events.zig").InviteDelete; +pub const VoiceRegion = @import("events.zig").VoiceRegion; +pub const GuildWidgetSettings = @import("events.zig").GuildWidgetSettings; +pub const ModifyChannel = @import("events.zig").ModifyChannel; +pub const CreateGuildEmoji = @import("events.zig").CreateGuildEmoji; +pub const ModifyGuildEmoji = @import("events.zig").ModifyGuildEmoji; +pub const CreateGuildChannel = @import("events.zig").CreateGuildChannel; +pub const CreateMessage = @import("events.zig").CreateMessage; +pub const ModifyGuildWelcomeScreen = @import("events.zig").ModifyGuildWelcomeScreen; +pub const FollowAnnouncementChannel = @import("events.zig").FollowAnnouncementChannel; +pub const EditChannelPermissionOverridesOptions = @import("events.zig").EditChannelPermissionOverridesOptions; +pub const CreateWebhook = @import("events.zig").CreateWebhook; +pub const CreateForumPostWithMessage = @import("events.zig").CreateForumPostWithMessage; +pub const ArchivedThreads = @import("events.zig").ArchivedThreads; +pub const ActiveThreads = @import("events.zig").ActiveThreads; +pub const VanityUrl = @import("events.zig").VanityUrl; +pub const PrunedCount = @import("events.zig").PrunedCount; +pub const TeamMemberRole = @import("events.zig").TeamMemberRole; +pub const BulkBan = @import("events.zig").BulkBan; -pub usingnamespace @import("shared.zig"); -pub usingnamespace @import("partial.zig"); -pub usingnamespace @import("snowflake.zig"); -pub usingnamespace @import("events.zig"); - -pub usingnamespace @import("application.zig"); -pub usingnamespace @import("attachment.zig"); -pub usingnamespace @import("auditlog.zig"); -pub usingnamespace @import("automod.zig"); -pub usingnamespace @import("channel.zig"); -pub usingnamespace @import("command.zig"); -pub usingnamespace @import("component.zig"); -pub usingnamespace @import("embed.zig"); -pub usingnamespace @import("emoji.zig"); -pub usingnamespace @import("gateway.zig"); -pub usingnamespace @import("guild.zig"); -pub usingnamespace @import("integration.zig"); -pub usingnamespace @import("integration.zig"); -pub usingnamespace @import("invite.zig"); -pub usingnamespace @import("member.zig"); -pub usingnamespace @import("message.zig"); -pub usingnamespace @import("monetization.zig"); -pub usingnamespace @import("oauth.zig"); -pub usingnamespace @import("poll.zig"); -pub usingnamespace @import("role.zig"); -pub usingnamespace @import("scheduled_event.zig"); -pub usingnamespace @import("sticker.zig"); -pub usingnamespace @import("team.zig"); -pub usingnamespace @import("thread.zig"); -pub usingnamespace @import("user.zig"); -pub usingnamespace @import("webhook.zig"); +// application.zig +pub const Application = @import("application.zig").Application; +pub const ApplicationIntegrationTypeConfiguration = @import("application.zig").ApplicationIntegrationTypeConfiguration; +pub const ApplicationIntegrationType = @import("application.zig").ApplicationIntegrationType; +pub const InstallParams = @import("application.zig").InstallParams; +pub const ModifyApplication = @import("application.zig").ModifyApplication; +pub const ApplicationEventWebhookStatus = @import("application.zig").ApplicationEventWebhookStatus; +pub const WebhookEventType = @import("application.zig").WebhookEventType; +// attachment.zig +pub const Attachment = @import("attachment.zig").Attachment; +// auditlog.zig +pub const AuditLog = @import("auditlog.zig").AuditLog; +pub const AuditLogEntry = @import("auditlog.zig").AuditLogEntry; +pub const OptionalAuditEntryInfo = @import("auditlog.zig").OptionalAuditEntryInfo; +pub const AuditLogChange = @import("auditlog.zig").AuditLogChange; +// automod.zig +pub const AutoModerationRule = @import("automod.zig").AutoModerationRule; +pub const AutoModerationEventTypes = @import("automod.zig").AutoModerationEventTypes; +pub const AutoModerationTriggerTypes = @import("automod.zig").AutoModerationTriggerTypes; +pub const AutoModerationRuleTriggerMetadata = @import("automod.zig").AutoModerationRuleTriggerMetadata; +pub const AutoModerationRuleTriggerMetadataPresets = @import("automod.zig").AutoModerationRuleTriggerMetadataPresets; +pub const AutoModerationAction = @import("automod.zig").AutoModerationAction; +pub const AutoModerationActionType = @import("automod.zig").AutoModerationActionType; +pub const AutoModerationActionMetadata = @import("automod.zig").AutoModerationActionMetadata; +pub const AutoModerationActionExecution = @import("automod.zig").AutoModerationActionExecution; +// channel.zig +pub const TypingStart = @import("channel.zig").TypingStart; +pub const Channel = @import("channel.zig").Channel; +pub const WelcomeScreen = @import("channel.zig").WelcomeScreen; +pub const WelcomeScreenChannel = @import("channel.zig").WelcomeScreenChannel; +pub const StageInstance = @import("channel.zig").StageInstance; +pub const Overwrite = @import("channel.zig").Overwrite; +pub const FollowedChannel = @import("channel.zig").FollowedChannel; +pub const ForumTag = @import("channel.zig").ForumTag; +pub const DefaultReactionEmoji = @import("channel.zig").DefaultReactionEmoji; +pub const ModifyGuildChannelPositions = @import("channel.zig").ModifyGuildChannelPositions; +pub const CreateChannelInvite = @import("channel.zig").CreateChannelInvite; +// command.zig +pub const ApplicationCommand = @import("command.zig").ApplicationCommand; +pub const CreateApplicationCommand = @import("command.zig").CreateApplicationCommand; +pub const LocaleMap = @import("command.zig").LocaleMap; +pub const InteractionEntryPointCommandHandlerType = @import("command.zig").InteractionEntryPointCommandHandlerType; +pub const ApplicationCommandOption = @import("command.zig").ApplicationCommandOption; +pub const ApplicationCommandOptionChoice = @import("command.zig").ApplicationCommandOptionChoice; +pub const GuildApplicationCommandPermissions = @import("command.zig").GuildApplicationCommandPermissions; +pub const ApplicationCommandPermissions = @import("command.zig").ApplicationCommandPermissions; +// component.zig +pub const Button = @import("component.zig").Button; +pub const SelectOption = @import("component.zig").SelectOption; +pub const DefaultValue = @import("component.zig").DefaultValue; +pub const SelectMenuString = @import("component.zig").SelectMenuString; +pub const SelectMenuUsers = @import("component.zig").SelectMenuUsers; +pub const SelectMenuRoles = @import("component.zig").SelectMenuRoles; +pub const SelectMenuUsersAndRoles = @import("component.zig").SelectMenuUsersAndRoles; +pub const SelectMenuChannels = @import("component.zig").SelectMenuChannels; +pub const SelectMenu = @import("component.zig").SelectMenu; +pub const InputTextStyles = @import("component.zig").InputTextStyles; +pub const InputText = @import("component.zig").InputText; +pub const MessageComponent = @import("component.zig").MessageComponent; +// embed.zig +pub const Embed = @import("embed.zig").Embed; +pub const EmbedAuthor = @import("embed.zig").EmbedAuthor; +pub const EmbedField = @import("embed.zig").EmbedField; +pub const EmbedFooter = @import("embed.zig").EmbedFooter; +pub const EmbedImage = @import("embed.zig").EmbedImage; +pub const EmbedProvider = @import("embed.zig").EmbedProvider; +pub const EmbedThumbnail = @import("embed.zig").EmbedThumbnail; +pub const EmbedVideo = @import("embed.zig").EmbedVideo; +// emoji.zig +pub const Emoji = @import("emoji.zig").Emoji; +// gateway.zig +pub const GetGatewayBot = @import("gateway.zig").GetGatewayBot; +pub const SessionStartLimit = @import("gateway.zig").SessionStartLimit; +pub const PresenceUpdate = @import("gateway.zig").PresenceUpdate; +pub const Activity = @import("gateway.zig").Activity; +pub const ActivityInstance = @import("gateway.zig").ActivityInstance; +pub const ActivityLocation = @import("gateway.zig").ActivityLocation; +pub const ActivityLocationKind = @import("gateway.zig").ActivityLocationKind; +pub const ClientStatus = @import("gateway.zig").ClientStatus; +pub const ActivityTimestamps = @import("gateway.zig").ActivityTimestamps; +pub const ActivityEmoji = @import("gateway.zig").ActivityEmoji; +pub const ActivityParty = @import("gateway.zig").ActivityParty; +pub const ActivityAssets = @import("gateway.zig").ActivityAssets; +pub const ActivitySecrets = @import("gateway.zig").ActivitySecrets; +pub const ActivityButton = @import("gateway.zig").ActivityButton; +// guild.zig +pub const Guild = @import("guild.zig").Guild; +pub const VoiceState = @import("guild.zig").VoiceState; +pub const GuildWidget = @import("guild.zig").GuildWidget; +pub const GuildPreview = @import("guild.zig").GuildPreview; +pub const CreateGuild = @import("guild.zig").CreateGuild; +pub const ModifyGuild = @import("guild.zig").ModifyGuild; +pub const CreateGuildBan = @import("guild.zig").CreateGuildBan; +pub const GetGuildPruneCountQuery = @import("guild.zig").GetGuildPruneCountQuery; +pub const BeginGuildPrune = @import("guild.zig").BeginGuildPrune; +pub const ModifyGuildOnboarding = @import("guild.zig").ModifyGuildOnboarding; +pub const GuildOnboarding = @import("guild.zig").GuildOnboarding; +pub const GuildOnboardingPrompt = @import("guild.zig").GuildOnboardingPrompt; +pub const GuildOnboardingPromptOption = @import("guild.zig").GuildOnboardingPromptOption; +pub const GuildOnboardingPromptType = @import("guild.zig").GuildOnboardingPromptType; +pub const GuildOnboardingMode = @import("guild.zig").GuildOnboardingMode; +// integration.zig +pub const Integration = @import("integration.zig").Integration; +pub const IntegrationAccount = @import("integration.zig").IntegrationAccount; +pub const IntegrationApplication = @import("integration.zig").IntegrationApplication; +pub const IntegrationCreateUpdate = @import("integration.zig").IntegrationCreateUpdate; +pub const IntegrationDelete = @import("integration.zig").IntegrationDelete; +pub const GuildIntegrationsUpdate = @import("integration.zig").GuildIntegrationsUpdate; +pub const InteractionContextType = @import("integration.zig").InteractionContextType; +// invite.zig +pub const InviteMetadata = @import("invite.zig").InviteMetadata; +pub const Invite = @import("invite.zig").Invite; +pub const InviteType = @import("invite.zig").InviteType; +pub const InviteStageInstance = @import("invite.zig").InviteStageInstance; +// member.zig +pub const Member = @import("member.zig").Member; +pub const MemberWithUser = @import("member.zig").MemberWithUser; +pub const AddGuildMember = @import("member.zig").AddGuildMember; +pub const ModifyGuildMember = @import("member.zig").ModifyGuildMember; +// message.zig +pub const Message = @import("message.zig").Message; +pub const MessageCall = @import("message.zig").MessageCall; +pub const ChannelMention = @import("message.zig").ChannelMention; +pub const Reaction = @import("message.zig").Reaction; +pub const ReactionType = @import("message.zig").ReactionType; +pub const ReactionCountDetails = @import("message.zig").ReactionCountDetails; +pub const MessageActivity = @import("message.zig").MessageActivity; +pub const MessageReference = @import("message.zig").MessageReference; +pub const MessageReferenceType = @import("message.zig").MessageReferenceType; +pub const MessageSnapshot = @import("message.zig").MessageSnapshot; +pub const MessageInteraction = @import("message.zig").MessageInteraction; +pub const MessageInteractionMetadata = @import("message.zig").MessageInteractionMetadata; +pub const AllowedMentions = @import("message.zig").AllowedMentions; +pub const GetMessagesQuery = @import("message.zig").GetMessagesQuery; +// monetization.zig +pub const Entitlement = @import("monetization.zig").Entitlement; +pub const EntitlementType = @import("monetization.zig").EntitlementType; +pub const Sku = @import("monetization.zig").Sku; +pub const SkuType = @import("monetization.zig").SkuType; +pub const CreateTestEntitlement = @import("monetization.zig").CreateTestEntitlement; +// oauth.zig +pub const TokenExchangeAuthorizationCode = @import("oauth.zig").TokenExchangeAuthorizationCode; +pub const TokenExchangeRefreshToken = @import("oauth.zig").TokenExchangeRefreshToken; +pub const TokenExchangeClientCredentials = @import("oauth.zig").TokenExchangeClientCredentials; +pub const AccessTokenResponse = @import("oauth.zig").AccessTokenResponse; +// poll.zig +pub const Poll = @import("poll.zig").Poll; +pub const PollLayoutType = @import("poll.zig").PollLayoutType; +pub const PollMedia = @import("poll.zig").PollMedia; +pub const PollAnswer = @import("poll.zig").PollAnswer; +pub const PollAnswerCount = @import("poll.zig").PollAnswerCount; +pub const PollResult = @import("poll.zig").PollResult; +pub const GetAnswerVotesResponse = @import("poll.zig").GetAnswerVotesResponse; +pub const PollVoteAdd = @import("poll.zig").PollVoteAdd; +pub const PollVoteRemove = @import("poll.zig").PollVoteRemove; +// role.zig +pub const Role = @import("role.zig").Role; +pub const RoleTags = @import("role.zig").RoleTags; +pub const CreateGuildRole = @import("role.zig").CreateGuildRole; +pub const ModifyGuildRole = @import("role.zig").ModifyGuildRole; +// scheduled_event.zig +pub const ScheduledEvent = @import("scheduled_event.zig").ScheduledEvent; +pub const ScheduledEventEntityMetadata = @import("scheduled_event.zig").ScheduledEventEntityMetadata; +pub const ScheduledEventRecurrenceRule = @import("scheduled_event.zig").ScheduledEventRecurrenceRule; +pub const ScheduledEventRecurrenceRuleFrequency = @import("scheduled_event.zig").ScheduledEventRecurrenceRuleFrequency; +pub const ScheduledEventRecurrenceRuleWeekday = @import("scheduled_event.zig").ScheduledEventRecurrenceRuleWeekday; +pub const ScheduledEventRecurrenceRuleNWeekday = @import("scheduled_event.zig").ScheduledEventRecurrenceRuleNWeekday; +pub const ScheduledEventRecurrenceRuleMonth = @import("scheduled_event.zig").ScheduledEventRecurrenceRuleMonth; +// sticker.zig +pub const Sticker = @import("sticker.zig").Sticker; +pub const StickerItem = @import("sticker.zig").StickerItem; +pub const StickerPack = @import("sticker.zig").StickerPack; +pub const CreateModifyGuildSticker = @import("sticker.zig").CreateModifyGuildSticker; +// team.zig +pub const Team = @import("team.zig").Team; +pub const TeamMember = @import("team.zig").TeamMember; +// thread.zig +pub const ThreadMetadata = @import("thread.zig").ThreadMetadata; +pub const ThreadMember = @import("thread.zig").ThreadMember; +pub const ListActiveThreads = @import("thread.zig").ListActiveThreads; +pub const ListArchivedThreads = @import("thread.zig").ListArchivedThreads; +pub const ThreadListSync = @import("thread.zig").ThreadListSync; +pub const StartThreadFromMessage = @import("thread.zig").StartThreadFromMessage; +pub const StartThreadWithoutMessage = @import("thread.zig").StartThreadWithoutMessage; +pub const CreateForumAndMediaThreadMessage = @import("thread.zig").CreateForumAndMediaThreadMessage; +pub const StartThreadInForumOrMediaChannel = @import("thread.zig").StartThreadInForumOrMediaChannel; +// user.zig +pub const User = @import("user.zig").User; +pub const AvatarDecorationData = @import("user.zig").AvatarDecorationData; +pub const TokenExchange = @import("user.zig").TokenExchange; +pub const TokenRevocation = @import("user.zig").TokenRevocation; +pub const CurrentAuthorization = @import("user.zig").CurrentAuthorization; +pub const Connection = @import("user.zig").Connection; +pub const ConnectionServiceType = @import("user.zig").ConnectionServiceType; +pub const ConnectionVisibility = @import("user.zig").ConnectionVisibility; +pub const ApplicationRoleConnection = @import("user.zig").ApplicationRoleConnection; +pub const ModifyCurrentUser = @import("user.zig").ModifyCurrentUser; +// webhook.zig +pub const WebhookUpdate = @import("webhook.zig").WebhookUpdate; +pub const Webhook = @import("webhook.zig").Webhook; +pub const IncomingWebhook = @import("webhook.zig").IncomingWebhook; +pub const ApplicationWebhook = @import("webhook.zig").ApplicationWebhook; /// https://discord.com/developers/docs/topics/gateway#payloads-gateway-payload-structure pub fn GatewayPayload(comptime T: type) type {