#javascript #embed #discord #discord.js
#javascript #Внедрить #Discord #discord.js
Вопрос:
Я создаю бота discord, но получаю ошибку:
Отклонение необработанного обещания. Эта ошибка возникла либо из-за запуска внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью
.catch()
. (идентификатор отклонения: 2).
Я знаю, что что-то не так, но не уверен, что именно.
client.on('message', message => {
if (message.content === 's!verifymsg') {
const embed = new RichEmbed()
.setTitle('__**VERIFICACIÓN**__')
.setColor(0xFF0000)
.setDescription('¡Para poder ver los demás canales, es necesario que reacciones para verificar! n- Reacciona con (✅)')
message.channel.send(embed);
}
});
Если вы введете s!verifymsg, он отправит вставку в тот же канал, содержащий некоторый текст в той же вставке.
Ответ №1:
Просматривая это руководство (https://anidiots.guide/first-bot/using-embeds-in-messages ), показывает, что есть пара причин, которые могут быть причиной этого:
1) new RichEmbed()
вероятно, должно быть new Discord.RichEmbed()
. Это то, что discord.js документация показывает.
2) message.channel.send(embed);
вероятно, должно быть message.channel.send({embed});
.
Комментарии:
1. Вероятно, вам следует расширить этот последний пример до {embed: встроить}. Я не думаю, что многие люди знакомы с неявным поведением переноса объекта в object. кроме того, во многих документах явно используется embed: …
2. @Marie Я думал об этом, но не был уверен в хорошем способе привязать его к исходному образцу кода.
3. Для этого вы должны понимать node.js , в 1) вы можете выполнить
const { RichEmbed } = require('discord.js');
orconst Discord = require('discord.js')
, для 2)(embed)
должно работать только то, что будет обработано внутри, obv{embed}
также будет работать, но{embed: embed}
также потому, что он переименовывает embed в embed, что в данном случае не имеет значения, но когда вы делаете,const ExampleEmbed = new RichEmbed()
вы должны сделать.send('text ( optional) ', { embed: ExampleEmbed });
or.send(ExampleEmbed)
4.
.send(embed)
работает только в более новых версиях discord.js хотя это может сделатьnpm update