#node.js #discord.js
#node.js #discord.js
Вопрос:
В настоящее время я создаю команду объятия. Я пытаюсь заставить моего бота упомянуть пользователя, который использовал команду, и того, которого пользователь упомянул при использовании команды, моя главная проблема в том, что бот отправляет сообщение «@user обнял @user» за пределами встраивания, вот код, который я использую
const messages = ["https://media.tenor.com/images/c6f27ebfd8657a83794329468c27197f/tenor.gif"]
module.exports = {
name: 'embed',
description: "hug embed",
execute(message, args){
const randomMessage = messages[Math.floor(Math.random() * messages.length)]
const hugged = message.mentions.users.first();
const reply = message.reply(`has hugged! <@${hugged.id}>`);
if(!hugged) return message.reply('please mention who you want to hug');
let embeddedHug = new Discord.MessageEmbed()
.setDescription(reply)
.setImage(randomMessage)
message.channel.send(embeddedHug);
}
}
Есть предложения, почему бот отправляет его вне встраивания?
Ответ №1:
Вы делаете это неправильно.
message.reply()
используется для отправки обычного сообщения и автоматического упоминания автора в начале сообщения.
Это то, что вы хотите.
const hugged = message.mentions.users.first();
const embedMessage = `<@!${message.author.id}> has hugged <@!${hugged.id}>`;
let embeddedHug = new Discord.MessageEmbed()
.setDescription(embedMessage)
.setImage(randomMessage)
message.channel.send(embeddedHug);
Комментарии:
1. Большое вам спасибо, я новичок в этом, поэтому я просто стараюсь изо всех сил и провожу много исследований, прежде чем спрашивать здесь