Module: Discordrb::API::Server
- Defined in:
- lib/discordrb/api/server.rb
Overview
API calls for Server
Class Method Summary collapse
-
.add_emoji(token, server_id, image, name, roles = [], reason = nil) ⇒ Object
Adds a custom emoji.
-
.add_member(token, server_id, user_id, access_token, nick = nil, roles = [], mute = false, deaf = false) ⇒ Object
Adds a member to a server with an OAuth2 Bearer token that has been granted
guilds.joinhttps://discord.com/developers/docs/resources/guild#add-guild-member. -
.add_member_role(token, server_id, user_id, role_id, reason = nil) ⇒ Object
Adds a single role to a member https://discord.com/developers/docs/resources/guild#add-guild-member-role.
-
.audit_logs(token, server_id, limit, user_id = nil, action_type = nil, before = nil) ⇒ Object
Gets a server's audit logs https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log.
-
.avatar_url(server_id, user_id, avatar_id, format = nil) ⇒ Object
Make an member avatar URL from the server, user and avatar IDs.
-
.ban_user(token, server_id, user_id, message_days, reason = nil) ⇒ Object
deprecated
Deprecated.
Please use Server.ban_user! instead.
-
.ban_user!(token, server_id, user_id, message_seconds, reason = nil) ⇒ Object
Ban a user from a server and delete their messages up to a given amount of time.
-
.banner_url(server_id, user_id, banner_id, format = nil) ⇒ Object
Make a banner URL from the server, user and banner IDs.
-
.bans(token, server_id, limit = nil, before = nil, after = nil) ⇒ Object
Get a server's banned users https://discord.com/developers/docs/resources/guild#get-guild-bans.
-
.begin_prune(token, server_id, days, reason = nil) ⇒ Object
Begin server prune https://discord.com/developers/docs/resources/guild#begin-guild-prune.
-
.bulk_ban(token, server_id, users, message_seconds, reason = nil) ⇒ Object
Ban multiple users in one go https://discord.com/developers/docs/resources/guild#bulk-guild-ban.
-
.channels(token, server_id) ⇒ Object
Get a server's channels list https://discord.com/developers/docs/resources/guild#get-guild-channels.
-
.create_channel(token, server_id, name, type, topic, bitrate, user_limit, permission_overwrites, parent_id, nsfw, rate_limit_per_user, position, reason = nil) ⇒ Object
Create a channel https://discord.com/developers/docs/resources/guild#create-guild-channel.
-
.create_integration(token, server_id, type, id, reason = nil) ⇒ Object
Create a server integration https://discord.com/developers/docs/resources/guild#create-guild-integration.
-
.create_role(token, server_id, name, colour, hoist, mentionable, packed_permissions, reason = nil, colours = nil, icon = nil, unicode_emoji = nil) ⇒ Object
Create a role (parameters such as name and colour if not set can be set by update_role afterwards) Permissions are the Discord defaults; allowed: invite creation, reading/sending messages, sending TTS messages, embedding links, sending files, reading the history, mentioning everybody, connecting to voice, speaking and voice activity (push-to-talk isn't mandatory) https://discord.com/developers/docs/resources/guild#get-guild-roles.
-
.create_scheduled_event(token, server_id, name:, privacy_level:, scheduled_start_time:, entity_type:, channel_id: nil, entity_metadata: nil, scheduled_end_time: nil, description: nil, image: nil, recurrence_rule: nil, reason: nil) ⇒ Object
Create a scheduled event in the server.
-
.delete_emoji(token, server_id, emoji_id, reason = nil) ⇒ Object
Deletes a custom emoji https://discord.com/developers/docs/resources/emoji#delete-guild-emoji.
-
.delete_integration(token, server_id, integration_id, reason = nil) ⇒ Object
Delete a server integration https://discord.com/developers/docs/resources/guild#delete-guild-integration.
- .delete_role(token, server_id, role_id, reason = nil) ⇒ Object
-
.delete_scheduled_event(token, server_id, scheduled_event_id, reason: nil) ⇒ Object
Delete a scheduled event in the server.
-
.edit_emoji(token, server_id, emoji_id, name, roles = nil, reason = nil) ⇒ Object
Changes an emoji name and/or roles.
-
.get_scheduled_event(token, server_id, scheduled_event_id, with_user_count: false) ⇒ Object
Get a single scheduled event in the server.
-
.get_scheduled_event_users(token, server_id, scheduled_event_id, limit: 100, with_member: false, before: nil, after: nil) ⇒ Object
Get a list of subscribers for a scheduled event in the server.
-
.integrations(token, server_id) ⇒ Object
Get server integrations https://discord.com/developers/docs/resources/guild#get-guild-integrations.
-
.invites(token, server_id) ⇒ Object
Get invites from server https://discord.com/developers/docs/resources/guild#get-guild-invites.
-
.list_scheduled_events(token, server_id, with_user_count: false) ⇒ Object
Get a list of all of the active scheduled events in the server.
-
.modify_widget(token, server_id, enabled, channel_id, reason = nil) ⇒ Object
(also: modify_embed)
Modify a server's widget settings https://discord.com/developers/docs/resources/guild#modify-guild-widget.
-
.preview(token, server_id) ⇒ Object
Get the preview of a server.
-
.prune_count(token, server_id, days) ⇒ Object
Get server prune count https://discord.com/developers/docs/resources/guild#get-guild-prune-count.
-
.regions(token, server_id) ⇒ Object
Available voice regions for this server https://discord.com/developers/docs/resources/guild#get-guild-voice-regions.
-
.remove_member(token, server_id, user_id, reason = nil) ⇒ Object
Remove user from server https://discord.com/developers/docs/resources/guild#remove-guild-member.
-
.remove_member_role(token, server_id, user_id, role_id, reason = nil) ⇒ Object
Removes a single role from a member https://discord.com/developers/docs/resources/guild#remove-guild-member-role.
-
.resolve(token, server_id, with_counts = nil) ⇒ Object
Get a server's data https://discord.com/developers/docs/resources/guild#get-guild.
-
.resolve_member(token, server_id, user_id) ⇒ Object
Get a member's data https://discord.com/developers/docs/resources/guild#get-guild-member.
-
.resolve_members(token, server_id, limit, after = nil) ⇒ Object
Gets members from the server https://discord.com/developers/docs/resources/guild#list-guild-members.
-
.role(token, server_id, role_id) ⇒ Object
Get a single role https://discord.com/developers/docs/resources/guild#get-guild-role.
-
.role_member_counts(token, server_id) ⇒ Object
Get the amount of members who have a role https://discord.com/developers/docs/resources/guild#get-guild-roles-members-count.
-
.roles(token, server_id) ⇒ Object
Get server roles https://discord.com/developers/docs/resources/guild#get-guild-roles.
-
.search_guild_members(token, server_id, query, limit) ⇒ Object
Search for a guild member https://discord.com/developers/docs/resources/guild#search-guild-members.
-
.sync_integration(token, server_id, integration_id) ⇒ Object
Sync an integration https://discord.com/developers/docs/resources/guild#sync-guild-integration.
-
.unban_user(token, server_id, user_id, reason = nil) ⇒ Object
Unban a user from a server https://discord.com/developers/docs/resources/guild#remove-guild-ban.
-
.update(token, server_id, name, region, icon, afk_channel_id, afk_timeout, splash, default_message_notifications, verification_level, explicit_content_filter, system_channel_id, reason = nil) ⇒ Object
Update a server https://discord.com/developers/docs/resources/guild#modify-guild.
-
.update!(token, server_id, name: :undef, region: :undef, verification_level: :undef, default_message_notifications: :undef, explicit_content_filter: :undef, afk_channel_id: :undef, afk_timeout: :undef, icon: :undef, splash: :undef, discovery_splash: :undef, banner: :undef, system_channel_id: :undef, system_channel_flags: :undef, rules_channel_id: :undef, public_updates_channel_id: :undef, preferred_locale: :undef, features: :undef, description: :undef, premium_progress_bar_enabled: :undef, safety_alerts_channel_id: :undef, reason: nil) ⇒ Object
Update the properties of a guild.
-
.update_channel_positions(token, server_id, positions) ⇒ Object
Update a channels position https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions.
-
.update_current_member(token, server_id, nick = :undef, reason = nil, bio = :undef, banner = :undef, avatar = :undef) ⇒ Object
Update the current member's properties.
-
.update_incident_actions(token, server_id, invites_disabled_until: :undef, dms_disabled_until: :undef, reason: nil) ⇒ Object
Modify the incident actions for a server.
-
.update_integration(token, server_id, integration_id, expire_behavior, expire_grace_period, enable_emoticons) ⇒ Object
Update integration from server https://discord.com/developers/docs/resources/guild#modify-guild-integration.
-
.update_member(token, server_id, user_id, nick: :undef, roles: :undef, mute: :undef, deaf: :undef, channel_id: :undef, communication_disabled_until: :undef, flags: :undef, reason: nil) ⇒ Object
Update a user properties https://discord.com/developers/docs/resources/guild#modify-guild-member.
-
.update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, packed_permissions = 104_324_161, reason = nil, icon = :undef, unicode_emoji = :undef, colours = :undef) ⇒ Object
Update a role Permissions are the Discord defaults; allowed: invite creation, reading/sending messages, sending TTS messages, embedding links, sending files, reading the history, mentioning everybody, connecting to voice, speaking and voice activity (push-to-talk isn't mandatory) https://discord.com/developers/docs/resources/guild#batch-modify-guild-role.
-
.update_role!(token, server_id, role_id, name: :undef, permissions: :undef, colors: :undef, hoist: :undef, icon: :undef, unicode_emoji: :undef, mentionable: :undef, reason: nil) ⇒ Object
Modify the properties of a role.
-
.update_role_positions(token, server_id, roles, reason = nil) ⇒ Object
Update role positions https://discord.com/developers/docs/resources/guild#modify-guild-role-positions.
-
.update_scheduled_event(token, server_id, scheduled_event_id, name: :undef, image: :undef, status: :undef, entity_type: :undef, privacy_level: :undef, scheduled_end_time: :undef, scheduled_start_time: :undef, channel_id: :undef, description: :undef, entity_metadata: :undef, recurrence_rule: :undef, reason: nil) ⇒ Object
Update a scheduled event in the server.
-
.webhooks(token, server_id) ⇒ Object
Get server webhooks https://discord.com/developers/docs/resources/webhook#get-guild-webhooks.
-
.widget(token, server_id) ⇒ Object
(also: embed)
Retrieves a server's widget information https://discord.com/developers/docs/resources/guild#get-guild-widget.
Class Method Details
.add_emoji(token, server_id, image, name, roles = [], reason = nil) ⇒ Object
Adds a custom emoji. https://discord.com/developers/docs/resources/emoji#create-guild-emoji
552 553 554 555 556 557 558 559 560 561 562 563 |
# File 'lib/discordrb/api/server.rb', line 552 def add_emoji(token, server_id, image, name, roles = [], reason = nil) Discordrb::API.request( :guilds_sid_emojis, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis", { image: image, name: name, roles: roles }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.add_member(token, server_id, user_id, access_token, nick = nil, roles = [], mute = false, deaf = false) ⇒ Object
Adds a member to a server with an OAuth2 Bearer token that has been granted guilds.join
https://discord.com/developers/docs/resources/guild#add-guild-member
619 620 621 622 623 624 625 626 627 628 629 |
# File 'lib/discordrb/api/server.rb', line 619 def add_member(token, server_id, user_id, access_token, nick = nil, roles = [], mute = false, deaf = false) Discordrb::API.request( :guilds_sid_members_uid, server_id, :put, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}", { access_token: access_token, nick: nick, roles: roles, mute: mute, deaf: deaf }.to_json, content_type: :json, Authorization: token ) end |
.add_member_role(token, server_id, user_id, role_id, reason = nil) ⇒ Object
Adds a single role to a member https://discord.com/developers/docs/resources/guild#add-guild-member-role
368 369 370 371 372 373 374 375 376 377 378 |
# File 'lib/discordrb/api/server.rb', line 368 def add_member_role(token, server_id, user_id, role_id, reason = nil) Discordrb::API.request( :guilds_sid_members_uid_roles_rid, server_id, :put, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}/roles/#{role_id}", nil, Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.audit_logs(token, server_id, limit, user_id = nil, action_type = nil, before = nil) ⇒ Object
Gets a server's audit logs https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log
445 446 447 448 449 450 451 452 453 |
# File 'lib/discordrb/api/server.rb', line 445 def audit_logs(token, server_id, limit, user_id = nil, action_type = nil, before = nil) Discordrb::API.request( :guilds_sid_auditlogs, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/audit-logs?limit=#{limit}#{"&user_id=#{user_id}" if user_id}#{"&action_type=#{action_type}" if action_type}#{"&before=#{before}" if before}", Authorization: token ) end |
.avatar_url(server_id, user_id, avatar_id, format = nil) ⇒ Object
Make an member avatar URL from the server, user and avatar IDs
632 633 634 635 636 637 638 639 |
# File 'lib/discordrb/api/server.rb', line 632 def avatar_url(server_id, user_id, avatar_id, format = nil) format ||= if avatar_id.start_with?('a_') 'gif' else 'webp' end "#{Discordrb::API.cdn_url}/guilds/#{server_id}/users/#{user_id}/avatars/#{avatar_id}.#{format}" end |
.ban_user(token, server_id, user_id, message_days, reason = nil) ⇒ Object
Please use ban_user! instead.
https://discord.com/developers/docs/resources/guild#create-guild-ban
222 223 224 |
# File 'lib/discordrb/api/server.rb', line 222 def ban_user(token, server_id, user_id, , reason = nil) ban_user!(token, server_id, user_id, * 86_400, reason) end |
.ban_user!(token, server_id, user_id, message_seconds, reason = nil) ⇒ Object
Ban a user from a server and delete their messages up to a given amount of time. https://discord.com/developers/docs/resources/guild#create-guild-ban
228 229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/discordrb/api/server.rb', line 228 def ban_user!(token, server_id, user_id, , reason = nil) Discordrb::API.request( :guilds_sid_bans_uid, server_id, :put, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans/#{user_id}", { delete_message_seconds: }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.banner_url(server_id, user_id, banner_id, format = nil) ⇒ Object
Make a banner URL from the server, user and banner IDs
642 643 644 645 646 647 648 649 |
# File 'lib/discordrb/api/server.rb', line 642 def (server_id, user_id, , format = nil) format ||= if .start_with?('a_') 'gif' else 'webp' end "#{Discordrb::API.cdn_url}/guilds/#{server_id}/users/#{user_id}/banners/#{}.#{format}" end |
.bans(token, server_id, limit = nil, before = nil, after = nil) ⇒ Object
Get a server's banned users https://discord.com/developers/docs/resources/guild#get-guild-bans
209 210 211 212 213 214 215 216 217 218 |
# File 'lib/discordrb/api/server.rb', line 209 def bans(token, server_id, limit = nil, before = nil, after = nil) query_string = URI.encode_www_form({ limit: limit, before: before, after: after }.compact) Discordrb::API.request( :guilds_sid_bans, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans?#{query_string}", Authorization: token ) end |
.begin_prune(token, server_id, days, reason = nil) ⇒ Object
Begin server prune https://discord.com/developers/docs/resources/guild#begin-guild-prune
419 420 421 422 423 424 425 426 427 428 429 |
# File 'lib/discordrb/api/server.rb', line 419 def begin_prune(token, server_id, days, reason = nil) Discordrb::API.request( :guilds_sid_prune, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/prune", { days: days }, Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.bulk_ban(token, server_id, users, message_seconds, reason = nil) ⇒ Object
Ban multiple users in one go https://discord.com/developers/docs/resources/guild#bulk-guild-ban
653 654 655 656 657 658 659 660 661 662 663 664 |
# File 'lib/discordrb/api/server.rb', line 653 def bulk_ban(token, server_id, users, , reason = nil) Discordrb::API.request( :guilds_sid_bulk_bans, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/bulk-ban", { user_ids: users, delete_message_seconds: }.compact.to_json, content_type: :json, Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.channels(token, server_id) ⇒ Object
Get a server's channels list https://discord.com/developers/docs/resources/guild#get-guild-channels
66 67 68 69 70 71 72 73 74 |
# File 'lib/discordrb/api/server.rb', line 66 def channels(token, server_id) Discordrb::API.request( :guilds_sid_channels, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/channels", Authorization: token ) end |
.create_channel(token, server_id, name, type, topic, bitrate, user_limit, permission_overwrites, parent_id, nsfw, rate_limit_per_user, position, reason = nil) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/discordrb/api/server.rb', line 78 def create_channel(token, server_id, name, type, topic, bitrate, user_limit, , parent_id, nsfw, rate_limit_per_user, position, reason = nil) Discordrb::API.request( :guilds_sid_channels, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/channels", { name: name, type: type, topic: topic, bitrate: bitrate, user_limit: user_limit, permission_overwrites: , parent_id: parent_id, nsfw: nsfw, rate_limit_per_user: rate_limit_per_user, position: position }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.create_integration(token, server_id, type, id, reason = nil) ⇒ Object
Create a server integration https://discord.com/developers/docs/resources/guild#create-guild-integration
469 470 471 472 473 474 475 476 477 478 479 |
# File 'lib/discordrb/api/server.rb', line 469 def create_integration(token, server_id, type, id, reason = nil) Discordrb::API.request( :guilds_sid_integrations, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations", { type: type, id: id }, Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.create_role(token, server_id, name, colour, hoist, mentionable, packed_permissions, reason = nil, colours = nil, icon = nil, unicode_emoji = nil) ⇒ Object
Create a role (parameters such as name and colour if not set can be set by update_role afterwards) Permissions are the Discord defaults; allowed: invite creation, reading/sending messages, sending TTS messages, embedding links, sending files, reading the history, mentioning everybody, connecting to voice, speaking and voice activity (push-to-talk isn't mandatory) https://discord.com/developers/docs/resources/guild#get-guild-roles
283 284 285 286 287 288 289 290 291 292 293 294 |
# File 'lib/discordrb/api/server.rb', line 283 def create_role(token, server_id, name, colour, hoist, mentionable, , reason = nil, colours = nil, icon = nil, unicode_emoji = nil) Discordrb::API.request( :guilds_sid_roles, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles", { color: colour, name: name, hoist: hoist, mentionable: mentionable, permissions: , colors: colours, icon: icon, unicode_emoji: unicode_emoji }.compact.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.create_scheduled_event(token, server_id, name:, privacy_level:, scheduled_start_time:, entity_type:, channel_id: nil, entity_metadata: nil, scheduled_end_time: nil, description: nil, image: nil, recurrence_rule: nil, reason: nil) ⇒ Object
Create a scheduled event in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
706 707 708 709 710 711 712 713 714 715 716 717 |
# File 'lib/discordrb/api/server.rb', line 706 def create_scheduled_event(token, server_id, name:, privacy_level:, scheduled_start_time:, entity_type:, channel_id: nil, entity_metadata: nil, scheduled_end_time: nil, description: nil, image: nil, recurrence_rule: nil, reason: nil) Discordrb::API.request( :guilds_sid_scheduled_events, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events", { name:, privacy_level:, scheduled_start_time:, entity_type:, channel_id:, entity_metadata:, scheduled_end_time:, description:, image:, recurrence_rule: }.compact.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.delete_emoji(token, server_id, emoji_id, reason = nil) ⇒ Object
Deletes a custom emoji https://discord.com/developers/docs/resources/emoji#delete-guild-emoji
582 583 584 585 586 587 588 589 590 591 |
# File 'lib/discordrb/api/server.rb', line 582 def delete_emoji(token, server_id, emoji_id, reason = nil) Discordrb::API.request( :guilds_sid_emojis_eid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis/#{emoji_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.delete_integration(token, server_id, integration_id, reason = nil) ⇒ Object
Delete a server integration https://discord.com/developers/docs/resources/guild#delete-guild-integration
497 498 499 500 501 502 503 504 505 506 |
# File 'lib/discordrb/api/server.rb', line 497 def delete_integration(token, server_id, integration_id, reason = nil) Discordrb::API.request( :guilds_sid_integrations_iid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations/#{integration_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.delete_role(token, server_id, role_id, reason = nil) ⇒ Object
355 356 357 358 359 360 361 362 363 364 |
# File 'lib/discordrb/api/server.rb', line 355 def delete_role(token, server_id, role_id, reason = nil) Discordrb::API.request( :guilds_sid_roles_rid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.delete_scheduled_event(token, server_id, scheduled_event_id, reason: nil) ⇒ Object
Delete a scheduled event in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
736 737 738 739 740 741 742 743 744 745 |
# File 'lib/discordrb/api/server.rb', line 736 def delete_scheduled_event(token, server_id, scheduled_event_id, reason: nil) Discordrb::API.request( :guilds_sid_scheduled_events_seid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events/#{scheduled_event_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.edit_emoji(token, server_id, emoji_id, name, roles = nil, reason = nil) ⇒ Object
Changes an emoji name and/or roles. https://discord.com/developers/docs/resources/emoji#modify-guild-emoji
567 568 569 570 571 572 573 574 575 576 577 578 |
# File 'lib/discordrb/api/server.rb', line 567 def edit_emoji(token, server_id, emoji_id, name, roles = nil, reason = nil) Discordrb::API.request( :guilds_sid_emojis_eid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis/#{emoji_id}", { name: name, roles: roles }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.get_scheduled_event(token, server_id, scheduled_event_id, with_user_count: false) ⇒ Object
Get a single scheduled event in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
680 681 682 683 684 685 686 687 688 |
# File 'lib/discordrb/api/server.rb', line 680 def get_scheduled_event(token, server_id, scheduled_event_id, with_user_count: false) Discordrb::API.request( :guilds_sid_scheduled_events_seid, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events/#{scheduled_event_id}?with_user_count=#{with_user_count}", Authorization: token ) end |
.get_scheduled_event_users(token, server_id, scheduled_event_id, limit: 100, with_member: false, before: nil, after: nil) ⇒ Object
Get a list of subscribers for a scheduled event in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
692 693 694 695 696 697 698 699 700 701 702 |
# File 'lib/discordrb/api/server.rb', line 692 def get_scheduled_event_users(token, server_id, scheduled_event_id, limit: 100, with_member: false, before: nil, after: nil) query = URI.encode_www_form({ limit:, with_member:, before:, after: }.compact) Discordrb::API.request( :guilds_sid_scheduled_events_seid_users, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events/#{scheduled_event_id}/users?#{query}", Authorization: token ) end |
.integrations(token, server_id) ⇒ Object
Get server integrations https://discord.com/developers/docs/resources/guild#get-guild-integrations
457 458 459 460 461 462 463 464 465 |
# File 'lib/discordrb/api/server.rb', line 457 def integrations(token, server_id) Discordrb::API.request( :guilds_sid_integrations, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations", Authorization: token ) end |
.invites(token, server_id) ⇒ Object
Get invites from server https://discord.com/developers/docs/resources/guild#get-guild-invites
433 434 435 436 437 438 439 440 441 |
# File 'lib/discordrb/api/server.rb', line 433 def invites(token, server_id) Discordrb::API.request( :guilds_sid_invites, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/invites", Authorization: token ) end |
.list_scheduled_events(token, server_id, with_user_count: false) ⇒ Object
Get a list of all of the active scheduled events in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
668 669 670 671 672 673 674 675 676 |
# File 'lib/discordrb/api/server.rb', line 668 def list_scheduled_events(token, server_id, with_user_count: false) Discordrb::API.request( :guilds_sid_scheduled_events, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events?with_user_count=#{with_user_count}", Authorization: token ) end |
.modify_widget(token, server_id, enabled, channel_id, reason = nil) ⇒ Object Also known as: modify_embed
Modify a server's widget settings https://discord.com/developers/docs/resources/guild#modify-guild-widget
536 537 538 539 540 541 542 543 544 545 546 547 |
# File 'lib/discordrb/api/server.rb', line 536 def (token, server_id, enabled, channel_id, reason = nil) Discordrb::API.request( :guilds_sid_embed, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/widget", { enabled: enabled, channel_id: channel_id }.to_json, Authorization: token, 'X-Audit-Log-Reason': reason, content_type: :json ) end |
.preview(token, server_id) ⇒ Object
Get the preview of a server. https://discord.com/developers/docs/resources/guild#get-guild-preview
93 94 95 96 97 98 99 100 101 |
# File 'lib/discordrb/api/server.rb', line 93 def preview(token, server_id) Discordrb::API.request( :guilds_sid_preview, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/preview", Authorization: token ) end |
.prune_count(token, server_id, days) ⇒ Object
Get server prune count https://discord.com/developers/docs/resources/guild#get-guild-prune-count
407 408 409 410 411 412 413 414 415 |
# File 'lib/discordrb/api/server.rb', line 407 def prune_count(token, server_id, days) Discordrb::API.request( :guilds_sid_prune, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/prune?days=#{days}", Authorization: token ) end |
.regions(token, server_id) ⇒ Object
Available voice regions for this server https://discord.com/developers/docs/resources/guild#get-guild-voice-regions
595 596 597 598 599 600 601 602 603 |
# File 'lib/discordrb/api/server.rb', line 595 def regions(token, server_id) Discordrb::API.request( :guilds_sid_regions, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/regions", Authorization: token ) end |
.remove_member(token, server_id, user_id, reason = nil) ⇒ Object
Remove user from server https://discord.com/developers/docs/resources/guild#remove-guild-member
195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/discordrb/api/server.rb', line 195 def remove_member(token, server_id, user_id, reason = nil) Discordrb::API.request( :guilds_sid_members_uid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}", Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.remove_member_role(token, server_id, user_id, role_id, reason = nil) ⇒ Object
Removes a single role from a member https://discord.com/developers/docs/resources/guild#remove-guild-member-role
382 383 384 385 386 387 388 389 390 391 |
# File 'lib/discordrb/api/server.rb', line 382 def remove_member_role(token, server_id, user_id, role_id, reason = nil) Discordrb::API.request( :guilds_sid_members_uid_roles_rid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}/roles/#{role_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.resolve(token, server_id, with_counts = nil) ⇒ Object
Get a server's data https://discord.com/developers/docs/resources/guild#get-guild
9 10 11 12 13 14 15 16 17 |
# File 'lib/discordrb/api/server.rb', line 9 def resolve(token, server_id, with_counts = nil) Discordrb::API.request( :guilds_sid, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}#{'?with_counts=true' if with_counts}", Authorization: token ) end |
.resolve_member(token, server_id, user_id) ⇒ Object
Get a member's data https://discord.com/developers/docs/resources/guild#get-guild-member
119 120 121 122 123 124 125 126 127 |
# File 'lib/discordrb/api/server.rb', line 119 def resolve_member(token, server_id, user_id) Discordrb::API.request( :guilds_sid_members_uid, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}", Authorization: token ) end |
.resolve_members(token, server_id, limit, after = nil) ⇒ Object
Gets members from the server https://discord.com/developers/docs/resources/guild#list-guild-members
131 132 133 134 135 136 137 138 139 140 |
# File 'lib/discordrb/api/server.rb', line 131 def resolve_members(token, server_id, limit, after = nil) query_string = URI.encode_www_form({ limit: limit, after: after }.compact) Discordrb::API.request( :guilds_sid_members, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/members?#{query_string}", Authorization: token ) end |
.role(token, server_id, role_id) ⇒ Object
Get a single role https://discord.com/developers/docs/resources/guild#get-guild-role
268 269 270 271 272 273 274 275 276 |
# File 'lib/discordrb/api/server.rb', line 268 def role(token, server_id, role_id) Discordrb::API.request( :guilds_sid_roles_rid, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", Authorization: token ) end |
.role_member_counts(token, server_id) ⇒ Object
Get the amount of members who have a role https://discord.com/developers/docs/resources/guild#get-guild-roles-members-count
395 396 397 398 399 400 401 402 403 |
# File 'lib/discordrb/api/server.rb', line 395 def role_member_counts(token, server_id) Discordrb::API.request( :guilds_sid_roles_member_counts, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/member-counts", Authorization: token ) end |
.roles(token, server_id) ⇒ Object
Get server roles https://discord.com/developers/docs/resources/guild#get-guild-roles
256 257 258 259 260 261 262 263 264 |
# File 'lib/discordrb/api/server.rb', line 256 def roles(token, server_id) Discordrb::API.request( :guilds_sid_roles, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles", Authorization: token ) end |
.search_guild_members(token, server_id, query, limit) ⇒ Object
Search for a guild member https://discord.com/developers/docs/resources/guild#search-guild-members
144 145 146 147 148 149 150 151 152 153 |
# File 'lib/discordrb/api/server.rb', line 144 def search_guild_members(token, server_id, query, limit) query_string = URI.encode_www_form({ query: query, limit: limit }.compact) Discordrb::API.request( :guilds_sid_members, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/search?#{query_string}", Authorization: token ) end |
.sync_integration(token, server_id, integration_id) ⇒ Object
Sync an integration https://discord.com/developers/docs/resources/guild#sync-guild-integration
510 511 512 513 514 515 516 517 518 519 |
# File 'lib/discordrb/api/server.rb', line 510 def sync_integration(token, server_id, integration_id) Discordrb::API.request( :guilds_sid_integrations_iid_sync, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations/#{integration_id}/sync", nil, Authorization: token ) end |
.unban_user(token, server_id, user_id, reason = nil) ⇒ Object
Unban a user from a server https://discord.com/developers/docs/resources/guild#remove-guild-ban
243 244 245 246 247 248 249 250 251 252 |
# File 'lib/discordrb/api/server.rb', line 243 def unban_user(token, server_id, user_id, reason = nil) Discordrb::API.request( :guilds_sid_bans_uid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans/#{user_id}", Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.update(token, server_id, name, region, icon, afk_channel_id, afk_timeout, splash, default_message_notifications, verification_level, explicit_content_filter, system_channel_id, reason = nil) ⇒ Object
Update a server https://discord.com/developers/docs/resources/guild#modify-guild
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/discordrb/api/server.rb', line 21 def update(token, server_id, name, region, icon, afk_channel_id, afk_timeout, splash, , verification_level, explicit_content_filter, system_channel_id, reason = nil) Discordrb::API.request( :guilds_sid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}", { name: name, region: region, icon: icon, afk_channel_id: afk_channel_id, afk_timeout: afk_timeout, splash: splash, default_message_notifications: , verification_level: verification_level, explicit_content_filter: explicit_content_filter, system_channel_id: system_channel_id }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update!(token, server_id, name: :undef, region: :undef, verification_level: :undef, default_message_notifications: :undef, explicit_content_filter: :undef, afk_channel_id: :undef, afk_timeout: :undef, icon: :undef, splash: :undef, discovery_splash: :undef, banner: :undef, system_channel_id: :undef, system_channel_flags: :undef, rules_channel_id: :undef, public_updates_channel_id: :undef, preferred_locale: :undef, features: :undef, description: :undef, premium_progress_bar_enabled: :undef, safety_alerts_channel_id: :undef, reason: nil) ⇒ Object
Update the properties of a guild. https://discord.com/developers/docs/resources/guild#modify-guild
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/discordrb/api/server.rb', line 36 def update!(token, server_id, name: :undef, region: :undef, verification_level: :undef, default_message_notifications: :undef, explicit_content_filter: :undef, afk_channel_id: :undef, afk_timeout: :undef, icon: :undef, splash: :undef, discovery_splash: :undef, banner: :undef, system_channel_id: :undef, system_channel_flags: :undef, rules_channel_id: :undef, public_updates_channel_id: :undef, preferred_locale: :undef, features: :undef, description: :undef, premium_progress_bar_enabled: :undef, safety_alerts_channel_id: :undef, reason: nil) Discordrb::API.request( :guilds_sid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}", { name:, region:, verification_level:, default_message_notifications:, explicit_content_filter:, afk_channel_id:, afk_timeout:, icon:, splash:, discovery_splash:, banner:, system_channel_id:, system_channel_flags:, rules_channel_id:, public_updates_channel_id:, preferred_locale:, features:, description:, premium_progress_bar_enabled:, safety_alerts_channel_id: }.reject { |_, value| value == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_channel_positions(token, server_id, positions) ⇒ Object
Update a channels position https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/discordrb/api/server.rb', line 105 def update_channel_positions(token, server_id, positions) Discordrb::API.request( :guilds_sid_channels, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/channels", positions.to_json, Authorization: token, content_type: :json ) end |
.update_current_member(token, server_id, nick = :undef, reason = nil, bio = :undef, banner = :undef, avatar = :undef) ⇒ Object
Update the current member's properties. https://discord.com/developers/docs/resources/guild#modify-current-member
180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/discordrb/api/server.rb', line 180 def update_current_member(token, server_id, nick = :undef, reason = nil, bio = :undef, = :undef, avatar = :undef) Discordrb::API.request( :guilds_sid_members_me, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/@me", { nick: nick, bio: bio, banner: , avatar: avatar }.reject { |_, v| v == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_incident_actions(token, server_id, invites_disabled_until: :undef, dms_disabled_until: :undef, reason: nil) ⇒ Object
Modify the incident actions for a server. https://discord.com/developers/docs/resources/guild#modify-guild-incident-actions
51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/discordrb/api/server.rb', line 51 def update_incident_actions(token, server_id, invites_disabled_until: :undef, dms_disabled_until: :undef, reason: nil) Discordrb::API.request( :guilds_sid_incidents_actions, server_id, :put, "#{Discordrb::API.api_base}/guilds/#{server_id}/incident-actions", { invites_disabled_until:, dms_disabled_until: }.reject { |_, value| value == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_integration(token, server_id, integration_id, expire_behavior, expire_grace_period, enable_emoticons) ⇒ Object
Update integration from server https://discord.com/developers/docs/resources/guild#modify-guild-integration
483 484 485 486 487 488 489 490 491 492 493 |
# File 'lib/discordrb/api/server.rb', line 483 def update_integration(token, server_id, integration_id, expire_behavior, expire_grace_period, enable_emoticons) Discordrb::API.request( :guilds_sid_integrations_iid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations/#{integration_id}", { expire_behavior: expire_behavior, expire_grace_period: expire_grace_period, enable_emoticons: enable_emoticons }.to_json, Authorization: token, content_type: :json ) end |
.update_member(token, server_id, user_id, nick: :undef, roles: :undef, mute: :undef, deaf: :undef, channel_id: :undef, communication_disabled_until: :undef, flags: :undef, reason: nil) ⇒ Object
Update a user properties https://discord.com/developers/docs/resources/guild#modify-guild-member
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/discordrb/api/server.rb', line 157 def update_member(token, server_id, user_id, nick: :undef, roles: :undef, mute: :undef, deaf: :undef, channel_id: :undef, communication_disabled_until: :undef, flags: :undef, reason: nil) Discordrb::API.request( :guilds_sid_members_uid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/members/#{user_id}", { roles: roles, nick: nick, mute: mute, deaf: deaf, channel_id: channel_id, communication_disabled_until: communication_disabled_until, flags: flags }.reject { |_, v| v == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, packed_permissions = 104_324_161, reason = nil, icon = :undef, unicode_emoji = :undef, colours = :undef) ⇒ Object
Update a role Permissions are the Discord defaults; allowed: invite creation, reading/sending messages, sending TTS messages, embedding links, sending files, reading the history, mentioning everybody, connecting to voice, speaking and voice activity (push-to-talk isn't mandatory) https://discord.com/developers/docs/resources/guild#batch-modify-guild-role
302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 |
# File 'lib/discordrb/api/server.rb', line 302 def update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, = 104_324_161, reason = nil, icon = :undef, unicode_emoji = :undef, colours = :undef) data = { color: colour, name: name, hoist: hoist, mentionable: mentionable, permissions: , colors: colours, unicode_emoji: unicode_emoji } if icon != :undef && icon data[:icon] = Discordrb.encode64(icon) elsif icon.nil? data[:icon] = nil end Discordrb::API.request( :guilds_sid_roles_rid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", data.reject { |_, value| value == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_role!(token, server_id, role_id, name: :undef, permissions: :undef, colors: :undef, hoist: :undef, icon: :undef, unicode_emoji: :undef, mentionable: :undef, reason: nil) ⇒ Object
Modify the properties of a role. https://docs.discord.com/developers/resources/guild#modify-guild-role
325 326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/discordrb/api/server.rb', line 325 def update_role!(token, server_id, role_id, name: :undef, permissions: :undef, colors: :undef, hoist: :undef, icon: :undef, unicode_emoji: :undef, mentionable: :undef, reason: nil) Discordrb::API.request( :guilds_sid_roles_rid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", { name:, permissions:, colors:, hoist:, icon:, unicode_emoji:, mentionable: }.reject { |_, value| value == :undef }.to_json, content_type: :json, Authorization: token, 'X-Audit-Log-Reason': reason ) end |
.update_role_positions(token, server_id, roles, reason = nil) ⇒ Object
Update role positions https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
340 341 342 343 344 345 346 347 348 349 350 351 |
# File 'lib/discordrb/api/server.rb', line 340 def update_role_positions(token, server_id, roles, reason = nil) Discordrb::API.request( :guilds_sid_roles, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles", roles.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.update_scheduled_event(token, server_id, scheduled_event_id, name: :undef, image: :undef, status: :undef, entity_type: :undef, privacy_level: :undef, scheduled_end_time: :undef, scheduled_start_time: :undef, channel_id: :undef, description: :undef, entity_metadata: :undef, recurrence_rule: :undef, reason: nil) ⇒ Object
Update a scheduled event in the server. https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
721 722 723 724 725 726 727 728 729 730 731 732 |
# File 'lib/discordrb/api/server.rb', line 721 def update_scheduled_event(token, server_id, scheduled_event_id, name: :undef, image: :undef, status: :undef, entity_type: :undef, privacy_level: :undef, scheduled_end_time: :undef, scheduled_start_time: :undef, channel_id: :undef, description: :undef, entity_metadata: :undef, recurrence_rule: :undef, reason: nil) Discordrb::API.request( :guilds_sid_scheduled_events_seid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/scheduled-events/#{scheduled_event_id}", { name:, image:, status:, entity_type:, privacy_level:, scheduled_end_time:, scheduled_start_time:, channel_id:, description:, entity_metadata:, recurrence_rule: }.reject { |_, value| value == :undef }.to_json, Authorization: token, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.webhooks(token, server_id) ⇒ Object
Get server webhooks https://discord.com/developers/docs/resources/webhook#get-guild-webhooks
607 608 609 610 611 612 613 614 615 |
# File 'lib/discordrb/api/server.rb', line 607 def webhooks(token, server_id) Discordrb::API.request( :guilds_sid_webhooks, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/webhooks", Authorization: token ) end |
.widget(token, server_id) ⇒ Object Also known as: embed
Retrieves a server's widget information https://discord.com/developers/docs/resources/guild#get-guild-widget
523 524 525 526 527 528 529 530 531 |
# File 'lib/discordrb/api/server.rb', line 523 def (token, server_id) Discordrb::API.request( :guilds_sid_embed, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/widget", Authorization: token ) end |