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,
  automod_quarantined_server_tag: 1 << 10
}.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.



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

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.



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

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.



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

def flags
  @flags
end

#joined_atTime (readonly)

Returns when this member joined the server.

Returns:

  • (Time)

    when this member joined the server.



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

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.



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

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.



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

def pending
  @pending
end

#rolesArray<Role> (readonly)

Returns the roles this member has.

Returns:

  • (Array<Role>)

    the roles this member has.



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

def roles
  @roles
end

#serverServer (readonly)

Returns the server this member is on.

Returns:

  • (Server)

    the server this member is on.



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

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.



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

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:



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

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:



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

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.



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

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.



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

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