Class: Discordrb::Invite

Inherits:
Object
  • Object
show all
Defined in:
lib/discordrb/data/invite.rb

Overview

A Discord invite to a channel

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#channelInviteChannel, Channel (readonly)

Returns the channel this invite references.

Returns:



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

def channel
  @channel
end

#codeString (readonly)

Returns this invite's code.

Returns:

  • (String)

    this invite's code



70
71
72
# File 'lib/discordrb/data/invite.rb', line 70

def code
  @code
end

#created_atTime? (readonly)

Returns when this invite was created, or nil if it's unknown.

Returns:

  • (Time, nil)

    when this invite was created, or nil if it's unknown



84
85
86
# File 'lib/discordrb/data/invite.rb', line 84

def created_at
  @created_at
end

#inviterUser? (readonly) Also known as: user

Returns the user that made this invite. May also be nil if the user can't be determined.

Returns:

  • (User, nil)

    the user that made this invite. May also be nil if the user can't be determined.



58
59
60
# File 'lib/discordrb/data/invite.rb', line 58

def inviter
  @inviter
end

#max_ageInteger? (readonly)

Returns the invites max age before it expires, or nil if it's unknown. If the max age is 0, the invite will never expire unless it's deleted.

Returns:

  • (Integer, nil)

    the invites max age before it expires, or nil if it's unknown. If the max age is 0, the invite will never expire unless it's deleted.



81
82
83
# File 'lib/discordrb/data/invite.rb', line 81

def max_age
  @max_age
end

#member_countInteger? (readonly) Also known as: user_count

Returns the amount of members in the server. Will be nil if it has not been resolved.

Returns:

  • (Integer, nil)

    the amount of members in the server. Will be nil if it has not been resolved.



73
74
75
# File 'lib/discordrb/data/invite.rb', line 73

def member_count
  @member_count
end

#online_member_countInteger? (readonly) Also known as: online_user_count

Returns the amount of online members in the server. Will be nil if it has not been resolved.

Returns:

  • (Integer, nil)

    the amount of online members in the server. Will be nil if it has not been resolved.



77
78
79
# File 'lib/discordrb/data/invite.rb', line 77

def online_member_count
  @online_member_count
end

#revokedtrue, false (readonly) Also known as: revoked?

Returns whether this invite is still valid.

Returns:

  • (true, false)

    whether this invite is still valid.



66
67
68
# File 'lib/discordrb/data/invite.rb', line 66

def revoked
  @revoked
end

#serverInviteServer, Server (readonly)

Returns the server this invite references.

Returns:



51
52
53
# File 'lib/discordrb/data/invite.rb', line 51

def server
  @server
end

#temporarytrue, false (readonly) Also known as: temporary?

Returns whether or not this invite grants temporary membership. If someone joins a server with this invite, they will be removed from the server when they go offline unless they've received a role.

Returns:

  • (true, false)

    whether or not this invite grants temporary membership. If someone joins a server with this invite, they will be removed from the server when they go offline unless they've received a role.



62
63
64
# File 'lib/discordrb/data/invite.rb', line 62

def temporary
  @temporary
end

#usesInteger (readonly) Also known as: max_uses

Returns the amount of uses left on this invite.

Returns:

  • (Integer)

    the amount of uses left on this invite.



54
55
56
# File 'lib/discordrb/data/invite.rb', line 54

def uses
  @uses
end

Instance Method Details

#==(other) ⇒ Object

Code based comparison



115
116
117
# File 'lib/discordrb/data/invite.rb', line 115

def ==(other)
  other.respond_to?(:code) ? (@code == other.code) : (@code == other)
end

#delete(reason = nil) ⇒ Object Also known as: revoke

Deletes this invite

Parameters:

  • reason (String) (defaults to: nil)

    The reason the invite is being deleted.



121
122
123
# File 'lib/discordrb/data/invite.rb', line 121

def delete(reason = nil)
  API::Invite.delete(@bot.token, @code, reason)
end

#inspectObject

The inspect method is overwritten to give more useful output



128
129
130
# File 'lib/discordrb/data/invite.rb', line 128

def inspect
  "<Invite code=#{@code} channel=#{@channel} uses=#{@uses} temporary=#{@temporary} revoked=#{@revoked} created_at=#{@created_at} max_age=#{@max_age}>"
end

#urlObject

Creates an invite URL.



133
134
135
# File 'lib/discordrb/data/invite.rb', line 133

def url
  "https://discord.gg/#{@code}"
end