lib_discord 0.1.0.pre2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lib_discord/application.rb +43 -0
  3. data/lib/lib_discord/application_command.rb +341 -0
  4. data/lib/lib_discord/application_role_connection_metadata.rb +52 -0
  5. data/lib/lib_discord/audit_log.rb +36 -0
  6. data/lib/lib_discord/auto_moderation.rb +106 -0
  7. data/lib/lib_discord/channel.rb +716 -0
  8. data/lib/lib_discord/client.rb +124 -14
  9. data/lib/lib_discord/emoji.rb +106 -0
  10. data/lib/lib_discord/errors.rb +24 -0
  11. data/lib/lib_discord/guild.rb +830 -0
  12. data/lib/lib_discord/guild_scheduled_event.rb +133 -0
  13. data/lib/lib_discord/guild_template.rb +128 -0
  14. data/lib/lib_discord/interaction.rb +163 -0
  15. data/lib/lib_discord/invite.rb +47 -0
  16. data/lib/lib_discord/mappers/application_command_option_types.rb +22 -0
  17. data/lib/lib_discord/mappers/application_command_permission_types.rb +14 -0
  18. data/lib/lib_discord/mappers/application_command_types.rb +14 -0
  19. data/lib/lib_discord/mappers/application_integration_types.rb +13 -0
  20. data/lib/lib_discord/mappers/application_role_connection_metadata_types.rb +19 -0
  21. data/lib/lib_discord/mappers/audit_log_events.rb +67 -0
  22. data/lib/lib_discord/mappers/auto_moderation_action_types.rb +14 -0
  23. data/lib/lib_discord/mappers/auto_moderation_event_types.rb +12 -0
  24. data/lib/lib_discord/mappers/auto_moderation_keyword_preset_types.rb +14 -0
  25. data/lib/lib_discord/mappers/auto_moderation_trigger_types.rb +15 -0
  26. data/lib/lib_discord/mappers/channel_forum_layout_types.rb +14 -0
  27. data/lib/lib_discord/mappers/channel_message_activity_types.rb +15 -0
  28. data/lib/lib_discord/mappers/channel_message_types.rb +42 -0
  29. data/lib/lib_discord/mappers/channel_sort_order_types.rb +13 -0
  30. data/lib/lib_discord/mappers/channel_types.rb +24 -0
  31. data/lib/lib_discord/mappers/channel_video_quality_modes.rb +13 -0
  32. data/lib/lib_discord/mappers/guild_default_message_notification_levels.rb +13 -0
  33. data/lib/lib_discord/mappers/guild_explicit_content_filter_levels.rb +14 -0
  34. data/lib/lib_discord/mappers/guild_integration_expire_behaviors.rb +13 -0
  35. data/lib/lib_discord/mappers/guild_mfa_levels.rb +13 -0
  36. data/lib/lib_discord/mappers/guild_nsfw_levels.rb +15 -0
  37. data/lib/lib_discord/mappers/guild_onboarding_modes.rb +13 -0
  38. data/lib/lib_discord/mappers/guild_premium_tiers.rb +15 -0
  39. data/lib/lib_discord/mappers/guild_prompt_types.rb +13 -0
  40. data/lib/lib_discord/mappers/guild_scheduled_event_entity_types.rb +14 -0
  41. data/lib/lib_discord/mappers/guild_scheduled_event_privacy_levels.rb +12 -0
  42. data/lib/lib_discord/mappers/guild_scheduled_event_statuses.rb +15 -0
  43. data/lib/lib_discord/mappers/guild_verification_levels.rb +16 -0
  44. data/lib/lib_discord/mappers/interaction_callback_types.rb +19 -0
  45. data/lib/lib_discord/mappers/interaction_context_types.rb +14 -0
  46. data/lib/lib_discord/mappers/interaction_types.rb +16 -0
  47. data/lib/lib_discord/mappers/invite_target_types.rb +13 -0
  48. data/lib/lib_discord/mappers/message_component_button_styles.rb +16 -0
  49. data/lib/lib_discord/mappers/message_component_text_input_styles.rb +13 -0
  50. data/lib/lib_discord/mappers/message_component_types.rb +19 -0
  51. data/lib/lib_discord/mappers/poll_layout_types.rb +12 -0
  52. data/lib/lib_discord/mappers/stage_instance_privacy_levels.rb +13 -0
  53. data/lib/lib_discord/mappers/sticker_format_types.rb +15 -0
  54. data/lib/lib_discord/mappers/sticker_types.rb +13 -0
  55. data/lib/lib_discord/mappers/user_premium_types.rb +15 -0
  56. data/lib/lib_discord/mappers/user_visibility_types.rb +13 -0
  57. data/lib/lib_discord/mappers/webhooks_types.rb +14 -0
  58. data/lib/lib_discord/mappers.rb +87 -0
  59. data/lib/lib_discord/poll.rb +62 -0
  60. data/lib/lib_discord/resource.rb +91 -21
  61. data/lib/lib_discord/response.rb +39 -7
  62. data/lib/lib_discord/stage_instance.rb +79 -0
  63. data/lib/lib_discord/sticker.rb +132 -0
  64. data/lib/lib_discord/types.rb +35 -11
  65. data/lib/lib_discord/urls.rb +20 -12
  66. data/lib/lib_discord/user.rb +174 -0
  67. data/lib/lib_discord/version.rb +5 -1
  68. data/lib/lib_discord/voice.rb +29 -0
  69. data/lib/lib_discord/webhook.rb +299 -0
  70. data/lib/lib_discord.rb +5 -0
  71. metadata +77 -20
  72. data/lib/lib_discord/resources/application.rb +0 -15
  73. data/lib/lib_discord/resources/application_command.rb +0 -71
  74. data/lib/lib_discord/resources/application_role_connection_metadata.rb +0 -15
  75. data/lib/lib_discord/resources/audit_log.rb +0 -11
  76. data/lib/lib_discord/resources/auto_moderation.rb +0 -27
  77. data/lib/lib_discord/resources/channel.rb +0 -168
  78. data/lib/lib_discord/resources/emoji.rb +0 -27
  79. data/lib/lib_discord/resources/guild.rb +0 -196
  80. data/lib/lib_discord/resources/guild_scheduled_event.rb +0 -31
  81. data/lib/lib_discord/resources/guild_template.rb +0 -35
  82. data/lib/lib_discord/resources/interaction.rb +0 -39
  83. data/lib/lib_discord/resources/invite.rb +0 -15
  84. data/lib/lib_discord/resources/stage_instance.rb +0 -23
  85. data/lib/lib_discord/resources/sticker.rb +0 -35
  86. data/lib/lib_discord/resources/user.rb +0 -51
  87. data/lib/lib_discord/resources/voice.rb +0 -11
  88. data/lib/lib_discord/resources/webhook.rb +0 -67
  89. data/lib/lib_discord/resources.rb +0 -19
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types
7
+ # Auto Moderation Trigger Types}
8
+ module AutoModerationTriggerTypes
9
+ KEYWORD = 1
10
+ SPAM = 3
11
+ KEYWORD_PRESET = 4
12
+ MENTION_SPAM = 5
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#channel-object-forum-layout-types
7
+ # Channel Forum Layout Types}
8
+ module ChannelForumLayoutTypes
9
+ NOT_SET = 0
10
+ LIST_VIEW = 1
11
+ GALLERY_VIEW = 2
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#message-object-message-activity-types
7
+ # Channel Message Activity Types}
8
+ module ChannelMessageActivityTypes
9
+ JOIN = 1
10
+ SPECTATE = 2
11
+ LISTEN = 3
12
+ JOIN_REQUEST = 5
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#message-object-message-types
7
+ # Channel Message Types}
8
+ module ChannelMessageTypes
9
+ DEFAULT = 0
10
+ RECIPIENT_ADD = 1
11
+ RECIPIENT_REMOVE = 2
12
+ CALL = 3
13
+ CHANNEL_NAME_CHANGE = 4
14
+ CHANNEL_ICON_CHANGE = 5
15
+ CHANNEL_PINNED_MESSAGE = 6
16
+ USER_JOIN = 7
17
+ GUILD_BOOST = 8
18
+ GUILD_BOOST_TIER_1 = 9
19
+ GUILD_BOOST_TIER_2 = 10
20
+ GUILD_BOOST_TIER_3 = 11
21
+ CHANNEL_FOLLOW_ADD = 12
22
+ GUILD_DISCOVERY_DISQUALIFIED = 14
23
+ GUILD_DISCOVERY_REQUALIFIED = 15
24
+ GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING = 16
25
+ GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING = 17
26
+ THREAD_CREATED = 18
27
+ REPLY = 19
28
+ CHAT_INPUT_COMMAND = 20
29
+ THREAD_STARTER_MESSAGE = 21
30
+ GUILD_INVITE_REMINDER = 22
31
+ CONTEXT_MENU_COMMAND = 23
32
+ AUTO_MODERATION_ACTION = 24
33
+ ROLE_SUBSCRIPTION_PURCHASE = 25
34
+ INTERACTION_PREMIUM_UPSELL = 26
35
+ STAGE_START = 27
36
+ STAGE_END = 28
37
+ STAGE_SPEAKER = 29
38
+ STAGE_TOPIC = 31
39
+ GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#channel-object-sort-order-types
7
+ # Channel Sort Order Types}
8
+ module ChannelSortOrderTypes
9
+ LATEST_ACTIVITY = 0
10
+ CREATION_DATE = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#channel-object-channel-types
7
+ # Channel Types}
8
+ module ChannelTypes
9
+ GUILD_TEXT = 0
10
+ DM = 1
11
+ GUILD_VOICE = 2
12
+ GROUP_DM = 3
13
+ GUILD_CATEGORY = 4
14
+ GUILD_ANNOUNCEMENT = 5
15
+ ANNOUNCEMENT_THREAD = 10
16
+ PUBLIC_THREAD = 11
17
+ PRIVATE_THREAD = 12
18
+ GUILD_STAGE_VOICE = 13
19
+ GUILD_DIRECTORY = 14
20
+ GUILD_FORUM = 15
21
+ GUILD_MEDIA = 16
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/channel#channel-object-video-quality-modes
7
+ # Channel Video Quality Modes}
8
+ module ChannelVideoQualityModes
9
+ AUTO = 1
10
+ FULL = 2
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level
7
+ # Guild Default Message Notification Levels}
8
+ module GuildDefaultMessageNotificationLevels
9
+ ALL_MESSAGES = 0
10
+ ONLY_MENTIONS = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level
7
+ # Guild Explicit Content Filter Levels}
8
+ module GuildExplicitContentFilterLevels
9
+ DISABLED = 0
10
+ MEMBERS_WITHOUT_ROLES = 1
11
+ ALL_MEMBERS = 2
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors
7
+ # Guild Integration Expire Behaviors}
8
+ module GuildIntegrationExpireBehaviors
9
+ REMOVE_ROLE = 0
10
+ KICK = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-mfa-level
7
+ # Guild MFA Levels}
8
+ module GuildMfaLevels
9
+ NONE = 0
10
+ ELEVATED = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-guild-nsfw-level
7
+ # Guild NSFW Levels}
8
+ module GuildNsfwLevels
9
+ DEFAULT = 0
10
+ EXPLICIT = 1
11
+ SAFE = 2
12
+ AGE_RESTRICTED = 3
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-onboarding-object-onboarding-mode
7
+ # Guild Onboarding Modes}
8
+ module GuildOnboardingModes
9
+ ONBOARDING_DEFAULT = 0
10
+ ONBOARDING_ADVANCED = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-premium-tier
7
+ # Guild Premium Tiers}
8
+ module GuildPremiumTiers
9
+ NONE = 0
10
+ TIER_1 = 1
11
+ TIER_2 = 2
12
+ TIER_3 = 3
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-onboarding-object-prompt-types
7
+ # Guild Prompt Types}
8
+ module GuildPromptTypes
9
+ MULTIPLE_CHOICE = 0
10
+ DROPDOWN = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types
7
+ # Guild Scheduled Event Entity Types}
8
+ module GuildScheduledEventEntityTypes
9
+ STAGE_INSTANCE = 1
10
+ VOICE = 2
11
+ EXTERNAL = 3
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level
7
+ # Guild Scheduled Event Privacy Levels}
8
+ module GuildScheduledEventPrivacyLevels
9
+ GUILD_ONLY = 2
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status
7
+ # Guild Scheduled Event Statuses}
8
+ module GuildScheduledEventStatuses
9
+ SCHEDULED = 1
10
+ ACTIVE = 2
11
+ COMPLETED = 3
12
+ CANCELED = 4
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/guild#guild-object-verification-level
7
+ # Guild Verification Levels}
8
+ module GuildVerificationLevels
9
+ NONE = 0
10
+ LOW = 1
11
+ MEDIUM = 2
12
+ HIGH = 3
13
+ VERY_HIGH = 4
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callback-type
7
+ # Interaction Callback Types}
8
+ module InteractionCallbackTypes
9
+ PONG = 1
10
+ CHANNEL_MESSAGE_WITH_SOURCE = 4
11
+ DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE = 5
12
+ DEFERRED_UPDATE_MESSAGE = 6
13
+ UPDATE_MESSAGE = 7
14
+ APPLICATION_COMMAND_AUTOCOMPLETE_RESULT = 8
15
+ MODAL = 9
16
+ PREMIUM_REQUIRED = 10
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
7
+ # Interaction Context Types}
8
+ module InteractionContextTypes
9
+ GUILD = 0
10
+ BOT_DM = 1
11
+ PRIVATE_CHANNEL = 2
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-type
7
+ # Interaction Types}
8
+ module InteractionTypes
9
+ PING = 1
10
+ APPLICATION_COMMAND = 2
11
+ MESSAGE_COMPOMENT = 3
12
+ APPLICATION_COMMAND_AUTOCOMPLETE = 4
13
+ MODAL_SUBMIT = 5
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types
7
+ # Invite Target Types}
8
+ module InviteTargetTypes
9
+ STREAM = 1
10
+ EMBEDDED_APPLICATION = 2
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/message-components#button-object-button-styles
7
+ # Message Component Button Styles}
8
+ module MessageComponentButtonStyles
9
+ PRIMARY = 1
10
+ SECONDARY = 2
11
+ SUCCESS = 3
12
+ DANGER = 4
13
+ LINK = 5
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/message-components#text-input-object-text-input-styles
7
+ # Message Component Text Input Styles}
8
+ module MessageComponentTextInputStyles
9
+ SHORT = 1
10
+ PARAGRAPH = 2
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/interactions/message-components#component-object-component-types
7
+ # Message Component Types}
8
+ module MessageComponentTypes
9
+ ACTION_ROW = 1
10
+ BUTTON = 2
11
+ STRING_SELECT = 3
12
+ TEXT_INPUT = 4
13
+ USER_SELECT = 5
14
+ ROLE_SELECT = 6
15
+ MENTIONABLE_SELECT = 7
16
+ CHANNEL_SELECT = 8
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/poll#layout-type
7
+ # Poll Layout Types}
8
+ module PollLayoutTypes
9
+ DEFAULT = 1
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-privacy-level
7
+ # Stage Instance Privacy Levels}
8
+ module StageInstancePrivacyLevels
9
+ PUBLIC = 1
10
+ GUILD_ONLY = 2
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-format-types
7
+ # Sticker Format Types}
8
+ module StickerFormatTypes
9
+ PNG = 1
10
+ APNG = 2
11
+ LOTTIE = 3
12
+ GIF = 4
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-types
7
+ # Sticker Types}
8
+ module StickerTypes
9
+ STANDARD = 1
10
+ GUILD = 2
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/user#user-object-premium-types
7
+ # User Premium Types}
8
+ module UserPremiumTypes
9
+ NONE = 0
10
+ NITRO_CLASSIC = 1
11
+ NITRO = 2
12
+ NITRO_BASIC = 3
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/user#connection-object-visibility-types
7
+ # User Visibility Types}
8
+ module UserVisibilityTypes
9
+ NONE = 0
10
+ EVERYONE = 1
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibDiscord
4
+ module Mappers
5
+ ##
6
+ # {https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types
7
+ # Webhook Types}
8
+ module WebhookTypes
9
+ INCOMING = 1
10
+ CHANNEL_FOLLOWER = 2
11
+ APPLICATION = 3
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lib_discord/mappers/application_command_option_types"
4
+ require "lib_discord/mappers/application_command_permission_types"
5
+ require "lib_discord/mappers/application_command_types"
6
+ require "lib_discord/mappers/application_integration_types"
7
+ require "lib_discord/mappers/application_role_connection_metadata_types"
8
+ require "lib_discord/mappers/audit_log_events"
9
+ require "lib_discord/mappers/auto_moderation_action_types"
10
+ require "lib_discord/mappers/auto_moderation_event_types"
11
+ require "lib_discord/mappers/auto_moderation_keyword_preset_types"
12
+ require "lib_discord/mappers/auto_moderation_trigger_types"
13
+ require "lib_discord/mappers/channel_forum_layout_types"
14
+ require "lib_discord/mappers/channel_message_activity_types"
15
+ require "lib_discord/mappers/channel_message_types"
16
+ require "lib_discord/mappers/channel_sort_order_types"
17
+ require "lib_discord/mappers/channel_types"
18
+ require "lib_discord/mappers/channel_video_quality_modes"
19
+ require "lib_discord/mappers/guild_default_message_notification_levels"
20
+ require "lib_discord/mappers/guild_explicit_content_filter_levels"
21
+ require "lib_discord/mappers/guild_integration_expire_behaviors"
22
+ require "lib_discord/mappers/guild_mfa_levels"
23
+ require "lib_discord/mappers/guild_nsfw_levels"
24
+ require "lib_discord/mappers/guild_onboarding_modes"
25
+ require "lib_discord/mappers/guild_premium_tiers"
26
+ require "lib_discord/mappers/guild_prompt_types"
27
+ require "lib_discord/mappers/guild_scheduled_event_entity_types"
28
+ require "lib_discord/mappers/guild_scheduled_event_privacy_levels"
29
+ require "lib_discord/mappers/guild_scheduled_event_statuses"
30
+ require "lib_discord/mappers/guild_verification_levels"
31
+ require "lib_discord/mappers/interaction_callback_types"
32
+ require "lib_discord/mappers/interaction_context_types"
33
+ require "lib_discord/mappers/interaction_types"
34
+ require "lib_discord/mappers/invite_target_types"
35
+ require "lib_discord/mappers/message_component_button_styles"
36
+ require "lib_discord/mappers/message_component_text_input_styles"
37
+ require "lib_discord/mappers/message_component_types"
38
+ require "lib_discord/mappers/poll_layout_types"
39
+ require "lib_discord/mappers/stage_instance_privacy_levels"
40
+ require "lib_discord/mappers/sticker_format_types"
41
+ require "lib_discord/mappers/sticker_types"
42
+ require "lib_discord/mappers/user_premium_types"
43
+ require "lib_discord/mappers/user_visibility_types"
44
+ require "lib_discord/mappers/webhooks_types"
45
+
46
+ module LibDiscord
47
+ ##
48
+ # The {Mappers} module contains constants that are mapped to integer-encoded
49
+ # values used for types, levels, and modes across various objects in Discord.
50
+ # These constants are here to provide meaningful descriptors to otherwise
51
+ # magical numbers.
52
+ #
53
+ # @example an application command
54
+ # command_object = {
55
+ # name: "blep",
56
+ # type: LibDiscord::Mappers::ApplicationCommandTypes::CHAT_INPUT,
57
+ # description: "send a random adorable animal photo",
58
+ # options: [
59
+ # {
60
+ # name: "animal",
61
+ # type: LibDiscord::Mappers::ApplicationCommandOptionTypes::STRING,
62
+ # required: true,
63
+ # choices: [
64
+ # {
65
+ # name: "dog",
66
+ # value: "animal_dog"
67
+ # },
68
+ # {
69
+ # name: "cat",
70
+ # value: "animal_cat"
71
+ # },
72
+ # {
73
+ # name: "penguin",
74
+ # value: "animal_penguin"
75
+ # }
76
+ # ]
77
+ # },
78
+ # {
79
+ # name: "only_smol",
80
+ # description: "whether to show only baby animals",
81
+ # type: LibDiscord::Mappers::ApplicationCommandOptionTypes::BOOLEAN,
82
+ # required: false
83
+ # }
84
+ # ]
85
+ # }
86
+ module Mappers; end
87
+ end