Class: Discorb::User

Inherits:
DiscordModel show all
Includes:
Messageable
Defined in:
lib/discorb/user.rb

Overview

Represents a user of discord.

Direct Known Subclasses

ClientUser, Member

Defined Under Namespace

Classes: Flag

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Messageable

#delete_message, #edit_message, #fetch_message, #fetch_messages, #fetch_pins, #pin_message, #post, #typing, #unpin_message

Methods inherited from DiscordModel

#==, #eql?

Instance Attribute Details

#avatarDiscorb::Asset, Discorb::DefaultAvatar (readonly)

Returns The user's avatar.

Returns:



23
24
25
# File 'lib/discorb/user.rb', line 23

def avatar
  @avatar
end

#botBoolean (readonly) Also known as: bot?

Returns Whether the user is a bot.

Returns:

  • (Boolean)

    Whether the user is a bot.



25
26
27
# File 'lib/discorb/user.rb', line 25

def bot
  @bot
end

#created_atTime (readonly)

Returns The time the user was created.

Returns:

  • (Time)

    The time the user was created.



28
29
30
# File 'lib/discorb/user.rb', line 28

def created_at
  @created_at
end

#discriminatorString (readonly)

Deprecated.

This will be removed in the future because of discord changes.

Returns The user's discriminator. ("0" for new users, "7740" for old users.).

Returns:

  • (String)

    The user's discriminator. ("0" for new users, "7740" for old users.)



19
20
21
# File 'lib/discorb/user.rb', line 19

def discriminator
  @discriminator
end

#flagDiscorb::User::Flag (readonly)

Returns The user's flags.

Returns:



16
17
18
# File 'lib/discorb/user.rb', line 16

def flag
  @flag
end

#global_nameString (readonly)

Returns The user's global name. ("Nanashi." for new users, old users have no global name.).

Returns:

  • (String)

    The user's global name. ("Nanashi." for new users, old users have no global name.)



21
22
23
# File 'lib/discorb/user.rb', line 21

def global_name
  @global_name
end

#idDiscorb::Snowflake (readonly)

Returns The user's ID.

Returns:



14
15
16
# File 'lib/discorb/user.rb', line 14

def id
  @id
end

#mentionString (readonly)

Returns The user's mention.

Returns:

  • (String)

    The user's mention.



# File 'lib/discorb/user.rb', line 32

#usernameString (readonly) Also known as: name

Returns The user's username. ("sevenc_nanashi" for new users, "Nanashi." for old users.).

Returns:

  • (String)

    The user's username. ("sevenc_nanashi" for new users, "Nanashi." for old users.)



11
12
13
# File 'lib/discorb/user.rb', line 11

def username
  @username
end

#verifiedBoolean (readonly)

Returns Whether the user is verified.

Returns:

  • (Boolean)

    Whether the user is verified.



9
10
11
# File 'lib/discorb/user.rb', line 9

def verified
  @verified
end

Instance Method Details

#bot_owner?(strict: false) ⇒ Async::Task<Boolean> Also known as: app_owner?

Whether the user is a owner of the client.

Parameters:

  • strict (Boolean) (defaults to: false)

    Whether don't allow if the user is a member of the team.

Returns:

  • (Async::Task<Boolean>)

    Whether the user is a owner of the client.



80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/discorb/user.rb', line 80

def bot_owner?(strict: false)
  Async do
    app = @client.fetch_application.wait
    if app.team.nil?
      app.owner == self
    elsif strict
      app.team.owner == self
    else
      app.team.members.any? { |m| m.user == self }
    end
  end
end

#inspectObject



68
69
70
# File 'lib/discorb/user.rb', line 68

def inspect
  "#<#{self.class} #{self}>"
end

#to_sString Also known as: to_s_user

Format the user as Global name (@Username) or Username#Discriminator style.

Returns:

  • (String)

    The formatted username.



54
55
56
57
58
59
60
# File 'lib/discorb/user.rb', line 54

def to_s
  if @discriminator == "0"
    "#{@global_name} (@#{@username})"
  else
    "#{@username}##{@discriminator}"
  end
end