lib_discord 0.1.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +88 -0
  3. data/README.md +39 -65
  4. data/lib/lib_discord/client.rb +2665 -138
  5. data/lib/lib_discord/formatter.rb +108 -0
  6. data/lib/lib_discord/maps.rb +731 -0
  7. data/lib/lib_discord/permissions.rb +85 -0
  8. data/lib/lib_discord/urls.rb +3 -12
  9. data/lib/lib_discord/version.rb +1 -4
  10. data/lib/lib_discord.rb +3 -5
  11. metadata +10 -119
  12. data/CHANGELOG.md +0 -142
  13. data/lib/lib_discord/application.rb +0 -43
  14. data/lib/lib_discord/application_command.rb +0 -341
  15. data/lib/lib_discord/application_role_connection_metadata.rb +0 -52
  16. data/lib/lib_discord/audit_log.rb +0 -36
  17. data/lib/lib_discord/auto_moderation.rb +0 -106
  18. data/lib/lib_discord/channel.rb +0 -716
  19. data/lib/lib_discord/emoji.rb +0 -106
  20. data/lib/lib_discord/errors.rb +0 -31
  21. data/lib/lib_discord/guild.rb +0 -830
  22. data/lib/lib_discord/guild_scheduled_event.rb +0 -133
  23. data/lib/lib_discord/guild_template.rb +0 -128
  24. data/lib/lib_discord/interaction.rb +0 -163
  25. data/lib/lib_discord/invite.rb +0 -47
  26. data/lib/lib_discord/mappers/application_command_option_types.rb +0 -22
  27. data/lib/lib_discord/mappers/application_command_permission_types.rb +0 -14
  28. data/lib/lib_discord/mappers/application_command_types.rb +0 -14
  29. data/lib/lib_discord/mappers/application_integration_types.rb +0 -13
  30. data/lib/lib_discord/mappers/application_role_connection_metadata_types.rb +0 -19
  31. data/lib/lib_discord/mappers/audit_log_events.rb +0 -67
  32. data/lib/lib_discord/mappers/auto_moderation_action_types.rb +0 -14
  33. data/lib/lib_discord/mappers/auto_moderation_event_types.rb +0 -12
  34. data/lib/lib_discord/mappers/auto_moderation_keyword_preset_types.rb +0 -14
  35. data/lib/lib_discord/mappers/auto_moderation_trigger_types.rb +0 -15
  36. data/lib/lib_discord/mappers/channel_forum_layout_types.rb +0 -14
  37. data/lib/lib_discord/mappers/channel_message_activity_types.rb +0 -15
  38. data/lib/lib_discord/mappers/channel_message_types.rb +0 -42
  39. data/lib/lib_discord/mappers/channel_sort_order_types.rb +0 -13
  40. data/lib/lib_discord/mappers/channel_types.rb +0 -24
  41. data/lib/lib_discord/mappers/channel_video_quality_modes.rb +0 -13
  42. data/lib/lib_discord/mappers/guild_default_message_notification_levels.rb +0 -13
  43. data/lib/lib_discord/mappers/guild_explicit_content_filter_levels.rb +0 -14
  44. data/lib/lib_discord/mappers/guild_integration_expire_behaviors.rb +0 -13
  45. data/lib/lib_discord/mappers/guild_mfa_levels.rb +0 -13
  46. data/lib/lib_discord/mappers/guild_nsfw_levels.rb +0 -15
  47. data/lib/lib_discord/mappers/guild_onboarding_modes.rb +0 -13
  48. data/lib/lib_discord/mappers/guild_premium_tiers.rb +0 -15
  49. data/lib/lib_discord/mappers/guild_prompt_types.rb +0 -13
  50. data/lib/lib_discord/mappers/guild_scheduled_event_entity_types.rb +0 -14
  51. data/lib/lib_discord/mappers/guild_scheduled_event_privacy_levels.rb +0 -12
  52. data/lib/lib_discord/mappers/guild_scheduled_event_statuses.rb +0 -15
  53. data/lib/lib_discord/mappers/guild_verification_levels.rb +0 -16
  54. data/lib/lib_discord/mappers/interaction_callback_types.rb +0 -19
  55. data/lib/lib_discord/mappers/interaction_context_types.rb +0 -14
  56. data/lib/lib_discord/mappers/interaction_types.rb +0 -16
  57. data/lib/lib_discord/mappers/invite_target_types.rb +0 -13
  58. data/lib/lib_discord/mappers/message_component_button_styles.rb +0 -16
  59. data/lib/lib_discord/mappers/message_component_text_input_styles.rb +0 -13
  60. data/lib/lib_discord/mappers/message_component_types.rb +0 -19
  61. data/lib/lib_discord/mappers/poll_layout_types.rb +0 -12
  62. data/lib/lib_discord/mappers/stage_instance_privacy_levels.rb +0 -13
  63. data/lib/lib_discord/mappers/sticker_format_types.rb +0 -15
  64. data/lib/lib_discord/mappers/sticker_types.rb +0 -13
  65. data/lib/lib_discord/mappers/user_premium_types.rb +0 -15
  66. data/lib/lib_discord/mappers/user_visibility_types.rb +0 -13
  67. data/lib/lib_discord/mappers/webhooks_types.rb +0 -14
  68. data/lib/lib_discord/mappers.rb +0 -87
  69. data/lib/lib_discord/poll.rb +0 -62
  70. data/lib/lib_discord/resource.rb +0 -133
  71. data/lib/lib_discord/response.rb +0 -43
  72. data/lib/lib_discord/stage_instance.rb +0 -79
  73. data/lib/lib_discord/sticker.rb +0 -132
  74. data/lib/lib_discord/types.rb +0 -47
  75. data/lib/lib_discord/user.rb +0 -174
  76. data/lib/lib_discord/voice.rb +0 -29
  77. data/lib/lib_discord/webhook.rb +0 -299
@@ -1,106 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lib_discord/resource"
4
-
5
- module LibDiscord
6
- ##
7
- # Emoji Resource
8
- #
9
- # Do not instantiate an {Emoji} directly. Instead request one from an
10
- # instance of {Client}.
11
- #
12
- # client = LibDiscord::Client.new("Bot auth.token")
13
- # e = client["emoji"]
14
- #
15
- # @see https://discord.com/developers/docs/resources/emoji Discord
16
- # documentation "Emoji Resource"
17
- class Emoji < Resource
18
- ##
19
- # @param guild_id [#to_s]
20
- # {https://discord.com/developers/docs/reference#snowflakes Discord
21
- # documentation "Snowflakes"}
22
- #
23
- # @return [Response]
24
- #
25
- # @raise [TimeoutError] if the HTTP request times out
26
- #
27
- # @see https://discord.com/developers/docs/resources/emoji#list-guild-emojis
28
- # Discord documentation "List Guild Emojis"
29
- def list_guild_emojis(guild_id:)
30
- send_request(:get, "/guilds/#{guild_id}/emojis")
31
- end
32
-
33
- ##
34
- # @param guild_id [#to_s]
35
- # {https://discord.com/developers/docs/reference#snowflakes Discord
36
- # documentation "Snowflakes"}
37
- # @param emoji_id [#to_s]
38
- # {https://discord.com/developers/docs/reference#snowflakes Discord
39
- # documentation "Snowflakes"}
40
- #
41
- # @return [Response]
42
- #
43
- # @raise [TimeoutError] if the HTTP request times out
44
- #
45
- # @see https://discord.com/developers/docs/resources/emoji#get-guild-emoji
46
- # Discord documentation "Get Guild Emoji"
47
- def get_guild_emoji(guild_id:, emoji_id:)
48
- send_request(:get, "/guilds/#{guild_id}/emojis/#{emoji_id}")
49
- end
50
-
51
- ##
52
- # @param guild_id [#to_s]
53
- # {https://discord.com/developers/docs/reference#snowflakes Discord
54
- # documentation "Snowflakes"}
55
- # @param json [Hash] JSON serializable payload
56
- #
57
- # @return [Response]
58
- #
59
- # @raise [TimeoutError] if the HTTP request times out
60
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
61
- #
62
- # @see https://discord.com/developers/docs/resources/emoji#create-guild-emoji
63
- # Discord documentation "Create Guild Emoji"
64
- def create_guild_emoji(guild_id:, json:)
65
- send_request(:post, "/guilds/#{guild_id}/emojis", json:)
66
- end
67
-
68
- ##
69
- # @param guild_id [#to_s]
70
- # {https://discord.com/developers/docs/reference#snowflakes Discord
71
- # documentation "Snowflakes"}
72
- # @param emoji_id [#to_s]
73
- # {https://discord.com/developers/docs/reference#snowflakes Discord
74
- # documentation "Snowflakes"}
75
- # @param json [Hash] JSON serializable payload
76
- #
77
- # @return [Response]
78
- #
79
- # @raise [TimeoutError] if the HTTP request times out
80
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
81
- #
82
- # @see https://discord.com/developers/docs/resources/emoji#modify-guild-emoji
83
- # Discord documentation "Modify Guild Emoji"
84
- def modify_guild_emoji(guild_id:, emoji_id:, json:)
85
- send_request(:patch, "/guilds/#{guild_id}/emojis/#{emoji_id}", json:)
86
- end
87
-
88
- ##
89
- # @param guild_id [#to_s]
90
- # {https://discord.com/developers/docs/reference#snowflakes Discord
91
- # documentation "Snowflakes"}
92
- # @param emoji_id [#to_s]
93
- # {https://discord.com/developers/docs/reference#snowflakes Discord
94
- # documentation "Snowflakes"}
95
- #
96
- # @return [Response]
97
- #
98
- # @raise [TimeoutError] if the HTTP request times out
99
- #
100
- # @see https://discord.com/developers/docs/resources/emoji#delete-guild-emoji
101
- # Discord documentation "Delete Guild Emoji"
102
- def delete_guild_emoji(guild_id:, emoji_id:)
103
- send_request(:delete, "/guilds/#{guild_id}/emojis/#{emoji_id}")
104
- end
105
- end
106
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "dry-container"
4
- require "dry/types"
5
- require "http"
6
-
7
- module LibDiscord
8
- ##
9
- # Constraint Error
10
- #
11
- # This error is thrown when a type-check against LibDiscord's type
12
- # constraints fails.
13
- class ConstraintError < Dry::Types::ConstraintError; end
14
-
15
- ##
16
- # Key Error
17
- #
18
- # This error is thrown when a {Client} instance has no object mapped to the
19
- # key used.
20
- #
21
- # @see Client#[]
22
- # @see Client#keys
23
- class KeyError < Dry::Container::KeyError; end
24
-
25
- ##
26
- # This error is thrown when an HTTP request made to Discord times out.
27
- #
28
- # @see https://github.com/httprb/http/wiki/Errors-and-Exceptions HTTP.rb
29
- # "Errors and Exceptions"
30
- class TimeoutError < HTTP::TimeoutError; end
31
- end