class Discordrb::ApplicationCommand

An ApplicationCommand for slash commands.

Constants

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.

Attributes

application_id[R]

@return [Integer]

default_permission[R]

@return [true, false]

description[R]

@return [String]

id[R]

@return [Integer]

name[R]

@return [String]

options[R]

@return [Hash]

server_id[R]

@return [Integer, nil]

Public Class Methods

new(data, bot, server_id = nil) click to toggle source

@!visibility private

# File lib/discordrb/data/interaction.rb, line 343
def initialize(data, bot, server_id = nil)
  @bot = bot
  @id = data['id'].to_i
  @application_id = data['application_id'].to_i
  @server_id = server_id&.to_i

  @name = data['name']
  @description = data['description']
  @default_permission = data['default_permission']
  @options = data['options']
end

Public Instance Methods

delete() click to toggle source

Delete this application command. @return (see Bot#delete_application_command)

# 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, &block) click to toggle source

@param name [String] The name to use for this command. @param description [String] The description of this command. @param default_permission [true, false] Whether this command is available with default permissions. @yieldparam (see Bot#edit_application_command) @return (see Bot#edit_application_command)

# 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) click to toggle source

@param subcommand [String, nil] The subcommand to mention. @param subcommand_group [String, nil] The subcommand group to mention. @return [String] the layout to mention it in a message

# 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
Also aliased as: to_s
to_s(subcommand_group: nil, subcommand: nil)
Alias for: mention