Reputation: 13
Ive been trying to figure out how to get my hug command to mention both the sender and the recipient of the command. As well as when you start the command it'll ask for the sender to select someone to mention before the command is sent off (or is that built in? I don't know yet)
I have read over the docs of the user class and as well as read this post here but have come to the conclusion that both aren't using slash commands though which is what ive been taught of how to do, not using embeds or text for the commands, just a slash command. If there is any help to this that would be greatly appreciated! Here's my resulting code so far though
const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
data: new SlashCommandBuilder()
.setName('hug')
.setDescription('Hug Someone'),
async execute(interaction) {
return interaction.reply(`${user} hugs ${user}`)
},
};
Upvotes: 1
Views: 8107
Reputation: 6645
You can get the author of the Interaction
using the Interaction#user
property.
To specify a User
to hug you'll have to add a SlashCommandUserOption
.
You can then get the User
by using CommandInteractionOptionResolver#getUser
module.exports = {
data: new SlashCommandBuilder()
.setName('hug')
.setDescription('Hug Someone')
.addUserOption(option =>
option
.setName('user')
.setDescription('The user you want to hug')
.setRequired(true)
),
async execute(interaction) {
return interaction.reply(`${interaction.user} hugs ${interaction.options.getUser('user')}`)
},
};
Upvotes: 3