Class: RubyCord::Guild::Invite

Inherits:
DiscordModel show all
Defined in:
lib/rubycord/guild/invite.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from DiscordModel

#==, #eql?, #inspect

Instance Attribute Details

#approximate_member_countInteger (readonly)

Returns The approximate number of members of invite.

Returns:

  • (Integer)

    The approximate number of members of invite.



23
24
25
# File 'lib/rubycord/guild/invite.rb', line 23

def approximate_member_count
  @approximate_member_count
end

#approximate_presence_countInteger (readonly)

Returns The approximate number of online users of invite.

Returns:

  • (Integer)

    The approximate number of online users of invite.



20
21
22
# File 'lib/rubycord/guild/invite.rb', line 20

def approximate_presence_count
  @approximate_presence_count
end

#channelRubyCord::Channel? (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Channel of the invite.

Returns:



# File 'lib/rubycord/guild/invite.rb', line 47

#codeString (readonly)

Returns The code of invite.

Returns:

  • (String)

    The code of invite.



11
12
13
# File 'lib/rubycord/guild/invite.rb', line 11

def code
  @code
end

#created_atTime? (readonly)

Returns:

  • (Time)

    The time when invite was created.

  • (nil)

    The invite doesn't have metadata.



45
46
47
# File 'lib/rubycord/guild/invite.rb', line 45

def created_at
  @created_at
end

#expires_atTime? (readonly)

Returns:

  • (Time)

    The time when invite expires.

  • (nil)

    The invite never expires.

  • (nil)

    The invite doesn't have metadata.



29
30
31
# File 'lib/rubycord/guild/invite.rb', line 29

def expires_at
  @expires_at
end

#guildRubyCord::Guild? (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Guild of the invite.

Returns:

  • (RubyCord::Guild)

    Guild of invite.

  • (nil)

    The object wasn't cached.



# File 'lib/rubycord/guild/invite.rb', line 47

#max_ageInteger? (readonly)

Returns:

  • (Integer)

    Duration of invite in seconds.

  • (nil)

    The invite doesn't have metadata.



41
42
43
# File 'lib/rubycord/guild/invite.rb', line 41

def max_age
  @max_age
end

#max_usesInteger? (readonly)

Returns:

  • (Integer)

    The maximum number of uses of invite.

  • (nil)

    The invite doesn't have metadata.



37
38
39
# File 'lib/rubycord/guild/invite.rb', line 37

def max_uses
  @max_uses
end

#remain_usesInteger (readonly)

Number of remaining uses of invite.

Returns:

  • (Integer)

    Number of remaining uses of invite.



# File 'lib/rubycord/guild/invite.rb', line 47

#target_type:voice, ... (readonly)

Returns The type of invite.

Returns:

  • (:voice, :stream, :guild)

    The type of invite.



14
15
16
# File 'lib/rubycord/guild/invite.rb', line 14

def target_type
  @target_type
end

#target_userUser (readonly)

Returns The user of invite.

Returns:

  • (User)

    The user of invite.



17
18
19
# File 'lib/rubycord/guild/invite.rb', line 17

def target_user
  @target_user
end

#temporary?Boolean (readonly)

Whether the invite is temporary.

Returns:

  • (Boolean)


# File 'lib/rubycord/guild/invite.rb', line 47

#urlString (readonly)

Full url of invite.

Returns:

  • (String)

    Full url of invite.



# File 'lib/rubycord/guild/invite.rb', line 47

#usesInteger? (readonly)

Returns:

  • (Integer)

    The number of uses of invite.

  • (nil)

    The invite doesn't have metadata.



33
34
35
# File 'lib/rubycord/guild/invite.rb', line 33

def uses
  @uses
end

Instance Method Details

#delete(reason: nil) ⇒ Async::Task<void>

Delete the invite.

Returns:

  • (Async::Task<void>)

    The task.



113
114
115
116
117
118
119
120
121
# File 'lib/rubycord/guild/invite.rb', line 113

def delete(reason: nil)
  Async do
    @client.http.request(
      RubyCord::Internal::Route.new("/invites/#{@code}", "//invites/:code", :delete),
      {},
      audit_log_reason: reason
    )
  end
end