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?, #hash

Instance Attribute Details

#avatar -> Discorb::Asset (readonly)

Returns The user's avatar.

Returns:



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

def avatar
  @avatar
end

#bot -> Boolean (readonly) Also known as: bot?

Returns Whether the user is a bot.

Returns:

  • (Boolean)

    Whether the user is a bot.



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

def bot
  @bot
end

#created_at -> Time (readonly)

Returns The time the user was created.

Returns:

  • (Time)

    The time the user was created.



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

def created_at
  @created_at
end

#discriminator -> String (readonly)

Returns The user's discriminator.

Returns:

  • (String)

    The user's discriminator.



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

def discriminator
  @discriminator
end

#flag -> Discorb::User::Flag (readonly)

Returns The user's flags.

Returns:



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

def flag
  @flag
end

#id -> Discorb::Snowflake (readonly)

Returns The user's ID.

Returns:



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

def id
  @id
end

#username -> String (readonly) Also known as: name

Returns The user's username.

Returns:

  • (String)

    The user's username.



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

def username
  @username
end

#verified -> Boolean (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?

Note:

This is an asynchronous method, it will return a Async::Task object. Use Async::Task#wait to get the result.

Note:

This method calls HTTP request.

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.

Raises:



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/discorb/user.rb', line 61

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

#inspect -> Object



48
49
50
# File 'lib/discorb/user.rb', line 48

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

#to_s -> String Also known as: to_s_user

Format the user as Username#Discriminator style.

Returns:

  • (String)

    The formatted username.



42
43
44
# File 'lib/discorb/user.rb', line 42

def to_s
  "#{@username}##{@discriminator}"
end