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.
- checksums.yaml +4 -4
- data/lib/lib_discord/application.rb +43 -0
- data/lib/lib_discord/application_command.rb +341 -0
- data/lib/lib_discord/application_role_connection_metadata.rb +52 -0
- data/lib/lib_discord/audit_log.rb +36 -0
- data/lib/lib_discord/auto_moderation.rb +106 -0
- data/lib/lib_discord/channel.rb +716 -0
- data/lib/lib_discord/client.rb +124 -14
- data/lib/lib_discord/emoji.rb +106 -0
- data/lib/lib_discord/errors.rb +24 -0
- data/lib/lib_discord/guild.rb +830 -0
- data/lib/lib_discord/guild_scheduled_event.rb +133 -0
- data/lib/lib_discord/guild_template.rb +128 -0
- data/lib/lib_discord/interaction.rb +163 -0
- data/lib/lib_discord/invite.rb +47 -0
- data/lib/lib_discord/mappers/application_command_option_types.rb +22 -0
- data/lib/lib_discord/mappers/application_command_permission_types.rb +14 -0
- data/lib/lib_discord/mappers/application_command_types.rb +14 -0
- data/lib/lib_discord/mappers/application_integration_types.rb +13 -0
- data/lib/lib_discord/mappers/application_role_connection_metadata_types.rb +19 -0
- data/lib/lib_discord/mappers/audit_log_events.rb +67 -0
- data/lib/lib_discord/mappers/auto_moderation_action_types.rb +14 -0
- data/lib/lib_discord/mappers/auto_moderation_event_types.rb +12 -0
- data/lib/lib_discord/mappers/auto_moderation_keyword_preset_types.rb +14 -0
- data/lib/lib_discord/mappers/auto_moderation_trigger_types.rb +15 -0
- data/lib/lib_discord/mappers/channel_forum_layout_types.rb +14 -0
- data/lib/lib_discord/mappers/channel_message_activity_types.rb +15 -0
- data/lib/lib_discord/mappers/channel_message_types.rb +42 -0
- data/lib/lib_discord/mappers/channel_sort_order_types.rb +13 -0
- data/lib/lib_discord/mappers/channel_types.rb +24 -0
- data/lib/lib_discord/mappers/channel_video_quality_modes.rb +13 -0
- data/lib/lib_discord/mappers/guild_default_message_notification_levels.rb +13 -0
- data/lib/lib_discord/mappers/guild_explicit_content_filter_levels.rb +14 -0
- data/lib/lib_discord/mappers/guild_integration_expire_behaviors.rb +13 -0
- data/lib/lib_discord/mappers/guild_mfa_levels.rb +13 -0
- data/lib/lib_discord/mappers/guild_nsfw_levels.rb +15 -0
- data/lib/lib_discord/mappers/guild_onboarding_modes.rb +13 -0
- data/lib/lib_discord/mappers/guild_premium_tiers.rb +15 -0
- data/lib/lib_discord/mappers/guild_prompt_types.rb +13 -0
- data/lib/lib_discord/mappers/guild_scheduled_event_entity_types.rb +14 -0
- data/lib/lib_discord/mappers/guild_scheduled_event_privacy_levels.rb +12 -0
- data/lib/lib_discord/mappers/guild_scheduled_event_statuses.rb +15 -0
- data/lib/lib_discord/mappers/guild_verification_levels.rb +16 -0
- data/lib/lib_discord/mappers/interaction_callback_types.rb +19 -0
- data/lib/lib_discord/mappers/interaction_context_types.rb +14 -0
- data/lib/lib_discord/mappers/interaction_types.rb +16 -0
- data/lib/lib_discord/mappers/invite_target_types.rb +13 -0
- data/lib/lib_discord/mappers/message_component_button_styles.rb +16 -0
- data/lib/lib_discord/mappers/message_component_text_input_styles.rb +13 -0
- data/lib/lib_discord/mappers/message_component_types.rb +19 -0
- data/lib/lib_discord/mappers/poll_layout_types.rb +12 -0
- data/lib/lib_discord/mappers/stage_instance_privacy_levels.rb +13 -0
- data/lib/lib_discord/mappers/sticker_format_types.rb +15 -0
- data/lib/lib_discord/mappers/sticker_types.rb +13 -0
- data/lib/lib_discord/mappers/user_premium_types.rb +15 -0
- data/lib/lib_discord/mappers/user_visibility_types.rb +13 -0
- data/lib/lib_discord/mappers/webhooks_types.rb +14 -0
- data/lib/lib_discord/mappers.rb +87 -0
- data/lib/lib_discord/poll.rb +62 -0
- data/lib/lib_discord/resource.rb +91 -21
- data/lib/lib_discord/response.rb +39 -7
- data/lib/lib_discord/stage_instance.rb +79 -0
- data/lib/lib_discord/sticker.rb +132 -0
- data/lib/lib_discord/types.rb +35 -11
- data/lib/lib_discord/urls.rb +20 -12
- data/lib/lib_discord/user.rb +174 -0
- data/lib/lib_discord/version.rb +5 -1
- data/lib/lib_discord/voice.rb +29 -0
- data/lib/lib_discord/webhook.rb +299 -0
- data/lib/lib_discord.rb +5 -0
- metadata +77 -20
- data/lib/lib_discord/resources/application.rb +0 -15
- data/lib/lib_discord/resources/application_command.rb +0 -71
- data/lib/lib_discord/resources/application_role_connection_metadata.rb +0 -15
- data/lib/lib_discord/resources/audit_log.rb +0 -11
- data/lib/lib_discord/resources/auto_moderation.rb +0 -27
- data/lib/lib_discord/resources/channel.rb +0 -168
- data/lib/lib_discord/resources/emoji.rb +0 -27
- data/lib/lib_discord/resources/guild.rb +0 -196
- data/lib/lib_discord/resources/guild_scheduled_event.rb +0 -31
- data/lib/lib_discord/resources/guild_template.rb +0 -35
- data/lib/lib_discord/resources/interaction.rb +0 -39
- data/lib/lib_discord/resources/invite.rb +0 -15
- data/lib/lib_discord/resources/stage_instance.rb +0 -23
- data/lib/lib_discord/resources/sticker.rb +0 -35
- data/lib/lib_discord/resources/user.rb +0 -51
- data/lib/lib_discord/resources/voice.rb +0 -11
- data/lib/lib_discord/resources/webhook.rb +0 -67
- data/lib/lib_discord/resources.rb +0 -19
@@ -0,0 +1,174 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "lib_discord/resource"
|
4
|
+
|
5
|
+
module LibDiscord
|
6
|
+
##
|
7
|
+
# Users Resource
|
8
|
+
#
|
9
|
+
# Do not instantiate a {User} directly. Instead request one from an instance
|
10
|
+
# of {Client}.
|
11
|
+
#
|
12
|
+
# client = LibDiscord::Client.new("Bot auth.token")
|
13
|
+
# u = client["user"]
|
14
|
+
#
|
15
|
+
# @see https://discord.com/developers/docs/resources/user Discord
|
16
|
+
# documentation "Users Resource"
|
17
|
+
class User < Resource
|
18
|
+
##
|
19
|
+
# @return [Response]
|
20
|
+
#
|
21
|
+
# @raise [TimeoutError] if the HTTP request times out
|
22
|
+
#
|
23
|
+
# @see https://discord.com/developers/docs/resources/user#get-current-user
|
24
|
+
# Discord documentation "Get Current User"
|
25
|
+
def get_current_user
|
26
|
+
send_request(:get, "/users/@me")
|
27
|
+
end
|
28
|
+
|
29
|
+
##
|
30
|
+
# @param user_id [#to_s]
|
31
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
32
|
+
# documentation "Snowflakes"}
|
33
|
+
#
|
34
|
+
# @return [Response]
|
35
|
+
#
|
36
|
+
# @raise [TimeoutError] if the HTTP request times out
|
37
|
+
#
|
38
|
+
# @see https://discord.com/developers/docs/resources/user#get-user Discord
|
39
|
+
# documentation "Get User"
|
40
|
+
def get_user(user_id:)
|
41
|
+
send_request(:get, "/users/#{user_id}")
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# @param json [Hash] JSON serializable payload
|
46
|
+
#
|
47
|
+
# @return [Response]
|
48
|
+
#
|
49
|
+
# @raise [TimeoutError] if the HTTP request times out
|
50
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
51
|
+
#
|
52
|
+
# @see https://discord.com/developers/docs/resources/user#modify-current-user
|
53
|
+
# Discord documentation "Modify Current User"
|
54
|
+
def modify_current_user(json:)
|
55
|
+
send_request(:patch, "/users/@me", json:)
|
56
|
+
end
|
57
|
+
|
58
|
+
##
|
59
|
+
# @param params [Hash] optional HTTP query parameters
|
60
|
+
#
|
61
|
+
# @return [Response]
|
62
|
+
#
|
63
|
+
# @raise [TimeoutError] if the HTTP request times out
|
64
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
65
|
+
# parameters string
|
66
|
+
#
|
67
|
+
# @see https://discord.com/developers/docs/resources/user#get-current-user-guilds
|
68
|
+
# Discord documentation "Get Current User Guilds"
|
69
|
+
def get_current_user_guilds(params: {})
|
70
|
+
send_request(:get, "/users/@me/guilds", params:)
|
71
|
+
end
|
72
|
+
|
73
|
+
##
|
74
|
+
# @param guild_id [#to_s]
|
75
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
76
|
+
# documentation "Snowflakes"}
|
77
|
+
#
|
78
|
+
# @return [Response]
|
79
|
+
#
|
80
|
+
# @raise [TimeoutError] if the HTTP request times out
|
81
|
+
#
|
82
|
+
# @see https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
83
|
+
# Discord documentation "Get Current User Guild Member"
|
84
|
+
def get_current_user_guild_member(guild_id:)
|
85
|
+
send_request(:get, "/users/@me/guilds/#{guild_id}/member")
|
86
|
+
end
|
87
|
+
|
88
|
+
##
|
89
|
+
# @param guild_id [#to_s]
|
90
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
91
|
+
# documentation "Snowflakes"}
|
92
|
+
#
|
93
|
+
# @return [Response]
|
94
|
+
#
|
95
|
+
# @raise [TimeoutError] if the HTTP request times out
|
96
|
+
#
|
97
|
+
# @see https://discord.com/developers/docs/resources/user#leave-guild
|
98
|
+
# Discord documentation "Leave Guild"
|
99
|
+
def leave_guild(guild_id:)
|
100
|
+
send_request(:delete, "/users/@me/guilds/#{guild_id}")
|
101
|
+
end
|
102
|
+
|
103
|
+
##
|
104
|
+
# @param json [Hash] JSON serializable payload
|
105
|
+
#
|
106
|
+
# @return [Response]
|
107
|
+
#
|
108
|
+
# @raise [TimeoutError] if the HTTP request times out
|
109
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
110
|
+
#
|
111
|
+
# @see https://discord.com/developers/docs/resources/user#create-dm Discord
|
112
|
+
# documentation "Create DM"
|
113
|
+
def create_dm(json:)
|
114
|
+
send_request(:post, "/users/@me/channels", json:)
|
115
|
+
end
|
116
|
+
|
117
|
+
##
|
118
|
+
# @param json [Hash] JSON serializable payload
|
119
|
+
#
|
120
|
+
# @return [Response]
|
121
|
+
#
|
122
|
+
# @raise [TimeoutError] if the HTTP request times out
|
123
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
124
|
+
#
|
125
|
+
# @see https://discord.com/developers/docs/resources/user#create-group-dm
|
126
|
+
# Discord documentation "Create Group DM"
|
127
|
+
def create_group_dm(json:)
|
128
|
+
send_request(:post, "/users/@me/channels", json:)
|
129
|
+
end
|
130
|
+
|
131
|
+
##
|
132
|
+
# @return [Response]
|
133
|
+
#
|
134
|
+
# @raise [TimeoutError] if the HTTP request times out
|
135
|
+
#
|
136
|
+
# @see https://discord.com/developers/docs/resources/user#get-current-user-connections
|
137
|
+
# Discord documentation "Get Current User Connections"
|
138
|
+
def get_current_user_connections
|
139
|
+
send_request(:get, "/users/@me/connections")
|
140
|
+
end
|
141
|
+
|
142
|
+
##
|
143
|
+
# @param application_id [#to_s]
|
144
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
145
|
+
# documentation "Snowflakes"}
|
146
|
+
#
|
147
|
+
# @return [Response]
|
148
|
+
#
|
149
|
+
# @raise [TimeoutError] if the HTTP request times out
|
150
|
+
#
|
151
|
+
# @see https://discord.com/developers/docs/resources/user#get-current-user-application-role-connection
|
152
|
+
# Discord documentation "Get Current User Application Role Connection"
|
153
|
+
def get_current_user_application_role_connection(application_id:)
|
154
|
+
send_request(:get, "/users/@me/applications/#{application_id}/role-connections")
|
155
|
+
end
|
156
|
+
|
157
|
+
##
|
158
|
+
# @param application_id [#to_s]
|
159
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
160
|
+
# documentation "Snowflakes"}
|
161
|
+
# @param json [Hash] JSON serializable payload
|
162
|
+
#
|
163
|
+
# @return [Response]
|
164
|
+
#
|
165
|
+
# @raise [TimeoutError] if the HTTP request times out
|
166
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
167
|
+
#
|
168
|
+
# @see https://discord.com/developers/docs/resources/user#update-current-user-application-role-connection
|
169
|
+
# Discord documentation "Update Current User Application Role Connection"
|
170
|
+
def update_current_user_application_role_connection(application_id:, json:)
|
171
|
+
send_request(:put, "/users/@me/applications/#{application_id}/role-connection", json:)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
data/lib/lib_discord/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "lib_discord/resource"
|
4
|
+
|
5
|
+
module LibDiscord
|
6
|
+
##
|
7
|
+
# Voice Resource
|
8
|
+
#
|
9
|
+
# Do not instantiate a {Voice} directly. Instead request one from an instance
|
10
|
+
# of {Client}.
|
11
|
+
#
|
12
|
+
# client = LibDiscord::Client.new("Bot auth.token")
|
13
|
+
# v = client["voice"]
|
14
|
+
#
|
15
|
+
# @see https://discord.com/developers/docs/resources/voice Discord
|
16
|
+
# documentation "Voice Resource"
|
17
|
+
class Voice < Resource
|
18
|
+
##
|
19
|
+
# @return [Response]
|
20
|
+
#
|
21
|
+
# @raise [TimeoutError] if the HTTP request times out
|
22
|
+
#
|
23
|
+
# @see https://discord.com/developers/docs/resources/voice#list-voice-regions
|
24
|
+
# Discord documentation "List Voice Regions"
|
25
|
+
def list_voice_regions
|
26
|
+
send_request(:get, "/voice/regions")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,299 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "lib_discord/resource"
|
4
|
+
|
5
|
+
module LibDiscord
|
6
|
+
##
|
7
|
+
# Webhook Resource
|
8
|
+
#
|
9
|
+
# Do not instantiate a {Webhook} directly. Instead request one from an
|
10
|
+
# instance of {Client}.
|
11
|
+
#
|
12
|
+
# client = LibDiscord::Client.new("Bot auth.token")
|
13
|
+
# w = client["webhook"]
|
14
|
+
#
|
15
|
+
# @see https://discord.com/developers/docs/resources/webhook Discord
|
16
|
+
# documentation "Webhook Resource"
|
17
|
+
class Webhook < Resource
|
18
|
+
##
|
19
|
+
# @param channel_id [#to_s]
|
20
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
21
|
+
# documentation "Snowflakes"}
|
22
|
+
# @param json [Hash] JSON serializable payload
|
23
|
+
#
|
24
|
+
# @return [Response]
|
25
|
+
#
|
26
|
+
# @raise [TimeoutError] if the HTTP request times out
|
27
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
28
|
+
#
|
29
|
+
# @see https://discord.com/developers/docs/resources/webhook#create-webhook
|
30
|
+
# Discord documentation "Create Webhook"
|
31
|
+
def create_webhook(channel_id:, json:)
|
32
|
+
send_request(:post, "/channels/#{channel_id}/webhooks", json:)
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# @param channel_id [#to_s]
|
37
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
38
|
+
# documentation "Snowflakes"}
|
39
|
+
#
|
40
|
+
# @return [Response]
|
41
|
+
#
|
42
|
+
# @raise [TimeoutError] if the HTTP request times out
|
43
|
+
#
|
44
|
+
# @see https://discord.com/developers/docs/resources/webhook#get-channel-webhooks
|
45
|
+
# Discord documentation "Get Channel Webhooks"
|
46
|
+
def get_channel_webhooks(channel_id:)
|
47
|
+
send_request(:get, "/channels/#{channel_id}/webhooks")
|
48
|
+
end
|
49
|
+
|
50
|
+
##
|
51
|
+
# @param guild_id [#to_s]
|
52
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
53
|
+
# documentation "Snowflakes"}
|
54
|
+
#
|
55
|
+
# @return [Response]
|
56
|
+
#
|
57
|
+
# @raise [TimeoutError] if the HTTP request times out
|
58
|
+
#
|
59
|
+
# @see https://discord.com/developers/docs/resources/webhook#get-guild-webhooks
|
60
|
+
# Discord documentation "Get Guild Webhooks"
|
61
|
+
def get_guild_webhooks(guild_id:)
|
62
|
+
send_request(:get, "/guilds/#{guild_id}/webhooks")
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# @param webhook_id [#to_s]
|
67
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
68
|
+
# documentation "Snowflakes"}
|
69
|
+
#
|
70
|
+
# @return [Response]
|
71
|
+
#
|
72
|
+
# @raise [TimeoutError] if the HTTP request times out
|
73
|
+
#
|
74
|
+
# @see https://discord.com/developers/docs/resources/webhook#get-webhook
|
75
|
+
# Discord documentation "Get Webhook"
|
76
|
+
def get_webhook(webhook_id:)
|
77
|
+
send_request(:get, "/webhooks/#{webhook_id}")
|
78
|
+
end
|
79
|
+
|
80
|
+
##
|
81
|
+
# @param webhook_id [#to_s]
|
82
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
83
|
+
# documentation "Snowflakes"}
|
84
|
+
# @param webhook_token [#to_s]
|
85
|
+
#
|
86
|
+
# @return [Response]
|
87
|
+
#
|
88
|
+
# @raise [TimeoutError] if the HTTP request times out
|
89
|
+
#
|
90
|
+
# @see https://discord.com/developers/docs/resources/webhook#get-webhook-with-token
|
91
|
+
# Discord documentation "Get Webhook with Token"
|
92
|
+
def get_webhook_with_token(webhook_id:, webhook_token:)
|
93
|
+
send_request(
|
94
|
+
:get,
|
95
|
+
"/webhooks/#{webhook_id}/#{webhook_token}",
|
96
|
+
http_client: client
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
##
|
101
|
+
# @param webhook_id [#to_s]
|
102
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
103
|
+
# documentation "Snowflakes"}
|
104
|
+
# @param json [Hash] JSON serializable payload
|
105
|
+
#
|
106
|
+
# @return [Response]
|
107
|
+
#
|
108
|
+
# @raise [TimeoutError] if the HTTP request times out
|
109
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
110
|
+
#
|
111
|
+
# @see https://discord.com/developers/docs/resources/webhook#modify-webhook
|
112
|
+
# Discord documentation "Modify Webhook"
|
113
|
+
def modify_webhook(webhook_id:, json:)
|
114
|
+
send_request(:patch, "/webhooks/#{webhook_id}", json:)
|
115
|
+
end
|
116
|
+
|
117
|
+
##
|
118
|
+
# @param webhook_id [#to_s]
|
119
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
120
|
+
# documentation "Snowflakes"}
|
121
|
+
# @param webhook_token [#to_s]
|
122
|
+
# @param json [Hash] JSON serializable payload
|
123
|
+
#
|
124
|
+
# @return [Response]
|
125
|
+
#
|
126
|
+
# @raise [TimeoutError] if the HTTP request times out
|
127
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
128
|
+
#
|
129
|
+
# @see https://discord.com/developers/docs/resources/webhook#modify-webhook-with-token
|
130
|
+
# Discord documentation "Modify Webhook with Token"
|
131
|
+
def modify_webhook_with_token(webhook_id:, webhook_token:, json:)
|
132
|
+
send_request(
|
133
|
+
:patch,
|
134
|
+
"/webhooks/#{webhook_id}/#{webhook_token}",
|
135
|
+
json:,
|
136
|
+
http_client: client
|
137
|
+
)
|
138
|
+
end
|
139
|
+
|
140
|
+
##
|
141
|
+
# @param webhook_id [#to_s]
|
142
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
143
|
+
# documentation "Snowflakes"}
|
144
|
+
#
|
145
|
+
# @return [Response]
|
146
|
+
#
|
147
|
+
# @raise [TimeoutError] if the HTTP request times out
|
148
|
+
#
|
149
|
+
# @see https://discord.com/developers/docs/resources/webhook#delete-webhook
|
150
|
+
# Discord documentation "Delete Webhook"
|
151
|
+
def delete_webhook(webhook_id:)
|
152
|
+
send_request(:delete, "/webhooks/#{webhook_id}")
|
153
|
+
end
|
154
|
+
|
155
|
+
##
|
156
|
+
# @param webhook_id [#to_s]
|
157
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
158
|
+
# documentation "Snowflakes"}
|
159
|
+
# @param webhook_token [#to_s]
|
160
|
+
#
|
161
|
+
# @return [Response]
|
162
|
+
#
|
163
|
+
# @raise [TimeoutError] if the HTTP request times out
|
164
|
+
#
|
165
|
+
# @see https://discord.com/developers/docs/resources/webhook#delete-webhook-with-token
|
166
|
+
# Discord documentation "Delete Webhook with Token"
|
167
|
+
def delete_webhook_with_token(webhook_id:, webhook_token:)
|
168
|
+
send_request(
|
169
|
+
:delete,
|
170
|
+
"/webhooks/#{webhook_id}/#{webhook_token}",
|
171
|
+
http_client: client
|
172
|
+
)
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# @param webhook_id [#to_s]
|
177
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
178
|
+
# documentation "Snowflakes"}
|
179
|
+
# @param webhook_token [#to_s]
|
180
|
+
# @param json [Hash] JSON serializable payload
|
181
|
+
# @param params [Hash] optional HTTP query parameters
|
182
|
+
#
|
183
|
+
# @return [Response]
|
184
|
+
#
|
185
|
+
# @raise [TimeoutError] if the HTTP request times out
|
186
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
187
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
188
|
+
# parameters string
|
189
|
+
#
|
190
|
+
# @see https://discord.com/developers/docs/resources/webhook#execute-webhook
|
191
|
+
# Discord documentation "Execute Webhook"
|
192
|
+
def execute_webhook(webhook_id:, webhook_token:, json:, params: {})
|
193
|
+
send_request(:post, "/webhooks/#{webhook_id}/#{webhook_token}", json:, params:)
|
194
|
+
end
|
195
|
+
|
196
|
+
##
|
197
|
+
# @param webhook_id [#to_s]
|
198
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
199
|
+
# documentation "Snowflakes"}
|
200
|
+
# @param webhook_token [#to_s]
|
201
|
+
# @param params [Hash] optional HTTP query parameters
|
202
|
+
#
|
203
|
+
# @return [Response]
|
204
|
+
#
|
205
|
+
# @raise [TimeoutError] if the HTTP request times out
|
206
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
207
|
+
# parameters string
|
208
|
+
#
|
209
|
+
# @see https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook
|
210
|
+
# Discord documentation "Execute Slack-Compatible Webhook"
|
211
|
+
def execute_slack_compatible_webhook(webhook_id:, webhook_token:, params: {})
|
212
|
+
send_request(:post, "/webhooks/#{webhook_id}/#{webhook_token}/slack", params:)
|
213
|
+
end
|
214
|
+
|
215
|
+
##
|
216
|
+
# @param webhook_id [#to_s]
|
217
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
218
|
+
# documentation "Snowflakes"}
|
219
|
+
# @param webhook_token [#to_s]
|
220
|
+
# @param params [Hash] optional HTTP query parameters
|
221
|
+
#
|
222
|
+
# @return [Response]
|
223
|
+
#
|
224
|
+
# @raise [TimeoutError] if the HTTP request times out
|
225
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
226
|
+
# parameters string
|
227
|
+
#
|
228
|
+
# @see https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook
|
229
|
+
# Discord documentation "Execute GitHub-Compatible Webhook
|
230
|
+
def execute_github_compatible_webhook(webhook_id:, webhook_token:, params: {})
|
231
|
+
send_request(:post, "/webhooks/#{webhook_id}/#{webhook_token}/github", params:)
|
232
|
+
end
|
233
|
+
|
234
|
+
##
|
235
|
+
# @param webhook_id [#to_s]
|
236
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
237
|
+
# documentation "Snowflakes"}
|
238
|
+
# @param webhook_token [#to_s]
|
239
|
+
# @param message_id [#to_s]
|
240
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
241
|
+
# documentation "Snowflakes"}
|
242
|
+
# @param params [Hash] optional HTTP query parameters
|
243
|
+
#
|
244
|
+
# @return [Response]
|
245
|
+
#
|
246
|
+
# @raise [TimeoutError] if the HTTP request times out
|
247
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
248
|
+
# parameters string
|
249
|
+
#
|
250
|
+
# @see https://discord.com/developers/docs/resources/webhook#get-webhook-message
|
251
|
+
# Discord documentation "Get Webhook Message"
|
252
|
+
def get_webhook_message(webhook_id:, webhook_token:, message_id:, params: {})
|
253
|
+
send_request(:get, "/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}", params:)
|
254
|
+
end
|
255
|
+
|
256
|
+
##
|
257
|
+
# @param webhook_id [#to_s]
|
258
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
259
|
+
# documentation "Snowflakes"}
|
260
|
+
# @param webhook_token [#to_s]
|
261
|
+
# @param message_id [#to_s]
|
262
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
263
|
+
# documentation "Snowflakes"}
|
264
|
+
# @param json [Hash] JSON serializable payload
|
265
|
+
# @param params [Hash] optional HTTP query parameters
|
266
|
+
#
|
267
|
+
# @return [Response]
|
268
|
+
#
|
269
|
+
# @raise [TimeoutError] if the HTTP request times out
|
270
|
+
# @raise [ConstraintError] if +json+ cannot be serialized to JSON
|
271
|
+
# @raise [ConstraintError] if +params+ cannot be coerced into a valid query
|
272
|
+
# parameters string
|
273
|
+
#
|
274
|
+
# @see https://discord.com/developers/docs/resources/webhook#edit-webhook-message
|
275
|
+
# Discord documentation "Edit Webhook Message"
|
276
|
+
def edit_webhook_message(webhook_id:, webhook_token:, message_id:, json:, params: {})
|
277
|
+
send_request(:patch, "/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}", json:, params:)
|
278
|
+
end
|
279
|
+
|
280
|
+
##
|
281
|
+
# @param webhook_id [#to_s]
|
282
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
283
|
+
# documentation "Snowflakes"}
|
284
|
+
# @param webhook_token [#to_s]
|
285
|
+
# @param message_id [#to_s]
|
286
|
+
# {https://discord.com/developers/docs/reference#snowflakes Discord
|
287
|
+
# documentation "Snowflakes"}
|
288
|
+
#
|
289
|
+
# @return [Response]
|
290
|
+
#
|
291
|
+
# @raise [TimeoutError] if the HTTP request times out
|
292
|
+
#
|
293
|
+
# @see https://discord.com/developers/docs/resources/webhook#delete-webhook-message
|
294
|
+
# Discord documentation "Delete Webhook Message"
|
295
|
+
def delete_webhook_message(webhook_id:, webhook_token:, message_id:)
|
296
|
+
send_request(:delete, "/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}")
|
297
|
+
end
|
298
|
+
end
|
299
|
+
end
|
data/lib/lib_discord.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lib_discord
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Price
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-container
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.11'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dry-struct
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.6'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.6'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: dry-types
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,31 +74,74 @@ extensions: []
|
|
60
74
|
extra_rdoc_files: []
|
61
75
|
files:
|
62
76
|
- lib/lib_discord.rb
|
77
|
+
- lib/lib_discord/application.rb
|
78
|
+
- lib/lib_discord/application_command.rb
|
79
|
+
- lib/lib_discord/application_role_connection_metadata.rb
|
80
|
+
- lib/lib_discord/audit_log.rb
|
81
|
+
- lib/lib_discord/auto_moderation.rb
|
82
|
+
- lib/lib_discord/channel.rb
|
63
83
|
- lib/lib_discord/client.rb
|
84
|
+
- lib/lib_discord/emoji.rb
|
64
85
|
- lib/lib_discord/errors.rb
|
86
|
+
- lib/lib_discord/guild.rb
|
87
|
+
- lib/lib_discord/guild_scheduled_event.rb
|
88
|
+
- lib/lib_discord/guild_template.rb
|
89
|
+
- lib/lib_discord/interaction.rb
|
90
|
+
- lib/lib_discord/invite.rb
|
91
|
+
- lib/lib_discord/mappers.rb
|
92
|
+
- lib/lib_discord/mappers/application_command_option_types.rb
|
93
|
+
- lib/lib_discord/mappers/application_command_permission_types.rb
|
94
|
+
- lib/lib_discord/mappers/application_command_types.rb
|
95
|
+
- lib/lib_discord/mappers/application_integration_types.rb
|
96
|
+
- lib/lib_discord/mappers/application_role_connection_metadata_types.rb
|
97
|
+
- lib/lib_discord/mappers/audit_log_events.rb
|
98
|
+
- lib/lib_discord/mappers/auto_moderation_action_types.rb
|
99
|
+
- lib/lib_discord/mappers/auto_moderation_event_types.rb
|
100
|
+
- lib/lib_discord/mappers/auto_moderation_keyword_preset_types.rb
|
101
|
+
- lib/lib_discord/mappers/auto_moderation_trigger_types.rb
|
102
|
+
- lib/lib_discord/mappers/channel_forum_layout_types.rb
|
103
|
+
- lib/lib_discord/mappers/channel_message_activity_types.rb
|
104
|
+
- lib/lib_discord/mappers/channel_message_types.rb
|
105
|
+
- lib/lib_discord/mappers/channel_sort_order_types.rb
|
106
|
+
- lib/lib_discord/mappers/channel_types.rb
|
107
|
+
- lib/lib_discord/mappers/channel_video_quality_modes.rb
|
108
|
+
- lib/lib_discord/mappers/guild_default_message_notification_levels.rb
|
109
|
+
- lib/lib_discord/mappers/guild_explicit_content_filter_levels.rb
|
110
|
+
- lib/lib_discord/mappers/guild_integration_expire_behaviors.rb
|
111
|
+
- lib/lib_discord/mappers/guild_mfa_levels.rb
|
112
|
+
- lib/lib_discord/mappers/guild_nsfw_levels.rb
|
113
|
+
- lib/lib_discord/mappers/guild_onboarding_modes.rb
|
114
|
+
- lib/lib_discord/mappers/guild_premium_tiers.rb
|
115
|
+
- lib/lib_discord/mappers/guild_prompt_types.rb
|
116
|
+
- lib/lib_discord/mappers/guild_scheduled_event_entity_types.rb
|
117
|
+
- lib/lib_discord/mappers/guild_scheduled_event_privacy_levels.rb
|
118
|
+
- lib/lib_discord/mappers/guild_scheduled_event_statuses.rb
|
119
|
+
- lib/lib_discord/mappers/guild_verification_levels.rb
|
120
|
+
- lib/lib_discord/mappers/interaction_callback_types.rb
|
121
|
+
- lib/lib_discord/mappers/interaction_context_types.rb
|
122
|
+
- lib/lib_discord/mappers/interaction_types.rb
|
123
|
+
- lib/lib_discord/mappers/invite_target_types.rb
|
124
|
+
- lib/lib_discord/mappers/message_component_button_styles.rb
|
125
|
+
- lib/lib_discord/mappers/message_component_text_input_styles.rb
|
126
|
+
- lib/lib_discord/mappers/message_component_types.rb
|
127
|
+
- lib/lib_discord/mappers/poll_layout_types.rb
|
128
|
+
- lib/lib_discord/mappers/stage_instance_privacy_levels.rb
|
129
|
+
- lib/lib_discord/mappers/sticker_format_types.rb
|
130
|
+
- lib/lib_discord/mappers/sticker_types.rb
|
131
|
+
- lib/lib_discord/mappers/user_premium_types.rb
|
132
|
+
- lib/lib_discord/mappers/user_visibility_types.rb
|
133
|
+
- lib/lib_discord/mappers/webhooks_types.rb
|
134
|
+
- lib/lib_discord/poll.rb
|
65
135
|
- lib/lib_discord/resource.rb
|
66
|
-
- lib/lib_discord/resources.rb
|
67
|
-
- lib/lib_discord/resources/application.rb
|
68
|
-
- lib/lib_discord/resources/application_command.rb
|
69
|
-
- lib/lib_discord/resources/application_role_connection_metadata.rb
|
70
|
-
- lib/lib_discord/resources/audit_log.rb
|
71
|
-
- lib/lib_discord/resources/auto_moderation.rb
|
72
|
-
- lib/lib_discord/resources/channel.rb
|
73
|
-
- lib/lib_discord/resources/emoji.rb
|
74
|
-
- lib/lib_discord/resources/guild.rb
|
75
|
-
- lib/lib_discord/resources/guild_scheduled_event.rb
|
76
|
-
- lib/lib_discord/resources/guild_template.rb
|
77
|
-
- lib/lib_discord/resources/interaction.rb
|
78
|
-
- lib/lib_discord/resources/invite.rb
|
79
|
-
- lib/lib_discord/resources/stage_instance.rb
|
80
|
-
- lib/lib_discord/resources/sticker.rb
|
81
|
-
- lib/lib_discord/resources/user.rb
|
82
|
-
- lib/lib_discord/resources/voice.rb
|
83
|
-
- lib/lib_discord/resources/webhook.rb
|
84
136
|
- lib/lib_discord/response.rb
|
137
|
+
- lib/lib_discord/stage_instance.rb
|
138
|
+
- lib/lib_discord/sticker.rb
|
85
139
|
- lib/lib_discord/types.rb
|
86
140
|
- lib/lib_discord/urls.rb
|
141
|
+
- lib/lib_discord/user.rb
|
87
142
|
- lib/lib_discord/version.rb
|
143
|
+
- lib/lib_discord/voice.rb
|
144
|
+
- lib/lib_discord/webhook.rb
|
88
145
|
homepage:
|
89
146
|
licenses:
|
90
147
|
- AGPL-3.0-only
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "lib_discord/resource"
|
4
|
-
|
5
|
-
module LibDiscord
|
6
|
-
class Application < Resource
|
7
|
-
def get_current_application
|
8
|
-
send_request(:get, "/applications/@me")
|
9
|
-
end
|
10
|
-
|
11
|
-
def edit_current_application(json:)
|
12
|
-
send_request(:patch, "/applications/@me", json:)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|