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:



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

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:



1291
1292
1293
# File 'lib/lib_discord/client.rb', line 1291

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:



1339
1340
1341
# File 'lib/lib_discord/client.rb', line 1339

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:



1745
1746
1747
# File 'lib/lib_discord/client.rb', line 1745

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:



746
747
748
# File 'lib/lib_discord/client.rb', line 746

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:



376
377
378
# File 'lib/lib_discord/client.rb', line 376

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:



1517
1518
1519
# File 'lib/lib_discord/client.rb', line 1517

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:



1943
1944
1945
# File 'lib/lib_discord/client.rb', line 1943

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:



1418
1419
1420
# File 'lib/lib_discord/client.rb', line 1418

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:



248
249
250
# File 'lib/lib_discord/client.rb', line 248

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:



321
322
323
# File 'lib/lib_discord/client.rb', line 321

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:



974
975
976
# File 'lib/lib_discord/client.rb', line 974

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:



915
916
917
# File 'lib/lib_discord/client.rb', line 915

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:



510
511
512
# File 'lib/lib_discord/client.rb', line 510

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:



604
605
606
# File 'lib/lib_discord/client.rb', line 604

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:



2296
2297
2298
# File 'lib/lib_discord/client.rb', line 2296

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:



140
141
142
# File 'lib/lib_discord/client.rb', line 140

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:



203
204
205
# File 'lib/lib_discord/client.rb', line 203

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:



2306
2307
2308
# File 'lib/lib_discord/client.rb', line 2306

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:



1162
1163
1164
# File 'lib/lib_discord/client.rb', line 1162

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:



272
273
274
# File 'lib/lib_discord/client.rb', line 272

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:



1396
1397
1398
# File 'lib/lib_discord/client.rb', line 1396

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:



1225
1226
1227
# File 'lib/lib_discord/client.rb', line 1225

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:



860
861
862
# File 'lib/lib_discord/client.rb', line 860

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:



1093
1094
1095
# File 'lib/lib_discord/client.rb', line 1093

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:



1450
1451
1452
# File 'lib/lib_discord/client.rb', line 1450

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:



1021
1022
1023
# File 'lib/lib_discord/client.rb', line 1021

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:



2041
2042
2043
# File 'lib/lib_discord/client.rb', line 2041

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:



2174
2175
2176
# File 'lib/lib_discord/client.rb', line 2174

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:



1114
1115
1116
# File 'lib/lib_discord/client.rb', line 1114

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:



94
95
96
# File 'lib/lib_discord/client.rb', line 94

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:



1702
1703
1704
# File 'lib/lib_discord/client.rb', line 1702

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:



1824
1825
1826
# File 'lib/lib_discord/client.rb', line 1824

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:



1848
1849
1850
# File 'lib/lib_discord/client.rb', line 1848

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:



2078
2079
2080
# File 'lib/lib_discord/client.rb', line 2078

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:



984
985
986
# File 'lib/lib_discord/client.rb', line 984

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:



2408
2409
2410
# File 'lib/lib_discord/client.rb', line 2408

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:



1836
1837
1838
# File 'lib/lib_discord/client.rb', line 1836

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:



1897
1898
1899
# File 'lib/lib_discord/client.rb', line 1897

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:



1909
1910
1911
# File 'lib/lib_discord/client.rb', line 1909

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:



938
939
940
# File 'lib/lib_discord/client.rb', line 938

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:



533
534
535
# File 'lib/lib_discord/client.rb', line 533

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:



568
569
570
# File 'lib/lib_discord/client.rb', line 568

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:



615
616
617
# File 'lib/lib_discord/client.rb', line 615

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:



177
178
179
# File 'lib/lib_discord/client.rb', line 177

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:



237
238
239
# File 'lib/lib_discord/client.rb', line 237

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:



1204
1205
1206
# File 'lib/lib_discord/client.rb', line 1204

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:



309
310
311
# File 'lib/lib_discord/client.rb', line 309

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:



883
884
885
# File 'lib/lib_discord/client.rb', line 883

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:



1558
1559
1560
# File 'lib/lib_discord/client.rb', line 1558

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:



1495
1496
1497
# File 'lib/lib_discord/client.rb', line 1495

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:



1056
1057
1058
# File 'lib/lib_discord/client.rb', line 1056

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:



2064
2065
2066
# File 'lib/lib_discord/client.rb', line 2064

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:



2197
2198
2199
# File 'lib/lib_discord/client.rb', line 2197

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:



1148
1149
1150
# File 'lib/lib_discord/client.rb', line 1148

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:



1688
1689
1690
# File 'lib/lib_discord/client.rb', line 1688

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:



1733
1734
1735
# File 'lib/lib_discord/client.rb', line 1733

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:



1932
1933
1934
# File 'lib/lib_discord/client.rb', line 1932

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:



128
129
130
# File 'lib/lib_discord/client.rb', line 128

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:



1860
1861
1862
# File 'lib/lib_discord/client.rb', line 1860

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:



2109
2110
2111
# File 'lib/lib_discord/client.rb', line 2109

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:



995
996
997
# File 'lib/lib_discord/client.rb', line 995

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:



1873
1874
1875
# File 'lib/lib_discord/client.rb', line 1873

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:



2482
2483
2484
# File 'lib/lib_discord/client.rb', line 2482

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:



2569
2570
2571
# File 'lib/lib_discord/client.rb', line 2569

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:



2493
2494
2495
# File 'lib/lib_discord/client.rb', line 2493

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:



357
358
359
# File 'lib/lib_discord/client.rb', line 357

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:



583
584
585
# File 'lib/lib_discord/client.rb', line 583

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:



448
449
450
# File 'lib/lib_discord/client.rb', line 448

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:



165
166
167
# File 'lib/lib_discord/client.rb', line 165

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:



226
227
228
# File 'lib/lib_discord/client.rb', line 226

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:



297
298
299
# File 'lib/lib_discord/client.rb', line 297

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:



1921
1922
1923
# File 'lib/lib_discord/client.rb', line 1921

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:



117
118
119
# File 'lib/lib_discord/client.rb', line 117

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:



2557
2558
2559
# File 'lib/lib_discord/client.rb', line 2557

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:



1971
1972
1973
# File 'lib/lib_discord/client.rb', line 1971

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:



2530
2531
2532
# File 'lib/lib_discord/client.rb', line 2530

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:



2518
2519
2520
# File 'lib/lib_discord/client.rb', line 2518

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:



2506
2507
2508
# File 'lib/lib_discord/client.rb', line 2506

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:



626
627
628
# File 'lib/lib_discord/client.rb', line 626

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:



1960
1961
1962
# File 'lib/lib_discord/client.rb', line 1960

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:



459
460
461
# File 'lib/lib_discord/client.rb', line 459

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:



344
345
346
# File 'lib/lib_discord/client.rb', line 344

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:



904
905
906
# File 'lib/lib_discord/client.rb', line 904

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:



413
414
415
# File 'lib/lib_discord/client.rb', line 413

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:



2622
2623
2624
2625
2626
# File 'lib/lib_discord/client.rb', line 2622

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:



499
500
501
# File 'lib/lib_discord/client.rb', line 499

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:



547
548
549
# File 'lib/lib_discord/client.rb', line 547

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:



593
594
595
# File 'lib/lib_discord/client.rb', line 593

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:



1813
1814
1815
# File 'lib/lib_discord/client.rb', line 1813

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:



1802
1803
1804
# File 'lib/lib_discord/client.rb', line 1802

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:



2418
2419
2420
# File 'lib/lib_discord/client.rb', line 2418

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

#get_current_applicationResponse



438
439
440
# File 'lib/lib_discord/client.rb', line 438

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

#get_current_userResponse



2236
2237
2238
# File 'lib/lib_discord/client.rb', line 2236

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:



2325
2326
2327
# File 'lib/lib_discord/client.rb', line 2325

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



2315
2316
2317
# File 'lib/lib_discord/client.rb', line 2315

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:



2276
2277
2278
# File 'lib/lib_discord/client.rb', line 2276

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:



2266
2267
2268
# File 'lib/lib_discord/client.rb', line 2266

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:



2359
2360
2361
# File 'lib/lib_discord/client.rb', line 2359

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:



963
964
965
# File 'lib/lib_discord/client.rb', line 963

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:



152
153
154
# File 'lib/lib_discord/client.rb', line 152

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



389
390
391
# File 'lib/lib_discord/client.rb', line 389

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

#get_gateway_botResponse



398
399
400
# File 'lib/lib_discord/client.rb', line 398

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:



214
215
216
# File 'lib/lib_discord/client.rb', line 214

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:



192
193
194
# File 'lib/lib_discord/client.rb', line 192

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:



1173
1174
1175
# File 'lib/lib_discord/client.rb', line 1173

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:



284
285
286
# File 'lib/lib_discord/client.rb', line 284

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:



332
333
334
# File 'lib/lib_discord/client.rb', line 332

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:



260
261
262
# File 'lib/lib_discord/client.rb', line 260

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:



474
475
476
# File 'lib/lib_discord/client.rb', line 474

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:



1384
1385
1386
# File 'lib/lib_discord/client.rb', line 1384

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:



1373
1374
1375
# File 'lib/lib_discord/client.rb', line 1373

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:



1214
1215
1216
# File 'lib/lib_discord/client.rb', line 1214

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:



849
850
851
# File 'lib/lib_discord/client.rb', line 849

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:



1547
1548
1549
# File 'lib/lib_discord/client.rb', line 1547

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:



1537
1538
1539
# File 'lib/lib_discord/client.rb', line 1537

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:



1257
1258
1259
# File 'lib/lib_discord/client.rb', line 1257

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:



1641
1642
1643
# File 'lib/lib_discord/client.rb', line 1641

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:



1183
1184
1185
# File 'lib/lib_discord/client.rb', line 1183

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:



1506
1507
1508
# File 'lib/lib_discord/client.rb', line 1506

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:



1439
1440
1441
# File 'lib/lib_discord/client.rb', line 1439

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:



1428
1429
1430
# File 'lib/lib_discord/client.rb', line 1428

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:



1033
1034
1035
# File 'lib/lib_discord/client.rb', line 1033

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:



1068
1069
1070
# File 'lib/lib_discord/client.rb', line 1068

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:



2030
2031
2032
# File 'lib/lib_discord/client.rb', line 2030

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:



2163
2164
2165
# File 'lib/lib_discord/client.rb', line 2163

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:



1082
1083
1084
# File 'lib/lib_discord/client.rb', line 1082

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:



1103
1104
1105
# File 'lib/lib_discord/client.rb', line 1103

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:



1599
1600
1601
# File 'lib/lib_discord/client.rb', line 1599

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:



1527
1528
1529
# File 'lib/lib_discord/client.rb', line 1527

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:



2428
2429
2430
# File 'lib/lib_discord/client.rb', line 2428

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:



1620
1621
1622
# File 'lib/lib_discord/client.rb', line 1620

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:



1589
1590
1591
# File 'lib/lib_discord/client.rb', line 1589

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:



1610
1611
1612
# File 'lib/lib_discord/client.rb', line 1610

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:



1568
1569
1570
# File 'lib/lib_discord/client.rb', line 1568

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:



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

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:



1678
1679
1680
# File 'lib/lib_discord/client.rb', line 1678

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:



1712
1713
1714
# File 'lib/lib_discord/client.rb', line 1712

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:



105
106
107
# File 'lib/lib_discord/client.rb', line 105

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:



646
647
648
# File 'lib/lib_discord/client.rb', line 646

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:



1886
1887
1888
# File 'lib/lib_discord/client.rb', line 1886

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:



2223
2224
2225
# File 'lib/lib_discord/client.rb', line 2223

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:



2088
2089
2090
# File 'lib/lib_discord/client.rb', line 2088

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:



2123
2124
2125
# File 'lib/lib_discord/client.rb', line 2123

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:



2142
2143
2144
# File 'lib/lib_discord/client.rb', line 2142

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:



779
780
781
# File 'lib/lib_discord/client.rb', line 779

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:



2246
2247
2248
# File 'lib/lib_discord/client.rb', line 2246

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:



2370
2371
2372
# File 'lib/lib_discord/client.rb', line 2370

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:



2438
2439
2440
# File 'lib/lib_discord/client.rb', line 2438

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:



2543
2544
2545
# File 'lib/lib_discord/client.rb', line 2543

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:



2449
2450
2451
# File 'lib/lib_discord/client.rb', line 2449

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:



680
681
682
# File 'lib/lib_discord/client.rb', line 680

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:



691
692
693
# File 'lib/lib_discord/client.rb', line 691

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:



735
736
737
# File 'lib/lib_discord/client.rb', line 735

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:



2286
2287
2288
# File 'lib/lib_discord/client.rb', line 2286

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:



1766
1767
1768
# File 'lib/lib_discord/client.rb', line 1766

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:



756
757
758
# File 'lib/lib_discord/client.rb', line 756

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:



1777
1778
1779
# File 'lib/lib_discord/client.rb', line 1777

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:



1246
1247
1248
# File 'lib/lib_discord/client.rb', line 1246

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:



893
894
895
# File 'lib/lib_discord/client.rb', line 893

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:



488
489
490
# File 'lib/lib_discord/client.rb', line 488

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

#list_default_soundboard_soundsResponse



2009
2010
2011
# File 'lib/lib_discord/client.rb', line 2009

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:



952
953
954
# File 'lib/lib_discord/client.rb', line 952

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:



838
839
840
# File 'lib/lib_discord/client.rb', line 838

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:



1268
1269
1270
# File 'lib/lib_discord/client.rb', line 1268

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:



2019
2020
2021
# File 'lib/lib_discord/client.rb', line 2019

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:



2152
2153
2154
# File 'lib/lib_discord/client.rb', line 2152

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:



824
825
826
# File 'lib/lib_discord/client.rb', line 824

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:



813
814
815
# File 'lib/lib_discord/client.rb', line 813

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:



802
803
804
# File 'lib/lib_discord/client.rb', line 802

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:



1010
1011
1012
# File 'lib/lib_discord/client.rb', line 1010

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:



2212
2213
2214
# File 'lib/lib_discord/client.rb', line 2212

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:



1985
1986
1987
# File 'lib/lib_discord/client.rb', line 1985

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

#list_sticker_packsResponse



2132
2133
2134
# File 'lib/lib_discord/client.rb', line 2132

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:



790
791
792
# File 'lib/lib_discord/client.rb', line 790

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

#list_voice_regionsResponse



2349
2350
2351
# File 'lib/lib_discord/client.rb', line 2349

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:



927
928
929
# File 'lib/lib_discord/client.rb', line 927

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:



522
523
524
# File 'lib/lib_discord/client.rb', line 522

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:



558
559
560
# File 'lib/lib_discord/client.rb', line 558

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:



1314
1315
1316
# File 'lib/lib_discord/client.rb', line 1314

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:



2256
2257
2258
# File 'lib/lib_discord/client.rb', line 2256

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:



1327
1328
1329
# File 'lib/lib_discord/client.rb', line 1327

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:



2381
2382
2383
# File 'lib/lib_discord/client.rb', line 2381

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:



1194
1195
1196
# File 'lib/lib_discord/client.rb', line 1194

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:



1236
1237
1238
# File 'lib/lib_discord/client.rb', line 1236

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:



872
873
874
# File 'lib/lib_discord/client.rb', line 872

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:



1663
1664
1665
# File 'lib/lib_discord/client.rb', line 1663

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:



1303
1304
1305
# File 'lib/lib_discord/client.rb', line 1303

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:



1484
1485
1486
# File 'lib/lib_discord/client.rb', line 1484

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:



1652
1653
1654
# File 'lib/lib_discord/client.rb', line 1652

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:



1473
1474
1475
# File 'lib/lib_discord/client.rb', line 1473

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:



1461
1462
1463
# File 'lib/lib_discord/client.rb', line 1461

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:



1045
1046
1047
# File 'lib/lib_discord/client.rb', line 1045

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:



2053
2054
2055
# File 'lib/lib_discord/client.rb', line 2053

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:



2186
2187
2188
# File 'lib/lib_discord/client.rb', line 2186

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:



1137
1138
1139
# File 'lib/lib_discord/client.rb', line 1137

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:



1631
1632
1633
# File 'lib/lib_discord/client.rb', line 1631

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:



1579
1580
1581
# File 'lib/lib_discord/client.rb', line 1579

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:



1723
1724
1725
# File 'lib/lib_discord/client.rb', line 1723

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:



2099
2100
2101
# File 'lib/lib_discord/client.rb', line 2099

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:



2393
2394
2395
# File 'lib/lib_discord/client.rb', line 2393

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:



2460
2461
2462
# File 'lib/lib_discord/client.rb', line 2460

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:



2472
2473
2474
# File 'lib/lib_discord/client.rb', line 2472

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:



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

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:



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

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:



657
658
659
# File 'lib/lib_discord/client.rb', line 657

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:



1407
1408
1409
# File 'lib/lib_discord/client.rb', line 1407

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:



1362
1363
1364
# File 'lib/lib_discord/client.rb', line 1362

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:



1351
1352
1353
# File 'lib/lib_discord/client.rb', line 1351

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:



1756
1757
1758
# File 'lib/lib_discord/client.rb', line 1756

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:



767
768
769
# File 'lib/lib_discord/client.rb', line 767

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:



1279
1280
1281
# File 'lib/lib_discord/client.rb', line 1279

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:



2000
2001
2002
# File 'lib/lib_discord/client.rb', line 2000

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:



703
704
705
# File 'lib/lib_discord/client.rb', line 703

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:



725
726
727
# File 'lib/lib_discord/client.rb', line 725

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:



714
715
716
# File 'lib/lib_discord/client.rb', line 714

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:



1125
1126
1127
# File 'lib/lib_discord/client.rb', line 1125

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:



636
637
638
# File 'lib/lib_discord/client.rb', line 636

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:



1787
1788
1789
# File 'lib/lib_discord/client.rb', line 1787

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:



668
669
670
# File 'lib/lib_discord/client.rb', line 668

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:



425
426
427
# File 'lib/lib_discord/client.rb', line 425

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:



2336
2337
2338
# File 'lib/lib_discord/client.rb', line 2336

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