Class: Discordrb::ApplicationCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/discordrb/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:



322
323
324
# File 'lib/discordrb/data/interaction.rb', line 322

def application_id
  @application_id
end

#default_permissiontrue, false (readonly)

Returns:

  • (true, false)


334
335
336
# File 'lib/discordrb/data/interaction.rb', line 334

def default_permission
  @default_permission
end

#descriptionString (readonly)

Returns:



331
332
333
# File 'lib/discordrb/data/interaction.rb', line 331

def description
  @description
end

#idInteger (readonly)

Returns:



340
341
342
# File 'lib/discordrb/data/interaction.rb', line 340

def id
  @id
end

#nameString (readonly)

Returns:



328
329
330
# File 'lib/discordrb/data/interaction.rb', line 328

def name
  @name
end

#optionsHash (readonly)

Returns:

  • (Hash)


337
338
339
# File 'lib/discordrb/data/interaction.rb', line 337

def options
  @options
end

#server_idInteger? (readonly)

Returns:



325
326
327
# File 'lib/discordrb/data/interaction.rb', line 325

def server_id
  @server_id
end

Instance Method Details

#deleteObject

Delete this application command.



383
384
385
# File 'lib/discordrb/data/interaction.rb', line 383

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)


377
378
379
# File 'lib/discordrb/data/interaction.rb', line 377

def edit(name: nil, description: nil, default_permission: nil, &block)
  @bot.edit_application_command(@id, server_id: @server_id, name: name, description: description, default_permission: default_permission, &block)
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



358
359
360
361
362
363
364
365
366
367
368
# File 'lib/discordrb/data/interaction.rb', line 358

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