Module: Rubycord::UserAttributes
- Included in:
- Light::LightProfile, User
- Defined in:
- lib/rubycord/data/user.rb
Overview
Mixin for the attributes users should have
Constant Summary collapse
- FLAGS =
Types of user's account flags mapped to their API value.
-
{ staff: 1 << 0, partner: 1 << 1, hypesquad: 1 << 2, bug_hunter_level_1: 1 << 3, hypesquad_online_house_1: 1 << 6, hypesquad_online_house_2: 1 << 7, hypesquad_online_house_3: 1 << 8, premium_early_supporter: 1 << 9, team_pseudo_user: 1 << 10, bug_hunter_level_2: 1 << 14, verified_bot: 1 << 16, verified_developer: 1 << 17, certified_moderator: 1 << 18, bot_http_interactions: 1 << 19, active_developer: 1 << 22 }.freeze
Instance Attribute Summary collapse
-
#avatar_id ⇒ String
The ID of this user's current avatar, can be used to generate an avatar URL.
-
#bot_account ⇒ true, false
(also: #bot_account?)
readonly
Whether this user is a Discord bot account.
-
#discriminator ⇒ String
(also: #discrim, #tag, #discord_tag)
readonly
This user's discriminator which is used internally to identify users with identical usernames.
-
#global_name ⇒ String?
readonly
This user's global name.
-
#public_flags ⇒ Integer
readonly
The public flags on a user's account.
-
#username ⇒ String
(also: #name)
readonly
This user's username.
-
#webhook_account ⇒ true, false
(also: #webhook_account?, #webhook?)
readonly
Whether this is fake user for a webhook message.
Instance Method Summary collapse
-
#avatar_url(format = nil) ⇒ String
Utility function to get a user's avatar URL.
-
#display_name ⇒ String
Utility function to get Discord's display name of a user not in server.
-
#distinct ⇒ String
Utility function to get Discord's distinct representation of a user, i.e.
-
#mention ⇒ String
Utility function to mention users in messages.
Instance Attribute Details
#avatar_id ⇒ String
Returns the ID of this user's current avatar, can be used to generate an avatar URL.
47 48 49 |
# File 'lib/rubycord/data/user.rb', line 47 def avatar_id @avatar_id end |
#bot_account ⇒ true, false (readonly) Also known as: bot_account?
Returns whether this user is a Discord bot account.
37 38 39 |
# File 'lib/rubycord/data/user.rb', line 37 def bot_account @bot_account end |
#discriminator ⇒ String (readonly) Also known as: discrim, tag, discord_tag
Returns this user's discriminator which is used internally to identify users with identical usernames.
31 32 33 |
# File 'lib/rubycord/data/user.rb', line 31 def discriminator @discriminator end |
#global_name ⇒ String? (readonly)
Returns this user's global name.
28 29 30 |
# File 'lib/rubycord/data/user.rb', line 28 def global_name @global_name end |
#public_flags ⇒ Integer (readonly)
Returns the public flags on a user's account.
87 88 89 |
# File 'lib/rubycord/data/user.rb', line 87 def public_flags @public_flags end |
#username ⇒ String (readonly) Also known as: name
Returns this user's username.
24 25 26 |
# File 'lib/rubycord/data/user.rb', line 24 def username @username end |
#webhook_account ⇒ true, false (readonly) Also known as: webhook_account?, webhook?
Returns whether this is fake user for a webhook message.
41 42 43 |
# File 'lib/rubycord/data/user.rb', line 41 def webhook_account @webhook_account end |
Instance Method Details
#avatar_url(format = nil) ⇒ String
Utility function to get a user's avatar URL. TODO: Maybe change this method again after discriminator removal ?
76 77 78 79 80 81 82 83 84 |
# File 'lib/rubycord/data/user.rb', line 76 def avatar_url(format = nil) unless @avatar_id return API::User.default_avatar(@discriminator, legacy: true) if @discriminator && @discriminator != "0" return API::User.default_avatar(@id) end API::User.avatar_url(@id, @avatar_id, format) end |
#display_name ⇒ String
Utility function to get Discord's display name of a user not in server
51 52 53 |
# File 'lib/rubycord/data/user.rb', line 51 def display_name global_name || username end |
#distinct ⇒ String
Utility function to get Discord's distinct representation of a user, i.e. username + discriminator TODO: Maybe change this method again after discriminator removal ?
64 65 66 67 68 69 70 |
# File 'lib/rubycord/data/user.rb', line 64 def distinct if @discriminator && @discriminator != "0" "#{@username}##{@discriminator}" else @username.to_s end end |
#mention ⇒ String
Utility function to mention users in messages
57 58 59 |
# File 'lib/rubycord/data/user.rb', line 57 def mention "<@#{@id}>" end |