Module: Discordrb::MemberAttributes

Included in:
Member, Recipient
Defined in:
lib/discordrb/data/member.rb

Overview

Mixin for the attributes members and private members should have

Constant Summary collapse

MEMBER_FLAGS =

Map of server member flags

{
  rejoined: 1 << 0,
  completed_onboarding: 1 << 1,
  bypassed_verification: 1 << 2,
  started_onboarding: 1 << 3,
  guest: 1 << 4,
  started_home_actions: 1 << 5,
  completed_home_actions: 1 << 6,
  automod_quarantined_username: 1 << 7,
  dm_settings_upsell_acknowledged: 1 << 9
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#boosting_sinceTime? (readonly)

Returns when this member boosted this server, nil if they haven't.

Returns:

  • (Time, nil)

    when this member boosted this server, nil if they haven't.



23
24
25
# File 'lib/discordrb/data/member.rb', line 23

def boosting_since
  @boosting_since
end

#communication_disabled_untilTime (readonly) Also known as: timeout

Returns When the user's timeout will expire.

Returns:

  • (Time)

    When the user's timeout will expire.



36
37
38
# File 'lib/discordrb/data/member.rb', line 36

def communication_disabled_until
  @communication_disabled_until
end

#flagsInteger (readonly)

Returns the flags set on this member.

Returns:

  • (Integer)

    the flags set on this member.



40
41
42
# File 'lib/discordrb/data/member.rb', line 40

def flags
  @flags
end

#joined_atTime (readonly)

Returns when this member joined the server.

Returns:

  • (Time)

    when this member joined the server.



20
21
22
# File 'lib/discordrb/data/member.rb', line 20

def joined_at
  @joined_at
end

#nickString? (readonly) Also known as: nickname

Returns the nickname this member has, or nil if it has none.

Returns:

  • (String, nil)

    the nickname this member has, or nil if it has none.



26
27
28
# File 'lib/discordrb/data/member.rb', line 26

def nick
  @nick
end

#pendingtrue, false (readonly) Also known as: pending?

Returns whether the member has not yet passed the server's membership screening requirements.

Returns:

  • (true, false)

    whether the member has not yet passed the server's membership screening requirements.



43
44
45
# File 'lib/discordrb/data/member.rb', line 43

def pending
  @pending
end

#rolesArray<Role> (readonly)

Returns the roles this member has.

Returns:

  • (Array<Role>)

    the roles this member has.



30
31
32
# File 'lib/discordrb/data/member.rb', line 30

def roles
  @roles
end

#serverServer (readonly)

Returns the server this member is on.

Returns:

  • (Server)

    the server this member is on.



33
34
35
# File 'lib/discordrb/data/member.rb', line 33

def server
  @server
end

#server_avatar_decorationAvatarDecoration? (readonly)

Returns the user's current server avatar decoration, or nil for no server avatar decoration.

Returns:

  • (AvatarDecoration, nil)

    the user's current server avatar decoration, or nil for no server avatar decoration.



55
56
57
# File 'lib/discordrb/data/member.rb', line 55

def server_avatar_decoration
  @server_avatar_decoration
end

#server_avatar_idString? (readonly)

Returns the ID of this user's current avatar, can be used to generate a server avatar URL.

Returns:

  • (String, nil)

    the ID of this user's current avatar, can be used to generate a server avatar URL.

See Also:



48
49
50
# File 'lib/discordrb/data/member.rb', line 48

def server_avatar_id
  @server_avatar_id
end

#server_banner_idString? (readonly)

Returns the ID of this user's current server banner, can be used to generate a banner URL.

Returns:

  • (String, nil)

    the ID of this user's current server banner, can be used to generate a banner URL.

See Also:



52
53
54
# File 'lib/discordrb/data/member.rb', line 52

def server_banner_id
  @server_banner_id
end

Instance Method Details

#server_avatar_url(format = nil) ⇒ String?

Utility method to get a member's server avatar URL.

Parameters:

  • format (String, nil) (defaults to: nil)

    If nil, the URL will default to webp for static avatars, and will detect if the member has a gif avatar. You can otherwise specify one of webp, jpg, png, or gif to override this.

Returns:

  • (String, nil)

    the URL to the avatar image, or nil if the member doesn't have one.



60
61
62
# File 'lib/discordrb/data/member.rb', line 60

def server_avatar_url(format = nil)
  API::Server.avatar_url(@server_id, @user.id, @server_avatar_id, format) if @server_avatar_id
end

#server_banner_url(format = nil) ⇒ String?

Utility method to get a member's server banner URL.

Parameters:

  • format (String, nil) (defaults to: nil)

    If nil, the URL will default to webp for static banners, and will detect if the member has a gif banner. You can otherwise specify one of webp, jpg, png, or gif to override this.

Returns:

  • (String, nil)

    the URL to the banner image, or nil if the member doesn't have one.



67
68
69
# File 'lib/discordrb/data/member.rb', line 67

def server_banner_url(format = nil)
  API::Server.banner_url(@server_id, @user.id, @server_banner_id, format) if @server_banner_id
end