Class: Rubycord::ApplicationCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/rubycord/data/interaction.rb

Overview

An ApplicationCommand for slash commands.

Constant Summary collapse

TYPES =

Command types. chat_input is a command that appears in the text input field. user and message types appear as context menus for the respective resource.

{
  chat_input: 1,
  user: 2,
  message: 3
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#application_idInteger (readonly)

Returns:



320
321
322
# File 'lib/rubycord/data/interaction.rb', line 320

def application_id
  @application_id
end

#default_permissiontrue, false (readonly)

Returns:

  • (true, false)


332
333
334
# File 'lib/rubycord/data/interaction.rb', line 332

def default_permission
  @default_permission
end

#descriptionString (readonly)

Returns:



329
330
331
# File 'lib/rubycord/data/interaction.rb', line 329

def description
  @description
end

#idInteger (readonly)

Returns:



338
339
340
# File 'lib/rubycord/data/interaction.rb', line 338

def id
  @id
end

#nameString (readonly)

Returns:



326
327
328
# File 'lib/rubycord/data/interaction.rb', line 326

def name
  @name
end

#optionsHash (readonly)

Returns:

  • (Hash)


335
336
337
# File 'lib/rubycord/data/interaction.rb', line 335

def options
  @options
end

#server_idInteger? (readonly)

Returns:



323
324
325
# File 'lib/rubycord/data/interaction.rb', line 323

def server_id
  @server_id
end

Instance Method Details

#deleteObject

Delete this application command.



381
382
383
# File 'lib/rubycord/data/interaction.rb', line 381

def delete
  @bot.delete_application_command(@id, server_id: @server_id)
end

#edit(name: nil, description: nil, default_permission: nil) {|, | ... } ⇒ Object

Parameters:

  • name (String) (defaults to: nil)

    The name to use for this command.

  • description (String) (defaults to: nil)

    The description of this command.

  • default_permission (true, false) (defaults to: nil)

    Whether this command is available with default permissions.

Yield Parameters:

  • (OptionBuilder)
  • (PermissionBuilder)


375
376
377
# File 'lib/rubycord/data/interaction.rb', line 375

def edit(name: nil, description: nil, default_permission: nil, &)
  @bot.edit_application_command(@id, server_id: @server_id, name: name, description: description, default_permission: default_permission, &)
end

#mention(subcommand_group: nil, subcommand: nil) ⇒ String Also known as: to_s

Returns the layout to mention it in a message.

Parameters:

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

    The subcommand to mention.

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

    The subcommand group to mention.

Returns:

  • (String)

    the layout to mention it in a message



356
357
358
359
360
361
362
363
364
365
366
# File 'lib/rubycord/data/interaction.rb', line 356

def mention(subcommand_group: nil, subcommand: nil)
  if subcommand_group && subcommand
    "</#{name} #{subcommand_group} #{subcommand}:#{id}>"
  elsif subcommand_group
    "</#{name} #{subcommand_group}:#{id}>"
  elsif subcommand
    "</#{name} #{subcommand}:#{id}>"
  else
    "</#{name}:#{id}>"
  end
end