Module: MijDiscord::Core::API::User
- Defined in:
- lib/mij-discord/core/api/user.rb
Class Method Summary collapse
-
.avatar_url(user_id, avatar_id, format = nil) ⇒ Object
Make an avatar URL from the user and avatar IDs.
-
.change_own_nickname(auth, server_id, nick, reason = nil) ⇒ Object
Change the current bot’s nickname on a server.
-
.change_status_setting(auth, status) ⇒ Object
Change user status setting.
-
.connections(auth) ⇒ Object
Get information about a user’s connections discordapp.com/developers/docs/resources/user#get-users-connections.
-
.create_pm(auth, recipient_id) ⇒ Object
Create a DM to another user discordapp.com/developers/docs/resources/user#create-dm.
-
.default_avatar(discrim = 0) ⇒ Object
Returns one of the “default” discord avatars from the CDN given a discriminator.
-
.leave_server(auth, server_id) ⇒ Object
Leave a server discordapp.com/developers/docs/resources/user#leave-guild.
-
.profile(auth) ⇒ Object
Get current user data discordapp.com/developers/docs/resources/user#get-current-user.
-
.resolve(auth, user_id) ⇒ Object
Get user data discordapp.com/developers/docs/resources/user#get-user.
-
.resolve2(auth, user_id) ⇒ Object
Get profile data (for userbots only) Not officially documented, reverse engineered from tracking Discord’s network activity.
-
.servers(auth) ⇒ Object
Get the servers a user is connected to discordapp.com/developers/docs/resources/user#get-current-user-guilds.
-
.update_profile(auth, username, avatar) ⇒ Object
Update user data discordapp.com/developers/docs/resources/user#modify-current-user.
-
.user_dms(auth) ⇒ Object
Get the DMs for the current user discordapp.com/developers/docs/resources/user#get-user-dms.
Class Method Details
.avatar_url(user_id, avatar_id, format = nil) ⇒ Object
Make an avatar URL from the user and avatar IDs
150 151 152 153 |
# File 'lib/mij-discord/core/api/user.rb', line 150 def avatar_url(user_id, avatar_id, format = nil) format ||= avatar_id.start_with?('a_') ? :gif : :png "#{MijDiscord::Core::API::CDN_URL}/avatars/#{user_id}/#{avatar_id}.#{format}" end |
.change_own_nickname(auth, server_id, nick, reason = nil) ⇒ Object
Change the current bot’s nickname on a server
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/mij-discord/core/api/user.rb', line 42 def change_own_nickname(auth, server_id, nick, reason = nil) MijDiscord::Core::API.request( :guilds_sid_members_me_nick, server_id, # This is technically a guild endpoint :patch, "#{MijDiscord::Core::API::APIBASE_URL}/guilds/#{server_id}/members/@me/nick", { nick: nick }.to_json, Authorization: auth, content_type: :json, 'X-Audit-Log-Reason': reason ) end |
.change_status_setting(auth, status) ⇒ Object
Change user status setting
132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/mij-discord/core/api/user.rb', line 132 def change_status_setting(auth, status) MijDiscord::Core::API.request( :users_me_settings, nil, :patch, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/settings", { status: status }.to_json, Authorization: auth, content_type: :json ) end |
.connections(auth) ⇒ Object
Get information about a user’s connections discordapp.com/developers/docs/resources/user#get-users-connections
121 122 123 124 125 126 127 128 129 |
# File 'lib/mij-discord/core/api/user.rb', line 121 def connections(auth) MijDiscord::Core::API.request( :users_me_connections, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/connections", Authorization: auth ) end |
.create_pm(auth, recipient_id) ⇒ Object
Create a DM to another user discordapp.com/developers/docs/resources/user#create-dm
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/mij-discord/core/api/user.rb', line 107 def create_pm(auth, recipient_id) MijDiscord::Core::API.request( :users_me_channels, nil, :post, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/channels", { recipient_id: recipient_id }.to_json, Authorization: auth, content_type: :json ) end |
.default_avatar(discrim = 0) ⇒ Object
Returns one of the “default” discord avatars from the CDN given a discriminator
145 146 147 |
# File 'lib/mij-discord/core/api/user.rb', line 145 def default_avatar(discrim = 0) "#{MijDiscord::Core::API::CDN_URL}/embed/avatars/#{discrim.to_i % 5}.png" end |
.leave_server(auth, server_id) ⇒ Object
Leave a server discordapp.com/developers/docs/resources/user#leave-guild
83 84 85 86 87 88 89 90 91 |
# File 'lib/mij-discord/core/api/user.rb', line 83 def leave_server(auth, server_id) MijDiscord::Core::API.request( :users_me_guilds_sid, nil, :delete, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/guilds/#{server_id}", Authorization: auth ) end |
.profile(auth) ⇒ Object
Get current user data discordapp.com/developers/docs/resources/user#get-current-user
31 32 33 34 35 36 37 38 39 |
# File 'lib/mij-discord/core/api/user.rb', line 31 def profile(auth) MijDiscord::Core::API.request( :users_me, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me", Authorization: auth ) end |
.resolve(auth, user_id) ⇒ Object
Get user data discordapp.com/developers/docs/resources/user#get-user
7 8 9 10 11 12 13 14 15 |
# File 'lib/mij-discord/core/api/user.rb', line 7 def resolve(auth, user_id) MijDiscord::Core::API.request( :users_uid, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/#{user_id}", Authorization: auth ) end |
.resolve2(auth, user_id) ⇒ Object
Get profile data (for userbots only) Not officially documented, reverse engineered from tracking Discord’s network activity
19 20 21 22 23 24 25 26 27 |
# File 'lib/mij-discord/core/api/user.rb', line 19 def resolve2(auth, user_id) MijDiscord::Core::API.request( :users_uid, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/#{user_id}/profile", Authorization: auth ) end |
.servers(auth) ⇒ Object
Get the servers a user is connected to discordapp.com/developers/docs/resources/user#get-current-user-guilds
71 72 73 74 75 76 77 78 79 |
# File 'lib/mij-discord/core/api/user.rb', line 71 def servers(auth) MijDiscord::Core::API.request( :users_me_guilds, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/guilds", Authorization: auth ) end |
.update_profile(auth, username, avatar) ⇒ Object
Update user data discordapp.com/developers/docs/resources/user#modify-current-user
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/mij-discord/core/api/user.rb', line 57 def update_profile(auth, username, avatar) MijDiscord::Core::API.request( :users_me, nil, :patch, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me", { avatar: avatar, username: username }.delete_if {|_,v| v.nil? }.to_json, Authorization: auth, content_type: :json ) end |
.user_dms(auth) ⇒ Object
Get the DMs for the current user discordapp.com/developers/docs/resources/user#get-user-dms
95 96 97 98 99 100 101 102 103 |
# File 'lib/mij-discord/core/api/user.rb', line 95 def user_dms(auth) MijDiscord::Core::API.request( :users_me_channels, nil, :get, "#{MijDiscord::Core::API::APIBASE_URL}/users/@me/channels", Authorization: auth ) end |