Class: LibDiscord::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/lib_discord/client.rb

Overview

You will mainly be interacting with instances of this class when using lib_discord to access Discord’s web API. Initialize a client and cache it for as long as you need to make requests to Discord using a given authorization header.

require "lib_discord"
client = LibDiscord::Client.new("Bot my.amazing.token")

Instance Method Summary collapse

Constructor Details

#initialize(auth = nil, user_agent: "LibDiscord (#{LibDiscord::PROJECT_URL}, #{LibDiscord.version})", logger: nil) ⇒ self

Examples:

hook in your own logger and app-specific user-agent

client = LibDiscord::Client.new(
  "Bot my.token",
  user_agent: "MyApp (https://example.myapp.com, 1.2.3)",
  logger: my_logger
)

Suppress all stdout logger output.

client = LibDiscord::Client.new(
  "Bot my.token",
  logger: Logger.new("/dev/null")
)

Make a request to a public endpoint.

client = LibDiscord::Client.new
client.get_gateway # => LibDiscord::Response

Parameters:

  • auth (String) (defaults to: nil)

    Authorization header value to be used in communication with Discord. In the format Bot <token> or Bearer <token>. If you intend only to make requests to unauthenticated endpoints, auth is not necessary.

  • user_agent (String) (defaults to: "LibDiscord (#{LibDiscord::PROJECT_URL}, #{LibDiscord.version})")

    User-Agent header value to use in requests to Discord.

  • logger (#debug, #info, #warn, #error, #fatal) (defaults to: nil)

    Logger to use for output messages. If not provided, a basic INFO-level $stdout logger is created for internal use ( l = Logger.new($stdout); l.level = :info ). CAUTION: a DEBUG level logger in production will leak sensitive data including authorization headers.

See Also:



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/lib_discord/client.rb', line 61

def initialize(
  auth = nil,
  user_agent: "LibDiscord (#{LibDiscord::PROJECT_URL}, #{LibDiscord.version})",
  logger: nil
)
  @default_headers = {
    "User-Agent" => user_agent,
    "Authorization" => auth
  }.compact

  @logger = logger
  unless @logger
    @logger = Logger.new($stdout)
    @logger.level = :info
  end
end

Instance Method Details

#add_guild_member(guild_id, user_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • body (#to_json)

    Request body

Returns:

See Also:



1293
1294
1295
# File 'lib/lib_discord/client.rb', line 1293

def add_guild_member(guild_id, user_id, body)
  json_request(:put, discord("/guilds/#{guild_id}/members/#{user_id}"), body:)
end

#add_guild_member_role(guild_id, user_id, role_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • role_id (#to_s)

    Role ID

Returns:

See Also:



1341
1342
1343
# File 'lib/lib_discord/client.rb', line 1341

def add_guild_member_role(guild_id, user_id, role_id)
  json_request(:put, discord("/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}"))
end

#add_member_to_lobby(lobby_id, user_id, body = "") ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

  • user_id (#to_s)

    User ID

  • body (#to_json) (defaults to: "")

    Request body

Returns:

See Also:



1747
1748
1749
# File 'lib/lib_discord/client.rb', line 1747

def add_member_to_lobby(lobby_id, user_id, body = "")
  json_request(:put, discord("/lobbies/#{lobby_id}/members/#{user_id}"), body:)
end

#add_thread_member(channel_id, user_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



748
749
750
# File 'lib/lib_discord/client.rb', line 748

def add_thread_member(channel_id, user_id)
  json_request(:put, discord("/channels/#{channel_id}/thread-members/#{user_id}"))
end

#batch_edit_application_command_permissions(application_id, guild_id, body) ⇒ Response

Deprecated.

This endpoint has been disabled with updates to command permissions (Permissions v2). Instead, you can edit each application command permissions (though you should be careful to handle any potential rate limits).

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



378
379
380
# File 'lib/lib_discord/client.rb', line 378

def batch_edit_application_command_permissions(application_id, guild_id, body)
  json_request(:put, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/permissions"), body:)
end

#begin_guild_prune(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1519
1520
1521
# File 'lib/lib_discord/client.rb', line 1519

def begin_guild_prune(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/prune"), body:)
end

#bulk_delete_messages(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



1945
1946
1947
# File 'lib/lib_discord/client.rb', line 1945

def bulk_delete_messages(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/messages/bulk-delete"), body:)
end

#bulk_guild_ban(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1420
1421
1422
# File 'lib/lib_discord/client.rb', line 1420

def bulk_guild_ban(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/bulk-ban"), body:)
end

#bulk_overwrite_global_application_commands(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • body (#to_json)

    Request body

Returns:

See Also:



250
251
252
# File 'lib/lib_discord/client.rb', line 250

def bulk_overwrite_global_application_commands(application_id, body)
  json_request(:put, discord("/applications/#{application_id}/commands"), body:)
end

#bulk_overwrite_guild_application_commands(application_id, guild_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



323
324
325
# File 'lib/lib_discord/client.rb', line 323

def bulk_overwrite_guild_application_commands(application_id, guild_id, body)
  json_request(:put, discord("/applications/#{application_id}/guilds/#{guild_id}/commands"), body:)
end

#consume_entitlement(application_id, entitlement_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • entitlement_id (#to_s)

    Entitlement ID

Returns:

See Also:



976
977
978
# File 'lib/lib_discord/client.rb', line 976

def consume_entitlement(application_id, entitlement_id)
  json_request(:post, discord("/applications/#{application_id}/entitlements/#{entitlement_id}/consume"))
end

#create_application_emoji(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • body (#to_json)

    Request body

Returns:

See Also:



917
918
919
# File 'lib/lib_discord/client.rb', line 917

def create_application_emoji(application_id, body)
  json_request(:post, discord("/applications/#{application_id}/emojis"), body:)
end

#create_auto_moderation_rule(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



512
513
514
# File 'lib/lib_discord/client.rb', line 512

def create_auto_moderation_rule(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/auto-moderation/rules"), body:)
end

#create_channel_invite(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



606
607
608
# File 'lib/lib_discord/client.rb', line 606

def create_channel_invite(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/invites"), body:)
end

#create_dm(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



2298
2299
2300
# File 'lib/lib_discord/client.rb', line 2298

def create_dm(body)
  json_request(:post, discord("/users/@me/channels"), body:)
end

#create_followup_message(application_id, interaction_token, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

  • body (#to_json)

    Request body

Returns:

See Also:



142
143
144
# File 'lib/lib_discord/client.rb', line 142

def create_followup_message(application_id, interaction_token, body)
  json_request(:post, discord("/webhooks/#{application_id}/#{interaction_token}"), body:)
end

#create_global_application_command(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • body (#to_json)

    Request body

Returns:

See Also:



205
206
207
# File 'lib/lib_discord/client.rb', line 205

def create_global_application_command(application_id, body)
  json_request(:post, discord("/applications/#{application_id}/commands"), body:)
end

#create_group_dm(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



2308
2309
2310
# File 'lib/lib_discord/client.rb', line 2308

def create_group_dm(body)
  json_request(:post, discord("/users/@me/channels"), body:)
end

#create_guild(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



1164
1165
1166
# File 'lib/lib_discord/client.rb', line 1164

def create_guild(body)
  json_request(:post, discord("/guilds"), body:)
end

#create_guild_application_command(application_id, guild_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



274
275
276
# File 'lib/lib_discord/client.rb', line 274

def create_guild_application_command(application_id, guild_id, body)
  json_request(:post, discord("/applications/#{application_id}/guilds/#{guild_id}/commands"), body:)
end

#create_guild_ban(guild_id, user_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • body (#to_json)

    Request body

Returns:

See Also:



1398
1399
1400
# File 'lib/lib_discord/client.rb', line 1398

def create_guild_ban(guild_id, user_id, body)
  json_request(:put, discord("/guilds/#{guild_id}/bans/#{user_id}"), body:)
end

#create_guild_channel(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1227
1228
1229
# File 'lib/lib_discord/client.rb', line 1227

def create_guild_channel(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/channels"), body:)
end

#create_guild_emoji(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



862
863
864
# File 'lib/lib_discord/client.rb', line 862

def create_guild_emoji(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/emojis"), body:)
end

#create_guild_from_guild_template(template_code, body) ⇒ Response

Parameters:

  • template_code (#to_s)

    Template Code

  • body (#to_json)

    Request body

Returns:

See Also:



1095
1096
1097
# File 'lib/lib_discord/client.rb', line 1095

def create_guild_from_guild_template(template_code, body)
  json_request(:post, discord("/guilds/templates/#{template_code}"), body:)
end

#create_guild_role(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1452
1453
1454
# File 'lib/lib_discord/client.rb', line 1452

def create_guild_role(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/roles"), body:)
end

#create_guild_scheduled_event(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1023
1024
1025
# File 'lib/lib_discord/client.rb', line 1023

def create_guild_scheduled_event(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/scheduled-events"), body:)
end

#create_guild_soundboard_sound(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



2043
2044
2045
# File 'lib/lib_discord/client.rb', line 2043

def create_guild_soundboard_sound(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/soundboard-sounds"), body:)
end

#create_guild_sticker(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



2176
2177
2178
# File 'lib/lib_discord/client.rb', line 2176

def create_guild_sticker(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/stickers"), body:)
end

#create_guild_template(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1116
1117
1118
# File 'lib/lib_discord/client.rb', line 1116

def create_guild_template(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/templates"), body:)
end

#create_interaction_response(interaction_id, interaction_token, body) ⇒ Response

Parameters:

  • interaction_id (#to_s)

    Interaction ID

  • interaction_token (#to_s)

    Interaction Token

  • body (#to_json)

    Request body

Returns:

See Also:



96
97
98
# File 'lib/lib_discord/client.rb', line 96

def create_interaction_response(interaction_id, interaction_token, body)
  json_request(:post, discord("/interactions/#{interaction_id}/#{interaction_token}/callback"), body:)
end

#create_lobby(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



1704
1705
1706
# File 'lib/lib_discord/client.rb', line 1704

def create_lobby(body)
  json_request(:post, discord("/lobbies"), body:)
end

#create_message(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



1826
1827
1828
# File 'lib/lib_discord/client.rb', line 1826

def create_message(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/messages"), body:)
end

#create_reaction(channel_id, message_id, emoji) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • emoji (#to_s)

Returns:

See Also:



1850
1851
1852
# File 'lib/lib_discord/client.rb', line 1850

def create_reaction(channel_id, message_id, emoji)
  json_request(:put, discord("/channels/#{channel_id}/messages/#{message_id}/reactions/#{emoji}/@me"))
end

#create_stage_instance(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



2080
2081
2082
# File 'lib/lib_discord/client.rb', line 2080

def create_stage_instance(body)
  json_request(:post, discord("/stage-instances"), body:)
end

#create_test_entitlement(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



986
987
988
# File 'lib/lib_discord/client.rb', line 986

def create_test_entitlement(application_id, body)
  json_request(:post, discord("/applications/#{application_id}/entitlements"), body:)
end

#create_webhook(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



2410
2411
2412
# File 'lib/lib_discord/client.rb', line 2410

def create_webhook(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/webhooks"), body:)
end

#crosspost_message(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



1838
1839
1840
# File 'lib/lib_discord/client.rb', line 1838

def crosspost_message(channel_id, message_id)
  json_request(:post, discord("/channels/#{channel_id}/messages/#{message_id}/crosspost"))
end

#delete_all_reactions(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



1899
1900
1901
# File 'lib/lib_discord/client.rb', line 1899

def delete_all_reactions(channel_id, message_id)
  json_request(:delete, discord("/channels/#{channel_id}/messages/#{message_id}/reactions"))
end

#delete_all_reactions_for_emoji(channel_id, message_id, emoji) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • emoji (#to_s)

Returns:

See Also:



1911
1912
1913
# File 'lib/lib_discord/client.rb', line 1911

def delete_all_reactions_for_emoji(channel_id, message_id, emoji)
  json_request(:delete, discord("/channels/#{channel_id}/messages/#{message_id}/reactions/#{emoji}"))
end

#delete_application_emoji(application_id, emoji_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • emoji_id (#to_s)

    Emoji ID

Returns:

See Also:



940
941
942
# File 'lib/lib_discord/client.rb', line 940

def delete_application_emoji(application_id, emoji_id)
  json_request(:delete, discord("/applications/#{application_id}/emojis/#{emoji_id}"))
end

#delete_auto_moderation_rule(guild_id, auto_moderation_rule_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • auto_moderation_rule_id (#to_s)

    Auto Moderation Rule ID

Returns:

See Also:



535
536
537
# File 'lib/lib_discord/client.rb', line 535

def delete_auto_moderation_rule(guild_id, auto_moderation_rule_id)
  json_request(:delete, discord("/guilds/#{guild_id}/auto-moderation/rules/#{auto_moderation_rule_id}"))
end

#delete_channel(channel_id) ⇒ Response Also known as: close_channel

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



570
571
572
# File 'lib/lib_discord/client.rb', line 570

def delete_channel(channel_id)
  json_request(:delete, discord("/channels/#{channel_id}"))
end

#delete_channel_permission(channel_id, overwrite_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • overwrite_id (#to_s)

    Overwrite ID

Returns:

See Also:



617
618
619
# File 'lib/lib_discord/client.rb', line 617

def delete_channel_permission(channel_id, overwrite_id)
  json_request(:delete, discord("/channels/#{channel_id}/permissions/#{overwrite_id}"))
end

#delete_followup_message(application_id, interaction_token, message_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

  • message_id (#to_s)

    Message ID

Returns:

See Also:



179
180
181
# File 'lib/lib_discord/client.rb', line 179

def delete_followup_message(application_id, interaction_token, message_id)
  json_request(:delete, discord("/webhooks/#{application_id}/#{interaction_token}/messages/#{message_id}"))
end

#delete_global_application_command(application_id, command_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • command_id (#to_s)

    Command ID

Returns:

See Also:



239
240
241
# File 'lib/lib_discord/client.rb', line 239

def delete_global_application_command(application_id, command_id)
  json_request(:delete, discord("/applications/#{application_id}/commands/#{command_id}"))
end

#delete_guild(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1206
1207
1208
# File 'lib/lib_discord/client.rb', line 1206

def delete_guild(guild_id)
  json_request(:delete, discord("/guilds/#{guild_id}"))
end

#delete_guild_application_command(application_id, guild_id, command_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • command_id (#to_s)

    Command ID

Returns:

See Also:



311
312
313
# File 'lib/lib_discord/client.rb', line 311

def delete_guild_application_command(application_id, guild_id, command_id)
  json_request(:delete, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/#{command_id}"))
end

#delete_guild_emoji(guild_id, emoji_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • emoji_id (#to_s)

    Emoji ID

Returns:

See Also:



885
886
887
# File 'lib/lib_discord/client.rb', line 885

def delete_guild_emoji(guild_id, emoji_id)
  json_request(:delete, discord("/guilds/#{guild_id}/emojis/#{emoji_id}"))
end

#delete_guild_integration(guild_id, integration_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • integration_id (#to_s)

    Integration ID

Returns:

See Also:



1560
1561
1562
# File 'lib/lib_discord/client.rb', line 1560

def delete_guild_integration(guild_id, integration_id)
  json_request(:delete, discord("/guilds/#{guild_id}/integrations/#{integration_id}"))
end

#delete_guild_role(guild_id, role_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • role_id (#to_s)

    Role ID

Returns:

See Also:



1497
1498
1499
# File 'lib/lib_discord/client.rb', line 1497

def delete_guild_role(guild_id, role_id)
  json_request(:delete, discord("/guilds/#{guild_id}/roles/#{role_id}"))
end

#delete_guild_scheduled_event(guild_id, guild_scheduled_event_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • guild_scheduled_event_id (#to_s)

    Guild Scheduled Event ID

Returns:

See Also:



1058
1059
1060
# File 'lib/lib_discord/client.rb', line 1058

def delete_guild_scheduled_event(guild_id, guild_scheduled_event_id)
  json_request(:delete, discord("/guilds/#{guild_id}/scheduled-events/#{guild_scheduled_event_id}"))
end

#delete_guild_soundboard_sound(guild_id, sound_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sound_id (#to_s)

    Sound ID

Returns:

See Also:



2066
2067
2068
# File 'lib/lib_discord/client.rb', line 2066

def delete_guild_soundboard_sound(guild_id, sound_id)
  json_request(:delete, discord("/guilds/#{guild_id}/soundboard-sounds/#{sound_id}"))
end

#delete_guild_sticker(guild_id, sticker_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sticker_id (#to_s)

    Sticker ID

Returns:

See Also:



2199
2200
2201
# File 'lib/lib_discord/client.rb', line 2199

def delete_guild_sticker(guild_id, sticker_id)
  json_request(:delete, discord("/guilds/#{guild_id}/stickers/#{sticker_id}"))
end

#delete_guild_template(guild_id, template_code) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • template_code (#to_s)

    Template Code

Returns:

See Also:



1150
1151
1152
# File 'lib/lib_discord/client.rb', line 1150

def delete_guild_template(guild_id, template_code)
  json_request(:delete, discord("/guilds/#{guild_id}/templates/#{template_code}"))
end

#delete_invite(invite_code) ⇒ Response

Parameters:

  • invite_code (#to_s)

    Invite Code

Returns:

See Also:



1690
1691
1692
# File 'lib/lib_discord/client.rb', line 1690

def delete_invite(invite_code)
  json_request(:delete, discord("/invites/#{invite_code}"))
end

#delete_lobby(lobby_id) ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

Returns:

See Also:



1735
1736
1737
# File 'lib/lib_discord/client.rb', line 1735

def delete_lobby(lobby_id)
  json_request(:delete, discord("/lobbies/#{lobby_id}"))
end

#delete_message(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



1934
1935
1936
# File 'lib/lib_discord/client.rb', line 1934

def delete_message(channel_id, message_id)
  json_request(:delete, discord("/channels/#{channel_id}/messages/#{message_id}"))
end

#delete_original_interaction_response(application_id, interaction_token) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

Returns:

See Also:



130
131
132
# File 'lib/lib_discord/client.rb', line 130

def delete_original_interaction_response(application_id, interaction_token)
  json_request(:delete, discord("/webhooks/#{application_id}/#{interaction_token}/messages/@original"))
end

#delete_own_reaction(channel_id, message_id, emoji) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • emoji (#to_s)

    Emoji

Returns:

See Also:



1862
1863
1864
# File 'lib/lib_discord/client.rb', line 1862

def delete_own_reaction(channel_id, message_id, emoji)
  json_request(:delete, discord("/channels/#{channel_id}/messages/#{message_id}/reactions/#{emoji}/@me"))
end

#delete_stage_instance(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



2111
2112
2113
# File 'lib/lib_discord/client.rb', line 2111

def delete_stage_instance(channel_id)
  json_request(:delete, discord("/stage-instances/#{channel_id}"))
end

#delete_test_entitlement(application_id, entitlement_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • entitlement_id (#to_s)

    Entitlement ID

Returns:

See Also:



997
998
999
# File 'lib/lib_discord/client.rb', line 997

def delete_test_entitlement(application_id, entitlement_id)
  json_request(:delete, discord("/applications/#{application_id}/entitlements/#{entitlement_id}"))
end

#delete_user_reaction(channel_id, message_id, emoji, user_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • emoji (#to_s)

    Emoji

  • user_id (#to_s)

    User ID

Returns:

See Also:



1875
1876
1877
# File 'lib/lib_discord/client.rb', line 1875

def delete_user_reaction(channel_id, message_id, emoji, user_id)
  json_request(:delete, discord("/channels/#{channel_id}/messages/#{message_id}/reactions/#{emoji}/#{user_id}"))
end

#delete_webhook(webhook_id) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

Returns:

See Also:



2484
2485
2486
# File 'lib/lib_discord/client.rb', line 2484

def delete_webhook(webhook_id)
  json_request(:delete, discord("/webhooks/#{webhook_id}"))
end

#delete_webhook_message(webhook_id, webhook_token, message_id) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • message_id (#to_s)

    Message ID

Returns:

See Also:



2571
2572
2573
# File 'lib/lib_discord/client.rb', line 2571

def delete_webhook_message(webhook_id, webhook_token, message_id)
  json_request(:delete, discord("/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}"))
end

#delete_webhook_with_token(webhook_id, webhook_token) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

Returns:

See Also:



2495
2496
2497
# File 'lib/lib_discord/client.rb', line 2495

def delete_webhook_with_token(webhook_id, webhook_token)
  json_request(:delete, discord("/webhooks/#{webhook_id}/#{webhook_token}"))
end

#edit_application_command_permissions(application_id, guild_id, command_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • command_id (#to_s)

    Command ID

  • body (#to_json)

    Request body

Returns:

See Also:



359
360
361
# File 'lib/lib_discord/client.rb', line 359

def edit_application_command_permissions(application_id, guild_id, command_id, body)
  json_request(:put, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/#{command_id}/permissions"), body:)
end

#edit_channel_permissions(channel_id, overwrite_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • overwrite_id (#to_s)

    Overwrite ID

  • body (#to_json)

    Request body

Returns:

See Also:



585
586
587
# File 'lib/lib_discord/client.rb', line 585

def edit_channel_permissions(channel_id, overwrite_id, body)
  json_request(:put, discord("/channels/#{channel_id}/permissions/#{overwrite_id}"), body:)
end

#edit_current_application(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



450
451
452
# File 'lib/lib_discord/client.rb', line 450

def edit_current_application(body)
  json_request(:patch, discord("/applications/@me"), body:)
end

#edit_followup_message(application_id, interaction_token, message_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

  • message_id (#to_s)

    Message ID

  • body (#to_json)

    Request body

Returns:

See Also:



167
168
169
# File 'lib/lib_discord/client.rb', line 167

def edit_followup_message(application_id, interaction_token, message_id, body)
  json_request(:patch, discord("/webhooks/#{application_id}/#{interaction_token}/messages/#{message_id}"), body:)
end

#edit_global_application_command(application_id, command_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • command_id (#to_s)

    Command ID

  • body (#to_json)

    Request body

Returns:

See Also:



228
229
230
# File 'lib/lib_discord/client.rb', line 228

def edit_global_application_command(application_id, command_id, body)
  json_request(:patch, discord("/applications/#{application_id}/commands/#{command_id}"), body:)
end

#edit_guild_application_command(application_id, guild_id, command_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • command_id (#to_s)

    Command ID

  • body (#to_json)

    Request body

Returns:

See Also:



299
300
301
# File 'lib/lib_discord/client.rb', line 299

def edit_guild_application_command(application_id, guild_id, command_id, body)
  json_request(:patch, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/#{command_id}"), body:)
end

#edit_message(channel_id, message_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • body (#to_json)

    Request body

Returns:

See Also:



1923
1924
1925
# File 'lib/lib_discord/client.rb', line 1923

def edit_message(channel_id, message_id, body)
  json_request(:patch, discord("/channels/#{channel_id}/messages/#{message_id}"), body:)
end

#edit_original_interaction_response(application_id, interaction_token, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

  • body (#to_json)

    Request body

Returns:

See Also:



119
120
121
# File 'lib/lib_discord/client.rb', line 119

def edit_original_interaction_response(application_id, interaction_token, body)
  json_request(:patch, discord("/webhooks/#{application_id}/#{interaction_token}/messages/@original"), body:)
end

#edit_webhook_message(webhook_id, webhook_token, message_id, body, query = {}) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • message_id (#to_s)

    Message ID

  • body (#to_json)

    Request body

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2559
2560
2561
# File 'lib/lib_discord/client.rb', line 2559

def edit_webhook_message(webhook_id, webhook_token, message_id, body, query = {})
  json_request(:patch, discord("/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}"), body:, query:)
end

#end_poll(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



1973
1974
1975
# File 'lib/lib_discord/client.rb', line 1973

def end_poll(channel_id, message_id)
  json_request(:post, discord("/channels/#{channel_id}/polls/#{message_id}/expire"))
end

#execute_github_compatible_webhook(webhook_id, webhook_token, query = {}) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2532
2533
2534
# File 'lib/lib_discord/client.rb', line 2532

def execute_github_compatible_webhook(webhook_id, webhook_token, query = {})
  json_request(:post, discord("/webhooks/#{webhook_id}/#{webhook_token}/github"), query:)
end

#execute_slack_compatible_webhook(webhook_id, webhook_token, query = {}) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2520
2521
2522
# File 'lib/lib_discord/client.rb', line 2520

def execute_slack_compatible_webhook(webhook_id, webhook_token, query = {})
  json_request(:post, discord("/webhooks/#{webhook_id}/#{webhook_token}/slack"), query:)
end

#execute_webhook(webhook_id, webhook_token, body, query = {}) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • body (#to_json)

    Request body

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2508
2509
2510
# File 'lib/lib_discord/client.rb', line 2508

def execute_webhook(webhook_id, webhook_token, body, query = {})
  json_request(:post, discord("/webhooks/#{webhook_id}/#{webhook_token}"), body:, query:)
end

#follow_announcement_channel(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



628
629
630
# File 'lib/lib_discord/client.rb', line 628

def follow_announcement_channel(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/followers"), body:)
end

#get_answer_voters(channel_id, message_id, answer_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • answer_id (#to_s)

    Answer ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1962
1963
1964
# File 'lib/lib_discord/client.rb', line 1962

def get_answer_voters(channel_id, message_id, answer_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/polls/#{message_id}/answers/#{answer_id}"), query:)
end

#get_application_activity_instance(application_id, instance_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • instance_id (#to_s)

    Activity Instance ID

Returns:

See Also:



461
462
463
# File 'lib/lib_discord/client.rb', line 461

def get_application_activity_instance(application_id, instance_id)
  json_request(:get, discord("/applications/#{application_id}/activity-instances/#{instance_id}"))
end

#get_application_command_permissions(application_id, guild_id, command_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • command_id (#to_s)

    Command ID

Returns:

See Also:



346
347
348
# File 'lib/lib_discord/client.rb', line 346

def get_application_command_permissions(application_id, guild_id, command_id)
  json_request(:get, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/#{command_id}/permissions"))
end

#get_application_emoji(application_id, emoji_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • emoji_id (#to_s)

    Emoji ID

Returns:

See Also:



906
907
908
# File 'lib/lib_discord/client.rb', line 906

def get_application_emoji(application_id, emoji_id)
  json_request(:get, discord("/applications/#{application_id}/emojis/#{emoji_id}"))
end

#get_application_role_connection_metadata_records(application_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



415
416
417
# File 'lib/lib_discord/client.rb', line 415

def (application_id)
  json_request(:get, discord("/applications/#{application_id}/role-connections/metadata"))
end

#get_authorize_url(query = {}) ⇒ URI

Get the URL for starting the OAuth2 Authorization flow.

Parameters:

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

  • (URI)

    OAuth2 Authorization URL, with query parameters added.

See Also:



2624
2625
2626
2627
2628
# File 'lib/lib_discord/client.rb', line 2624

def get_authorize_url(query = {})
  uri = URI(discord("/oauth2/authorize", prefix: ""))
  uri.query = URI.encode_www_form(query)
  uri
end

#get_auto_moderation_rule(guild_id, auto_moderation_rule_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • auto_moderation_rule_id (#to_s)

    Auto Moderation Rule ID

Returns:

See Also:



501
502
503
# File 'lib/lib_discord/client.rb', line 501

def get_auto_moderation_rule(guild_id, auto_moderation_rule_id)
  json_request(:get, discord("/guilds/#{guild_id}/auto-moderation/rules/#{auto_moderation_rule_id}"))
end

#get_channel(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



549
550
551
# File 'lib/lib_discord/client.rb', line 549

def get_channel(channel_id)
  json_request(:get, discord("/channels/#{channel_id}"))
end

#get_channel_invites(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



595
596
597
# File 'lib/lib_discord/client.rb', line 595

def get_channel_invites(channel_id)
  json_request(:get, discord("/channels/#{channel_id}/invites"))
end

#get_channel_message(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



1815
1816
1817
# File 'lib/lib_discord/client.rb', line 1815

def get_channel_message(channel_id, message_id)
  json_request(:get, discord("/channels/#{channel_id}/messages/#{message_id}"))
end

#get_channel_messages(channel_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1804
1805
1806
# File 'lib/lib_discord/client.rb', line 1804

def get_channel_messages(channel_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/messages"), query:)
end

#get_channel_webhooks(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



2420
2421
2422
# File 'lib/lib_discord/client.rb', line 2420

def get_channel_webhooks(channel_id)
  json_request(:get, discord("/channels/#{channel_id}/webhooks"))
end

#get_current_applicationResponse



440
441
442
# File 'lib/lib_discord/client.rb', line 440

def get_current_application
  json_request(:get, discord("/applications/@me"))
end

#get_current_userResponse



2238
2239
2240
# File 'lib/lib_discord/client.rb', line 2238

def get_current_user
  json_request(:get, discord("/users/@me"))
end

#get_current_user_application_role_connection(application_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



2327
2328
2329
# File 'lib/lib_discord/client.rb', line 2327

def get_current_user_application_role_connection(application_id)
  json_request(:get, discord("/users/@me/applications/#{application_id}/role-connections"))
end

#get_current_user_connectionsResponse



2317
2318
2319
# File 'lib/lib_discord/client.rb', line 2317

def get_current_user_connections
  json_request(:get, discord("/users/@me/connections"))
end

#get_current_user_guild_member(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2278
2279
2280
# File 'lib/lib_discord/client.rb', line 2278

def get_current_user_guild_member(guild_id)
  json_request(:get, discord("/users/@me/guilds/#{guild_id}/member"))
end

#get_current_user_guilds(query = {}) ⇒ Response

Parameters:

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2268
2269
2270
# File 'lib/lib_discord/client.rb', line 2268

def get_current_user_guilds(query = {})
  json_request(:get, discord("/users/@me/guilds"), query:)
end

#get_current_user_voice_state(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2361
2362
2363
# File 'lib/lib_discord/client.rb', line 2361

def get_current_user_voice_state(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/voice-states/@me"))
end

#get_entitlement(application_id, entitlement_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • entitlement_id (#to_s)

    Entitlement ID

Returns:

See Also:



965
966
967
# File 'lib/lib_discord/client.rb', line 965

def get_entitlement(application_id, entitlement_id)
  json_request(:get, discord("/applications/#{application_id}/entitlements/#{entitlement_id}"))
end

#get_followup_message(application_id, interaction_token, message_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

  • message_id (#to_s)

    Message ID

Returns:

See Also:



154
155
156
# File 'lib/lib_discord/client.rb', line 154

def get_followup_message(application_id, interaction_token, message_id)
  json_request(:get, discord("/webhooks/#{application_id}/#{interaction_token}/messages/#{message_id}"))
end

#get_gatewayResponse



391
392
393
# File 'lib/lib_discord/client.rb', line 391

def get_gateway
  json_request(:get, discord("/gateway"))
end

#get_gateway_botResponse



400
401
402
# File 'lib/lib_discord/client.rb', line 400

def get_gateway_bot
  json_request(:get, discord("/gateway/bot"))
end

#get_global_application_command(application_id, command_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • command_id (#to_s)

    Command ID

Returns:

See Also:



216
217
218
# File 'lib/lib_discord/client.rb', line 216

def get_global_application_command(application_id, command_id)
  json_request(:get, discord("/applications/#{application_id}/commands/#{command_id}"))
end

#get_global_application_commands(application_id, query = {}) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



194
195
196
# File 'lib/lib_discord/client.rb', line 194

def get_global_application_commands(application_id, query = {})
  json_request(:get, discord("/applications/#{application_id}/commands"), query:)
end

#get_guild(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1175
1176
1177
# File 'lib/lib_discord/client.rb', line 1175

def get_guild(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}"), query:)
end

#get_guild_application_command(application_id, guild_id, command_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • command_id (#to_s)

    Command ID

Returns:

See Also:



286
287
288
# File 'lib/lib_discord/client.rb', line 286

def get_guild_application_command(application_id, guild_id, command_id)
  json_request(:get, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/#{command_id}"))
end

#get_guild_application_command_permissions(application_id, guild_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



334
335
336
# File 'lib/lib_discord/client.rb', line 334

def get_guild_application_command_permissions(application_id, guild_id)
  json_request(:get, discord("/applications/#{application_id}/guilds/#{guild_id}/commands/permissions"))
end

#get_guild_application_commands(application_id, guild_id, query = {}) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



262
263
264
# File 'lib/lib_discord/client.rb', line 262

def get_guild_application_commands(application_id, guild_id, query = {})
  json_request(:get, discord("/applications/#{application_id}/guilds/#{guild_id}/commands"), query:)
end

#get_guild_audit_log(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



476
477
478
# File 'lib/lib_discord/client.rb', line 476

def get_guild_audit_log(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/audit-logs"), query:)
end

#get_guild_ban(guild_id, user_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



1386
1387
1388
# File 'lib/lib_discord/client.rb', line 1386

def get_guild_ban(guild_id, user_id)
  json_request(:get, discord("/guilds/#{guild_id}/bans/#{user_id}"))
end

#get_guild_bans(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1375
1376
1377
# File 'lib/lib_discord/client.rb', line 1375

def get_guild_bans(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/bans"), query:)
end

#get_guild_channels(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1216
1217
1218
# File 'lib/lib_discord/client.rb', line 1216

def get_guild_channels(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/channels"))
end

#get_guild_emoji(guild_id, emoji_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • emoji_id (#to_s)

    Emoji ID

Returns:

See Also:



851
852
853
# File 'lib/lib_discord/client.rb', line 851

def get_guild_emoji(guild_id, emoji_id)
  json_request(:get, discord("/guilds/#{guild_id}/emojis/#{emoji_id}"))
end

#get_guild_integrations(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1549
1550
1551
# File 'lib/lib_discord/client.rb', line 1549

def get_guild_integrations(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/integrations"))
end

#get_guild_invites(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1539
1540
1541
# File 'lib/lib_discord/client.rb', line 1539

def get_guild_invites(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/invites"))
end

#get_guild_member(guild_id, user_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



1259
1260
1261
# File 'lib/lib_discord/client.rb', line 1259

def get_guild_member(guild_id, user_id)
  json_request(:get, discord("/guilds/#{guild_id}/members/#{user_id}"))
end

#get_guild_onboarding(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1643
1644
1645
# File 'lib/lib_discord/client.rb', line 1643

def get_guild_onboarding(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/onboarding"))
end

#get_guild_preview(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1185
1186
1187
# File 'lib/lib_discord/client.rb', line 1185

def get_guild_preview(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/preview"))
end

#get_guild_prune_count(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1508
1509
1510
# File 'lib/lib_discord/client.rb', line 1508

def get_guild_prune_count(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/prune"), query:)
end

#get_guild_role(guild_id, role_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • role_id (#to_s)

    Role ID

Returns:

See Also:



1441
1442
1443
# File 'lib/lib_discord/client.rb', line 1441

def get_guild_role(guild_id, role_id)
  json_request(:get, discord("/guilds/#{guild_id}/roles/#{role_id}"))
end

#get_guild_roles(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1430
1431
1432
# File 'lib/lib_discord/client.rb', line 1430

def get_guild_roles(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/roles"))
end

#get_guild_scheduled_event(guild_id, guild_scheduled_event_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • guild_scheduled_event_id (#to_s)

    Guild Scheduled Event ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1035
1036
1037
# File 'lib/lib_discord/client.rb', line 1035

def get_guild_scheduled_event(guild_id, guild_scheduled_event_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/scheduled-events/#{guild_scheduled_event_id}"), query:)
end

#get_guild_scheduled_event_users(guild_id, guild_scheduled_event_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • guild_scheduled_event_id (#to_s)

    Guild Scheduled Event ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1070
1071
1072
# File 'lib/lib_discord/client.rb', line 1070

def get_guild_scheduled_event_users(guild_id, guild_scheduled_event_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/scheduled-events/#{guild_scheduled_event_id}/users"), query:)
end

#get_guild_soundboard_sound(guild_id, sound_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sound_id (#to_s)

    Sound ID

Returns:

See Also:



2032
2033
2034
# File 'lib/lib_discord/client.rb', line 2032

def get_guild_soundboard_sound(guild_id, sound_id)
  json_request(:get, discord("/guilds/#{guild_id}/soundboard-sounds/#{sound_id}"))
end

#get_guild_sticker(guild_id, sticker_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sticker_id (#to_s)

    Sticker ID

Returns:

See Also:



2165
2166
2167
# File 'lib/lib_discord/client.rb', line 2165

def get_guild_sticker(guild_id, sticker_id)
  json_request(:get, discord("/guilds/#{guild_id}/stickers/#{sticker_id}"))
end

#get_guild_template(template_code) ⇒ Response

Parameters:

  • template_code (#to_s)

    Template Code

Returns:

See Also:



1084
1085
1086
# File 'lib/lib_discord/client.rb', line 1084

def get_guild_template(template_code)
  json_request(:get, discord("/guilds/templates/#{template_code}"))
end

#get_guild_templates(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1105
1106
1107
# File 'lib/lib_discord/client.rb', line 1105

def get_guild_templates(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/templates"))
end

#get_guild_vanity_url(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1601
1602
1603
# File 'lib/lib_discord/client.rb', line 1601

def get_guild_vanity_url(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/vanity-url"))
end

#get_guild_voice_regions(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1529
1530
1531
# File 'lib/lib_discord/client.rb', line 1529

def get_guild_voice_regions(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/regions"))
end

#get_guild_webhooks(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2430
2431
2432
# File 'lib/lib_discord/client.rb', line 2430

def get_guild_webhooks(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/webhooks"))
end

#get_guild_welcome_screen(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1622
1623
1624
# File 'lib/lib_discord/client.rb', line 1622

def get_guild_welcome_screen(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/welcome-screen"))
end

#get_guild_widget(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1591
1592
1593
# File 'lib/lib_discord/client.rb', line 1591

def get_guild_widget(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/widget.json"))
end

#get_guild_widget_image(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1612
1613
1614
# File 'lib/lib_discord/client.rb', line 1612

def get_guild_widget_image(guild_id, query = {})
  net_request(:get, discord("/guilds/#{guild_id}/widget.png"), query:)
end

#get_guild_widget_settings(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1570
1571
1572
# File 'lib/lib_discord/client.rb', line 1570

def get_guild_widget_settings(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/widget"))
end

#get_install_url(query = {}) ⇒ URI

Get the URL for installing an application.

Parameters:

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

  • (URI)

    Application installation URL, with query parameters added.

See Also:



2638
# File 'lib/lib_discord/client.rb', line 2638

def get_install_url(query = {}) = get_authorize_url(query)

#get_invite(invite_code, query = {}) ⇒ Response

Parameters:

  • invite_code (#to_s)

    Invite Code

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1680
1681
1682
# File 'lib/lib_discord/client.rb', line 1680

def get_invite(invite_code, query = {})
  json_request(:get, discord("/invites/#{invite_code}"), query:)
end

#get_lobby(lobby_id) ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

Returns:

See Also:



1714
1715
1716
# File 'lib/lib_discord/client.rb', line 1714

def get_lobby(lobby_id)
  json_request(:get, discord("/lobbies/#{lobby_id}"))
end

#get_original_interaction_response(application_id, interaction_token) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • interaction_token (#to_s)

    Interaction Token

Returns:

See Also:



107
108
109
# File 'lib/lib_discord/client.rb', line 107

def get_original_interaction_response(application_id, interaction_token)
  json_request(:get, discord("/webhooks/#{application_id}/#{interaction_token}/messages/@original"))
end

#get_pinned_messages(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



648
649
650
# File 'lib/lib_discord/client.rb', line 648

def get_pinned_messages(channel_id)
  json_request(:get, discord("/channels/#{channel_id}/pins"))
end

#get_reactions(channel_id, message_id, emoji, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • emoji (#to_s)

    Emoji

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1888
1889
1890
# File 'lib/lib_discord/client.rb', line 1888

def get_reactions(channel_id, message_id, emoji, query = {})
  json_request(:get, discord("/channels/#{channel_id}/messages/#{message_id}/reactions/#{emoji}"), query:)
end

#get_sku_subscription(sku_id, subscription_id) ⇒ Response

Parameters:

  • sku_id (#to_s)

    SKU ID

  • subscription_id (#to_s)

    Subscription ID

Returns:

See Also:



2225
2226
2227
# File 'lib/lib_discord/client.rb', line 2225

def get_sku_subscription(sku_id, subscription_id)
  json_request(:get, discord("/skus/#{sku_id}/subscriptions/#{subscription_id}"))
end

#get_stage_instance(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



2090
2091
2092
# File 'lib/lib_discord/client.rb', line 2090

def get_stage_instance(channel_id)
  json_request(:get, discord("/stage-instances/#{channel_id}"))
end

#get_sticker(sticker_id) ⇒ Response

Parameters:

  • sticker_id (#to_s)

    Sticker ID

Returns:

See Also:



2125
2126
2127
# File 'lib/lib_discord/client.rb', line 2125

def get_sticker(sticker_id)
  json_request(:get, discord("/stickers/#{sticker_id}"))
end

#get_sticker_pack(pack_id) ⇒ Response

Parameters:

  • pack_id (#to_s)

    Sticker Pack ID

Returns:

See Also:



2144
2145
2146
# File 'lib/lib_discord/client.rb', line 2144

def get_sticker_pack(pack_id)
  json_request(:get, discord("/sticker-packs/#{pack_id}"))
end

#get_thread_member(channel_id, user_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • user_id (#to_s)

    User ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



781
782
783
# File 'lib/lib_discord/client.rb', line 781

def get_thread_member(channel_id, user_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/thread-members/#{user_id}"), query:)
end

#get_user(user_id) ⇒ Response

Parameters:

  • user_id (#to_s)

    User ID

Returns:

See Also:



2248
2249
2250
# File 'lib/lib_discord/client.rb', line 2248

def get_user(user_id)
  json_request(:get, discord("/users/#{user_id}"))
end

#get_user_voice_state(guild_id, user_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



2372
2373
2374
# File 'lib/lib_discord/client.rb', line 2372

def get_user_voice_state(guild_id, user_id)
  json_request(:get, discord("/guilds/#{guild_id}/voice-states/#{user_id}"))
end

#get_webhook(webhook_id) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

Returns:

See Also:



2440
2441
2442
# File 'lib/lib_discord/client.rb', line 2440

def get_webhook(webhook_id)
  json_request(:get, discord("/webhooks/#{webhook_id}"))
end

#get_webhook_message(webhook_id, webhook_token, message_id, query = {}) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • message_id (#to_s)

    Message ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2545
2546
2547
# File 'lib/lib_discord/client.rb', line 2545

def get_webhook_message(webhook_id, webhook_token, message_id, query = {})
  json_request(:get, discord("/webhooks/#{webhook_id}/#{webhook_token}/messages/#{message_id}"), query:)
end

#get_webhook_with_token(webhook_id, webhook_token) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

Returns:

See Also:



2451
2452
2453
# File 'lib/lib_discord/client.rb', line 2451

def get_webhook_with_token(webhook_id, webhook_token)
  json_request(:get, discord("/webhooks/#{webhook_id}/#{webhook_token}"))
end

#group_dm_add_recipient(channel_id, user_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • user_id (#to_s)

    User ID

  • body (#to_json)

    Request body

Returns:

See Also:



682
683
684
# File 'lib/lib_discord/client.rb', line 682

def group_dm_add_recipient(channel_id, user_id, body)
  json_request(:put, discord("/channels/#{channel_id}/recipients/#{user_id}"), body:)
end

#group_dm_remove_recipient(channel_id, user_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



693
694
695
# File 'lib/lib_discord/client.rb', line 693

def group_dm_remove_recipient(channel_id, user_id)
  json_request(:delete, discord("/channels/#{channel_id}/recipients/#{user_id}"))
end

#join_thread(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



737
738
739
# File 'lib/lib_discord/client.rb', line 737

def join_thread(channel_id)
  json_request(:put, discord("/channels/#{channel_id}/thread-members/@me"))
end

#leave_guild(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2288
2289
2290
# File 'lib/lib_discord/client.rb', line 2288

def leave_guild(guild_id)
  json_request(:delete, discord("/users/@me/guilds/#{guild_id}"))
end

#leave_lobby(lobby_id) ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

Returns:

See Also:



1768
1769
1770
# File 'lib/lib_discord/client.rb', line 1768

def leave_lobby(lobby_id)
  json_request(:delete, discord("/lobbies/#{lobby_id}/members/@me"))
end

#leave_thread(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



758
759
760
# File 'lib/lib_discord/client.rb', line 758

def leave_thread(channel_id)
  json_request(:delete, discord("/channels/#{channel_id}/thread-members/@me"))
end

Parameters:

  • lobby_id (#to_s)

    Lobby ID

  • body (#to_json)

    Request body

Returns:

See Also:



1779
1780
1781
# File 'lib/lib_discord/client.rb', line 1779

def link_channel_to_lobby(lobby_id, body)
  json_request(:patch, discord("/lobbies/#{lobby_id}/channel-linking"), body:)
end

#list_active_guild_threads(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



1248
1249
1250
# File 'lib/lib_discord/client.rb', line 1248

def list_active_guild_threads(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/threads/active"))
end

#list_application_emojis(application_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



895
896
897
# File 'lib/lib_discord/client.rb', line 895

def list_application_emojis(application_id)
  json_request(:get, discord("/applications/#{application_id}/emojis"))
end

#list_auto_moderation_rules_for_guild(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



490
491
492
# File 'lib/lib_discord/client.rb', line 490

def list_auto_moderation_rules_for_guild(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/auto-moderation/rules"))
end

#list_default_soundboard_soundsResponse



2011
2012
2013
# File 'lib/lib_discord/client.rb', line 2011

def list_default_soundboard_sounds
  json_request(:get, discord("/soundboard-default-sounds"))
end

#list_entitlements(application_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



954
955
956
# File 'lib/lib_discord/client.rb', line 954

def list_entitlements(application_id)
  json_request(:get, discord("/applications/#{application_id}/entitlements"))
end

#list_guild_emojis(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



840
841
842
# File 'lib/lib_discord/client.rb', line 840

def list_guild_emojis(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/emojis"))
end

#list_guild_members(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1270
1271
1272
# File 'lib/lib_discord/client.rb', line 1270

def list_guild_members(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/members"), query:)
end

#list_guild_soundboard_sounds(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2021
2022
2023
# File 'lib/lib_discord/client.rb', line 2021

def list_guild_soundboard_sounds(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/soundboard-sounds"))
end

#list_guild_stickers(guild_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

Returns:

See Also:



2154
2155
2156
# File 'lib/lib_discord/client.rb', line 2154

def list_guild_stickers(guild_id)
  json_request(:get, discord("/guilds/#{guild_id}/stickers"))
end

#list_joined_private_archived_threads(channel_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



826
827
828
# File 'lib/lib_discord/client.rb', line 826

def list_joined_private_archived_threads(channel_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/users/@me/threads/archived/private"), query:)
end

#list_private_archived_threads(channel_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



815
816
817
# File 'lib/lib_discord/client.rb', line 815

def list_private_archived_threads(channel_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/threads/archived/private"), query:)
end

#list_public_archived_threads(channel_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



804
805
806
# File 'lib/lib_discord/client.rb', line 804

def list_public_archived_threads(channel_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/threads/archived/public"), query:)
end

#list_scheduled_events_for_guild(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1012
1013
1014
# File 'lib/lib_discord/client.rb', line 1012

def list_scheduled_events_for_guild(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/scheduled-events"), query:)
end

#list_sku_subscriptions(sku_id, query = {}) ⇒ Response

Parameters:

  • sku_id (#to_s)

    SKU ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2214
2215
2216
# File 'lib/lib_discord/client.rb', line 2214

def list_sku_subscriptions(sku_id, query = {})
  json_request(:get, discord("/skus/#{sku_id}/subscriptions"), query:)
end

#list_skus(application_id) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

Returns:

See Also:



1987
1988
1989
# File 'lib/lib_discord/client.rb', line 1987

def list_skus(application_id)
  json_request(:get, discord("/applications/#{application_id}/skus"))
end

#list_sticker_packsResponse



2134
2135
2136
# File 'lib/lib_discord/client.rb', line 2134

def list_sticker_packs
  json_request(:get, discord("/sticker-packs"))
end

#list_thread_members(channel_id, query = {}) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



792
793
794
# File 'lib/lib_discord/client.rb', line 792

def list_thread_members(channel_id, query = {})
  json_request(:get, discord("/channels/#{channel_id}/thread-members"), query:)
end

#list_voice_regionsResponse



2351
2352
2353
# File 'lib/lib_discord/client.rb', line 2351

def list_voice_regions
  json_request(:get, discord("/voice/regions"))
end

#modify_application_emoji(application_id, emoji_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • emoji_id (#to_s)

    Emoji ID

  • body (#to_json)

    Request body

Returns:

See Also:



929
930
931
# File 'lib/lib_discord/client.rb', line 929

def modify_application_emoji(application_id, emoji_id, body)
  json_request(:patch, discord("/applications/#{application_id}/emojis/#{emoji_id}"), body:)
end

#modify_auto_moderation_rule(guild_id, auto_moderation_rule_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • auto_moderation_rule_id (#to_s)

    Auto Moderation Rule ID

  • body (#to_json)

    Request body

Returns:

See Also:



524
525
526
# File 'lib/lib_discord/client.rb', line 524

def modify_auto_moderation_rule(guild_id, auto_moderation_rule_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/auto-moderation/rules/#{auto_moderation_rule_id}"), body:)
end

#modify_channel(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



560
561
562
# File 'lib/lib_discord/client.rb', line 560

def modify_channel(channel_id, body)
  json_request(:patch, discord("/channels/#{channel_id}"), body:)
end

#modify_current_member(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1316
1317
1318
# File 'lib/lib_discord/client.rb', line 1316

def modify_current_member(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/members/@me"), body:)
end

#modify_current_user(body) ⇒ Response

Parameters:

  • body (#to_json)

    Request body

Returns:

See Also:



2258
2259
2260
# File 'lib/lib_discord/client.rb', line 2258

def modify_current_user(body)
  json_request(:patch, discord("/users/@me"), body:)
end

#modify_current_user_nick(guild_id, body) ⇒ Response

Deprecated.

Use #modify_current_member instead.

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1329
1330
1331
# File 'lib/lib_discord/client.rb', line 1329

def modify_current_user_nick(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/members/@me/nick"), body:)
end

#modify_current_user_voice_state(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



2383
2384
2385
# File 'lib/lib_discord/client.rb', line 2383

def modify_current_user_voice_state(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/voice-states/@me"), body:)
end

#modify_guild(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1196
1197
1198
# File 'lib/lib_discord/client.rb', line 1196

def modify_guild(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}"), body:)
end

#modify_guild_channel_positions(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1238
1239
1240
# File 'lib/lib_discord/client.rb', line 1238

def modify_guild_channel_positions(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/channels"), body:)
end

#modify_guild_emoji(guild_id, emoji_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • emoji_id (#to_s)

    Emoji ID

  • body (#to_json)

    Request body

Returns:

See Also:



874
875
876
# File 'lib/lib_discord/client.rb', line 874

def modify_guild_emoji(guild_id, emoji_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/emojis/#{emoji_id}"), body:)
end

#modify_guild_incident_actions(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1665
1666
1667
# File 'lib/lib_discord/client.rb', line 1665

def modify_guild_incident_actions(guild_id, body)
  json_request(:put, discord("/guilds/#{guild_id}/incident-actions"), body:)
end

#modify_guild_member(guild_id, user_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • body (#to_json)

    Request body

Returns:

See Also:



1305
1306
1307
# File 'lib/lib_discord/client.rb', line 1305

def modify_guild_member(guild_id, user_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/members/#{user_id}"), body:)
end

#modify_guild_mfa_level(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1486
1487
1488
# File 'lib/lib_discord/client.rb', line 1486

def modify_guild_mfa_level(guild_id, body)
  json_request(:post, discord("/guilds/#{guild_id}/mfa"), body:)
end

#modify_guild_onboarding(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1654
1655
1656
# File 'lib/lib_discord/client.rb', line 1654

def modify_guild_onboarding(guild_id, body)
  json_request(:put, discord("/guilds/#{guild_id}/onboarding"), body:)
end

#modify_guild_role(guild_id, role_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • role_id (#to_s)

    Role ID

  • body (#to_json)

    Request body

Returns:

See Also:



1475
1476
1477
# File 'lib/lib_discord/client.rb', line 1475

def modify_guild_role(guild_id, role_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/roles/#{role_id}"), body:)
end

#modify_guild_role_positions(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1463
1464
1465
# File 'lib/lib_discord/client.rb', line 1463

def modify_guild_role_positions(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/roles"), body:)
end

#modify_guild_scheduled_event(guild_id, guild_scheduled_event_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • guild_scheduled_event_id (#to_s)

    Guild Scheduled Event ID

  • body (#to_json)

    Request body

Returns:

See Also:



1047
1048
1049
# File 'lib/lib_discord/client.rb', line 1047

def modify_guild_scheduled_event(guild_id, guild_scheduled_event_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/scheduled-events/#{guild_scheduled_event_id}"), body:)
end

#modify_guild_soundboard_sound(guild_id, sound_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sound_id (#to_s)

    Sound ID

  • body (#to_json)

    Request body

Returns:

See Also:



2055
2056
2057
# File 'lib/lib_discord/client.rb', line 2055

def modify_guild_soundboard_sound(guild_id, sound_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/soundboard-sounds/#{sound_id}"), body:)
end

#modify_guild_sticker(guild_id, sticker_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • sticker_id (#to_s)

    Sticker ID

  • body (#to_json)

    Request body

Returns:

See Also:



2188
2189
2190
# File 'lib/lib_discord/client.rb', line 2188

def modify_guild_sticker(guild_id, sticker_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/stickers/#{sticker_id}"), body:)
end

#modify_guild_template(guild_id, template_code, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • template_code (#to_s)

    Template Code

  • body (#to_json)

    Request body

Returns:

See Also:



1139
1140
1141
# File 'lib/lib_discord/client.rb', line 1139

def modify_guild_template(guild_id, template_code, body)
  json_request(:patch, discord("/guilds/#{guild_id}/templates/#{template_code}"), body:)
end

#modify_guild_welcome_screen(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1633
1634
1635
# File 'lib/lib_discord/client.rb', line 1633

def modify_guild_welcome_screen(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/welcome-screen"), body:)
end

#modify_guild_widget(guild_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • body (#to_json)

    Request body

Returns:

See Also:



1581
1582
1583
# File 'lib/lib_discord/client.rb', line 1581

def modify_guild_widget(guild_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/widget"), body:)
end

#modify_lobby(lobby_id, body) ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

  • body (#to_json)

    Request body

Returns:

See Also:



1725
1726
1727
# File 'lib/lib_discord/client.rb', line 1725

def modify_lobby(lobby_id, body)
  json_request(:patch, discord("/lobbies/#{lobby_id}"), body:)
end

#modify_stage_instance(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



2101
2102
2103
# File 'lib/lib_discord/client.rb', line 2101

def modify_stage_instance(channel_id, body)
  json_request(:patch, discord("/stage-instances/#{channel_id}"), body:)
end

#modify_user_voice_state(guild_id, user_id, body) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • body (#to_json)

    Request body

Returns:

See Also:



2395
2396
2397
# File 'lib/lib_discord/client.rb', line 2395

def modify_user_voice_state(guild_id, user_id, body)
  json_request(:patch, discord("/guilds/#{guild_id}/voice-states/#{user_id}"), body:)
end

#modify_webhook(webhook_id, body) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • body (#to_json)

    Request body

Returns:

See Also:



2462
2463
2464
# File 'lib/lib_discord/client.rb', line 2462

def modify_webhook(webhook_id, body)
  json_request(:patch, discord("/webhooks/#{webhook_id}"), body:)
end

#modify_webhook_with_token(webhook_id, webhook_token, body) ⇒ Response

Parameters:

  • webhook_id (#to_s)

    Webhook ID

  • webhook_token (#to_s)

    Webhook Token

  • body (#to_json)

    Request body

Returns:

See Also:



2474
2475
2476
# File 'lib/lib_discord/client.rb', line 2474

def modify_webhook_with_token(webhook_id, webhook_token, body)
  json_request(:patch, discord("/webhooks/#{webhook_id}/#{webhook_token}"), body:)
end

#oauth2_request_token(user, pass, query) ⇒ Response

Parameters:

  • user (#to_s)

    HTTP basic authorization username

  • pass (#to_s)

    HTTP basic authorization password

  • query (Object)

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:



2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
# File 'lib/lib_discord/client.rb', line 2584

def oauth2_request_token(user, pass, query)
  net_request(
    :post,
    discord("/oauth2/token"),
    body: URI.encode_www_form(query),
    headers: {
      "Authorization" => "Basic " + base64_strictencode("#{user}:#{pass}"),
      "Content-Type" => "application/x-www-form-urlencoded"
    }
  )
end

#oauth2_revoke_token(user, pass, query) ⇒ Response

Parameters:

  • user (#to_s)

    HTTP basic authorization username

  • pass (#to_s)

    HTTP basic authorization password

  • query (Object)

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
# File 'lib/lib_discord/client.rb', line 2604

def oauth2_revoke_token(user, pass, query)
  net_request(
    :post,
    discord("/oauth2/token/revoke"),
    body: URI.encode_www_form(query),
    headers: {
      "Authorization" => "Basic " + base64_strictencode("#{user}:#{pass}"),
      "Content-Type" => "application/x-www-form-urlencoded"
    }
  )
end

#pin_message(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



659
660
661
# File 'lib/lib_discord/client.rb', line 659

def pin_message(channel_id, message_id)
  json_request(:put, discord("/channels/#{channel_id}/pins/#{message_id}"))
end

#remove_guild_ban(guild_id, user_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



1409
1410
1411
# File 'lib/lib_discord/client.rb', line 1409

def remove_guild_ban(guild_id, user_id)
  json_request(:delete, discord("/guilds/#{guild_id}/bans/#{user_id}"))
end

#remove_guild_member(guild_id, user_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



1364
1365
1366
# File 'lib/lib_discord/client.rb', line 1364

def remove_guild_member(guild_id, user_id)
  json_request(:delete, discord("/guilds/#{guild_id}/members/#{user_id}"))
end

#remove_guild_member_role(guild_id, user_id, role_id) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • user_id (#to_s)

    User ID

  • role_id (#to_s)

    Role ID

Returns:

See Also:



1353
1354
1355
# File 'lib/lib_discord/client.rb', line 1353

def remove_guild_member_role(guild_id, user_id, role_id)
  json_request(:delete, discord("/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}"))
end

#remove_member_from_lobby(lobby_id, user_id) ⇒ Response

Parameters:

  • lobby_id (#to_s)

    Lobby ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



1758
1759
1760
# File 'lib/lib_discord/client.rb', line 1758

def remove_member_from_lobby(lobby_id, user_id)
  json_request(:delete, discord("/lobbies/#{lobby_id}/members/#{user_id}"))
end

#remove_thread_member(channel_id, user_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • user_id (#to_s)

    User ID

Returns:

See Also:



769
770
771
# File 'lib/lib_discord/client.rb', line 769

def remove_thread_member(channel_id, user_id)
  json_request(:delete, discord("/channels/#{channel_id}/thread-members/#{user_id}"))
end

#search_guild_members(guild_id, query = {}) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • query (Object) (defaults to: {})

    HTTP query parameters. query is formatted via URI.encode_www_form().

Returns:

See Also:



1281
1282
1283
# File 'lib/lib_discord/client.rb', line 1281

def search_guild_members(guild_id, query = {})
  json_request(:get, discord("/guilds/#{guild_id}/members/search"), query:)
end

#send_soundboard_sound(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



2002
2003
2004
# File 'lib/lib_discord/client.rb', line 2002

def send_soundboard_sound(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/send-soundboard-sound"), body:)
end

#start_thread_from_message(channel_id, message_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

  • body (#to_json)

    Request body

Returns:

See Also:



705
706
707
# File 'lib/lib_discord/client.rb', line 705

def start_thread_from_message(channel_id, message_id, body)
  json_request(:post, discord("/channels/#{channel_id}/messages/#{message_id}/threads"), body:)
end

#start_thread_in_forum_or_media_channel(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



727
728
729
# File 'lib/lib_discord/client.rb', line 727

def start_thread_in_forum_or_media_channel(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/threads"), body:)
end

#start_thread_without_message(channel_id, body) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • body (#to_json)

    Request body

Returns:

See Also:



716
717
718
# File 'lib/lib_discord/client.rb', line 716

def start_thread_without_message(channel_id, body)
  json_request(:post, discord("/channels/#{channel_id}/threads"), body:)
end

#sync_guild_template(guild_id, template_code) ⇒ Response

Parameters:

  • guild_id (#to_s)

    Guild ID

  • template_code (#to_s)

    Template Code

Returns:

See Also:



1127
1128
1129
# File 'lib/lib_discord/client.rb', line 1127

def sync_guild_template(guild_id, template_code)
  json_request(:put, discord("/guilds/#{guild_id}/templates/#{template_code}"))
end

#trigger_typing_indicator(channel_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

Returns:

See Also:



638
639
640
# File 'lib/lib_discord/client.rb', line 638

def trigger_typing_indicator(channel_id)
  json_request(:post, discord("/channels/#{channel_id}/typing"))
end

Parameters:

  • lobby_id (#to_s)

    Lobby ID

Returns:

See Also:



1789
1790
1791
# File 'lib/lib_discord/client.rb', line 1789

def unlink_channel_from_lobby(lobby_id)
  json_request(:patch, discord("/lobbies/#{lobby_id}/channel-linking"))
end

#unpin_message(channel_id, message_id) ⇒ Response

Parameters:

  • channel_id (#to_s)

    Channel ID

  • message_id (#to_s)

    Message ID

Returns:

See Also:



670
671
672
# File 'lib/lib_discord/client.rb', line 670

def unpin_message(channel_id, message_id)
  json_request(:delete, discord("/channels/#{channel_id}/pins/#{message_id}"))
end

#update_application_role_connection_metadata_records(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • body (#to_json)

    Request body

Returns:

See Also:



427
428
429
# File 'lib/lib_discord/client.rb', line 427

def (application_id, body)
  json_request(:put, discord("/applications/#{application_id}/role-connections/metadata"), body:)
end

#update_current_user_application_role_connection(application_id, body) ⇒ Response

Parameters:

  • application_id (#to_s)

    Application ID

  • body (#to_json)

    Request body

Returns:

See Also:



2338
2339
2340
# File 'lib/lib_discord/client.rb', line 2338

def update_current_user_application_role_connection(application_id, body)
  json_request(:put, discord("/users/@me/applications/#{application_id}/role-connection"), body:)
end