Class: DiscordRDA::InviteBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/discord_rda/entity/channel_builder.rb

Overview

DSL for creating channel invites

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeInviteBuilder

Returns a new instance of InviteBuilder.



208
209
210
# File 'lib/discord_rda/entity/channel_builder.rb', line 208

def initialize
  @data = {}
end

Instance Attribute Details

#dataHash (readonly)

Returns Invite data being built.

Returns:

  • (Hash)

    Invite data being built



206
207
208
# File 'lib/discord_rda/entity/channel_builder.rb', line 206

def data
  @data
end

Instance Method Details

#buildHash

Build and return invite data

Returns:

  • (Hash)

    Invite data



276
277
278
# File 'lib/discord_rda/entity/channel_builder.rb', line 276

def build
  to_h
end

#max_age(seconds) ⇒ self

Set max age in seconds

Parameters:

  • seconds (Integer)

    Max age (0 = never expires, max 604800)

Returns:

  • (self)


215
216
217
218
# File 'lib/discord_rda/entity/channel_builder.rb', line 215

def max_age(seconds)
  @data[:max_age] = seconds
  self
end

#max_uses(uses) ⇒ self

Set max uses

Parameters:

  • uses (Integer)

    Max uses (0 = unlimited, max 100)

Returns:

  • (self)


223
224
225
226
# File 'lib/discord_rda/entity/channel_builder.rb', line 223

def max_uses(uses)
  @data[:max_uses] = uses
  self
end

#target_application(app_id) ⇒ self

Set target application ID

Parameters:

  • app_id (String, Snowflake)

    Target application ID

Returns:

  • (self)


263
264
265
266
# File 'lib/discord_rda/entity/channel_builder.rb', line 263

def target_application(app_id)
  @data[:target_application_id] = app_id.to_s
  self
end

#target_type(type) ⇒ self

Set target type

Parameters:

  • type (Integer)

    Target type (1=stream, 2=embedded_application)

Returns:

  • (self)


247
248
249
250
# File 'lib/discord_rda/entity/channel_builder.rb', line 247

def target_type(type)
  @data[:target_type] = type
  self
end

#target_user(user_id) ⇒ self

Set target user ID

Parameters:

  • user_id (String, Snowflake)

    Target user ID

Returns:

  • (self)


255
256
257
258
# File 'lib/discord_rda/entity/channel_builder.rb', line 255

def target_user(user_id)
  @data[:target_user_id] = user_id.to_s
  self
end

#temporary(temporary = true) ⇒ self

Set temporary membership

Parameters:

  • temporary (Boolean) (defaults to: true)

    Whether invite grants temporary membership

Returns:

  • (self)


231
232
233
234
# File 'lib/discord_rda/entity/channel_builder.rb', line 231

def temporary(temporary = true)
  @data[:temporary] = temporary
  self
end

#to_hHash

Convert to hash

Returns:

  • (Hash)

    Invite data



270
271
272
# File 'lib/discord_rda/entity/channel_builder.rb', line 270

def to_h
  @data.dup
end

#unique(unique = true) ⇒ self

Set unique invite

Parameters:

  • unique (Boolean) (defaults to: true)

    Whether to create unique URL

Returns:

  • (self)


239
240
241
242
# File 'lib/discord_rda/entity/channel_builder.rb', line 239

def unique(unique = true)
  @data[:unique] = unique
  self
end