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) ⇒ Object
Adds a custom emoji.
-
.ban_user(token, server_id, user_id, message_days) ⇒ Object
Ban a user from a server and delete their messages from the last message_days days https://discordapp.com/developers/docs/resources/guild#create-guild-ban.
-
.bans(token, server_id) ⇒ Object
Get a server's banned users https://discordapp.com/developers/docs/resources/guild#get-guild-bans.
-
.begin_prune(token, server_id, days) ⇒ Object
Begin server prune https://discordapp.com/developers/docs/resources/guild#begin-guild-prune.
-
.channels(token, server_id) ⇒ Object
Get a server's channels list https://discordapp.com/developers/docs/resources/guild#get-guild-channels.
-
.create(token, name, region = :london) ⇒ Object
Create a server https://discordapp.com/developers/docs/resources/guild#create-guild.
- .create_channel(token, server_id, name, type) ⇒ Object
-
.create_integration(token, server_id, type, id) ⇒ Object
Create a server integration https://discordapp.com/developers/docs/resources/guild#create-guild-integration.
-
.create_role(token, server_id) ⇒ Object
Create a role (parameters such as name and colour will have to be set by update_role afterwards) https://discordapp.com/developers/docs/resources/guild#get-guild-roles.
-
.delete(token, server_id) ⇒ Object
Delete a server https://discordapp.com/developers/docs/resources/guild#delete-guild.
-
.delete_emoji(token, server_id, emoji_id) ⇒ Object
Deletes a custom emoji.
-
.delete_integration(token, server_id, integration_id) ⇒ Object
Delete a server integration https://discordapp.com/developers/docs/resources/guild#delete-guild-integration.
- .delete_role(token, server_id, role_id) ⇒ Object
-
.edit_emoji(token, server_id, emoji_id, name) ⇒ Object
Changes an emoji name.
-
.integrations(token, server_id) ⇒ Object
Get server integrations https://discordapp.com/developers/docs/resources/guild#get-guild-integrations.
-
.invites(token, server_id) ⇒ Object
Get invites from server https://discordapp.com/developers/docs/resources/guild#get-guild-invites.
-
.prune_count(token, server_id) ⇒ Object
Get server prune count https://discordapp.com/developers/docs/resources/guild#get-guild-prune-count.
-
.remove_member(token, server_id, user_id) ⇒ Object
Remove user from server https://discordapp.com/developers/docs/resources/guild#remove-guild-member.
-
.resolve(token, server_id) ⇒ Object
Get a server's data https://discordapp.com/developers/docs/resources/guild#get-guild.
-
.resolve_member(token, server_id, user_id) ⇒ Object
Get a member's data https://discordapp.com/developers/docs/resources/guild#get-guild-member.
-
.resolve_members(token, server_id, limit, after = nil) ⇒ Object
Gets members from the server https://discordapp.com/developers/docs/resources/guild#list-guild-members.
-
.roles(token, server_id) ⇒ Object
Get server roles https://discordapp.com/developers/docs/resources/guild#get-guild-roles.
-
.sync_integration(token, server_id, integration_id) ⇒ Object
Sync an integration https://discordapp.com/developers/docs/resources/guild#sync-guild-integration.
-
.transfer_ownership(token, server_id, user_id) ⇒ Object
Transfer server ownership.
-
.unban_user(token, server_id, user_id) ⇒ Object
Unban a user from a server https://discordapp.com/developers/docs/resources/guild#remove-guild-ban.
-
.update(token, server_id, name, region, icon, afk_channel_id, afk_timeout) ⇒ Object
Update a server https://discordapp.com/developers/docs/resources/guild#modify-guild.
-
.update_channel(token, server_id, channel_id, position) ⇒ Object
Update a channels position https://discordapp.com/developers/docs/resources/guild#modify-guild-channel.
-
.update_integration(token, server_id, integration_id, expire_behavior, expire_grace_period, enable_emoticons) ⇒ Object
Update integration from server https://discordapp.com/developers/docs/resources/guild#modify-guild-integration.
-
.update_member(token, server_id, user_id, nick: nil, roles: nil, mute: nil, deaf: nil, channel_id: nil) ⇒ Object
Update a user properties https://discordapp.com/developers/docs/resources/guild#modify-guild-member.
-
.update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, packed_permissions = 36_953_089) ⇒ 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://discordapp.com/developers/docs/resources/guild#batch-modify-guild-role.
Class Method Details
.add_emoji(token, server_id, image, name) ⇒ Object
Adds a custom emoji
359 360 361 362 363 364 365 366 367 368 369 |
# File 'lib/discordrb/api/server.rb', line 359 def add_emoji(token, server_id, image, name) Discordrb::API.request( :guilds_sid_emojis, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis", { image: image, name: name }.to_json, Authorization: token, content_type: :json ) end |
.ban_user(token, server_id, user_id, message_days) ⇒ Object
Ban a user from a server and delete their messages from the last message_days days https://discordapp.com/developers/docs/resources/guild#create-guild-ban
180 181 182 183 184 185 186 187 188 189 |
# File 'lib/discordrb/api/server.rb', line 180 def ban_user(token, server_id, user_id, ) Discordrb::API.request( :guilds_sid_bans_uid, server_id, :put, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans/#{user_id}?delete-message-days=#{}", nil, Authorization: token ) end |
.bans(token, server_id) ⇒ Object
Get a server's banned users https://discordapp.com/developers/docs/resources/guild#get-guild-bans
168 169 170 171 172 173 174 175 176 |
# File 'lib/discordrb/api/server.rb', line 168 def bans(token, server_id) Discordrb::API.request( :guilds_sid_bans, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans", Authorization: token ) end |
.begin_prune(token, server_id, days) ⇒ Object
Begin server prune https://discordapp.com/developers/docs/resources/guild#begin-guild-prune
271 272 273 274 275 276 277 278 279 280 |
# File 'lib/discordrb/api/server.rb', line 271 def begin_prune(token, server_id, days) Discordrb::API.request( :guilds_sid_prune, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/prune", { days: days }, Authorization: token ) end |
.channels(token, server_id) ⇒ Object
Get a server's channels list https://discordapp.com/developers/docs/resources/guild#get-guild-channels
72 73 74 75 76 77 78 79 80 |
# File 'lib/discordrb/api/server.rb', line 72 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(token, name, region = :london) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/discordrb/api/server.rb', line 7 def create(token, name, region = :london) Discordrb::API.request( :guilds, nil, :post, "#{Discordrb::API.api_base}/guilds", { name: name, region: region.to_s }.to_json, Authorization: token, content_type: :json ) end |
.create_channel(token, server_id, name, type) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/discordrb/api/server.rb', line 84 def create_channel(token, server_id, name, type) Discordrb::API.request( :guilds_sid_channels, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/channels", { name: name, type: type }.to_json, Authorization: token, content_type: :json ) end |
.create_integration(token, server_id, type, id) ⇒ Object
Create a server integration https://discordapp.com/developers/docs/resources/guild#create-guild-integration
308 309 310 311 312 313 314 315 316 317 |
# File 'lib/discordrb/api/server.rb', line 308 def create_integration(token, server_id, type, id) Discordrb::API.request( :guilds_sid_integrations, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations", { type: type, id: id }, Authorization: token ) end |
.create_role(token, server_id) ⇒ Object
Create a role (parameters such as name and colour will have to be set by update_role afterwards) https://discordapp.com/developers/docs/resources/guild#get-guild-roles
217 218 219 220 221 222 223 224 225 226 |
# File 'lib/discordrb/api/server.rb', line 217 def create_role(token, server_id) Discordrb::API.request( :guilds_sid_roles, server_id, :post, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles", nil, Authorization: token ) end |
.delete(token, server_id) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/discordrb/api/server.rb', line 60 def delete(token, server_id) Discordrb::API.request( :guilds_sid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}", Authorization: token ) end |
.delete_emoji(token, server_id, emoji_id) ⇒ Object
Deletes a custom emoji
385 386 387 388 389 390 391 392 393 |
# File 'lib/discordrb/api/server.rb', line 385 def delete_emoji(token, server_id, emoji_id) Discordrb::API.request( :guilds_sid_emojis_eid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis/#{emoji_id}", Authorization: token ) end |
.delete_integration(token, server_id, integration_id) ⇒ Object
Delete a server integration https://discordapp.com/developers/docs/resources/guild#delete-guild-integration
335 336 337 338 339 340 341 342 343 |
# File 'lib/discordrb/api/server.rb', line 335 def delete_integration(token, server_id, integration_id) Discordrb::API.request( :guilds_sid_integrations_iid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/integrations/#{integration_id}", Authorization: token ) end |
.delete_role(token, server_id, role_id) ⇒ Object
247 248 249 250 251 252 253 254 255 |
# File 'lib/discordrb/api/server.rb', line 247 def delete_role(token, server_id, role_id) Discordrb::API.request( :guilds_sid_roles_rid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", Authorization: token ) end |
.edit_emoji(token, server_id, emoji_id, name) ⇒ Object
Changes an emoji name
372 373 374 375 376 377 378 379 380 381 382 |
# File 'lib/discordrb/api/server.rb', line 372 def edit_emoji(token, server_id, emoji_id, name) Discordrb::API.request( :guilds_sid_emojis_eid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/emojis/#{emoji_id}", { name: name }.to_json, Authorization: token, content_type: :json ) end |
.integrations(token, server_id) ⇒ Object
Get server integrations https://discordapp.com/developers/docs/resources/guild#get-guild-integrations
296 297 298 299 300 301 302 303 304 |
# File 'lib/discordrb/api/server.rb', line 296 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://discordapp.com/developers/docs/resources/guild#get-guild-invites
284 285 286 287 288 289 290 291 292 |
# File 'lib/discordrb/api/server.rb', line 284 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 |
.prune_count(token, server_id) ⇒ Object
Get server prune count https://discordapp.com/developers/docs/resources/guild#get-guild-prune-count
259 260 261 262 263 264 265 266 267 |
# File 'lib/discordrb/api/server.rb', line 259 def prune_count(token, server_id) Discordrb::API.request( :guilds_sid_prune, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/prune", Authorization: token ) end |
.remove_member(token, server_id, user_id) ⇒ Object
Remove user from server https://discordapp.com/developers/docs/resources/guild#remove-guild-member
155 156 157 158 159 160 161 162 163 164 |
# File 'lib/discordrb/api/server.rb', line 155 def remove_member(token, server_id, user_id) 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 ) end |
.resolve(token, server_id) ⇒ Object
Get a server's data https://discordapp.com/developers/docs/resources/guild#get-guild
21 22 23 24 25 26 27 28 29 |
# File 'lib/discordrb/api/server.rb', line 21 def resolve(token, server_id) Discordrb::API.request( :guilds_sid, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}", Authorization: token ) end |
.resolve_member(token, server_id, user_id) ⇒ Object
Get a member's data https://discordapp.com/developers/docs/resources/guild#get-guild-member
112 113 114 115 116 117 118 119 120 |
# File 'lib/discordrb/api/server.rb', line 112 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://discordapp.com/developers/docs/resources/guild#list-guild-members
124 125 126 127 128 129 130 131 132 |
# File 'lib/discordrb/api/server.rb', line 124 def resolve_members(token, server_id, limit, after = nil) Discordrb::API.request( :guilds_sid_members, server_id, :get, "#{Discordrb::API.api_base}/guilds/#{server_id}/members?limit=#{limit}#{"&after=#{after}" if after}", Authorization: token ) end |
.roles(token, server_id) ⇒ Object
205 206 207 208 209 210 211 212 213 |
# File 'lib/discordrb/api/server.rb', line 205 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 |
.sync_integration(token, server_id, integration_id) ⇒ Object
Sync an integration https://discordapp.com/developers/docs/resources/guild#sync-guild-integration
347 348 349 350 351 352 353 354 355 356 |
# File 'lib/discordrb/api/server.rb', line 347 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 |
.transfer_ownership(token, server_id, user_id) ⇒ Object
Transfer server ownership
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/discordrb/api/server.rb', line 46 def transfer_ownership(token, server_id, user_id) Discordrb::API.request( :guilds_sid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}", { owner_id: user_id }.to_json, Authorization: token, content_type: :json ) end |
.unban_user(token, server_id, user_id) ⇒ Object
Unban a user from a server https://discordapp.com/developers/docs/resources/guild#remove-guild-ban
193 194 195 196 197 198 199 200 201 |
# File 'lib/discordrb/api/server.rb', line 193 def unban_user(token, server_id, user_id) Discordrb::API.request( :guilds_sid_bans_uid, server_id, :delete, "#{Discordrb::API.api_base}/guilds/#{server_id}/bans/#{user_id}", Authorization: token ) end |
.update(token, server_id, name, region, icon, afk_channel_id, afk_timeout) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/discordrb/api/server.rb', line 33 def update(token, server_id, name, region, icon, afk_channel_id, afk_timeout) 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 }.to_json, Authorization: token, content_type: :json ) end |
.update_channel(token, server_id, channel_id, position) ⇒ Object
Update a channels position https://discordapp.com/developers/docs/resources/guild#modify-guild-channel
98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/discordrb/api/server.rb', line 98 def update_channel(token, server_id, channel_id, position) Discordrb::API.request( :guilds_sid_channels, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/channels", { id: channel_id, position: position }.to_json, Authorization: token, content_type: :json ) end |
.update_integration(token, server_id, integration_id, expire_behavior, expire_grace_period, enable_emoticons) ⇒ Object
Update integration from server https://discordapp.com/developers/docs/resources/guild#modify-guild-integration
321 322 323 324 325 326 327 328 329 330 331 |
# File 'lib/discordrb/api/server.rb', line 321 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: nil, roles: nil, mute: nil, deaf: nil, channel_id: nil) ⇒ Object
Update a user properties https://discordapp.com/developers/docs/resources/guild#modify-guild-member
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/discordrb/api/server.rb', line 136 def update_member(token, server_id, user_id, nick: nil, roles: nil, mute: nil, deaf: nil, channel_id: 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 }.reject { |_, v| v.nil? }.to_json, Authorization: token, content_type: :json ) end |
.update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, packed_permissions = 36_953_089) ⇒ 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://discordapp.com/developers/docs/resources/guild#batch-modify-guild-role
233 234 235 236 237 238 239 240 241 242 243 |
# File 'lib/discordrb/api/server.rb', line 233 def update_role(token, server_id, role_id, name, colour, hoist = false, mentionable = false, = 36_953_089) Discordrb::API.request( :guilds_sid_roles_rid, server_id, :patch, "#{Discordrb::API.api_base}/guilds/#{server_id}/roles/#{role_id}", { color: colour, name: name, hoist: hoist, mentionable: mentionable, permissions: }.to_json, Authorization: token, content_type: :json ) end |