#node.js #discord #discord.js
Вопрос:
Я пытаюсь сделать мой раздрай бот передачи последней вложений на канал но у меня возникают проблемы с отправкой.
Когда я использую «м.вложения.первый().URL-адрес», он говорит «необработанное отклонение обещания», и когда я использую «м.вложения.во-первых ()», он говорит «не удается отправить пустое сообщение».
if (message.content.toLowerCase() === 'test'){
message.channel.messages.fetch().then(messages => {
const firstAttachment = messages.filter((m) => m.attachments.first().url);
message.channel.send(firstAttachment);
})}
РЕДАКТИРОВАТЬ: я пробовал много разных вещей, но единственным, что дало мне какой-то результат, было это (результат был «неопределенным»).:
if (message.content.toLowerCase() === 'test'){
message.channel.messages.fetch().then(messages => {
const att = messages.filter(m => m.attachments.size > 0);
message.channel.send(`${att.first().attachments.url}`)
})}
Ответ №1:
Вы были так близки со своим вторым фрагментом кода! Вам просто нужно добавить еще .first()
один после attachments
.
message.channel.messages.fetch().then(messages => {
const att = messages.filter(m => m.attachments.size > 0);
message.channel.send(att.first().attachments.first().url);
});
Вероятно, вы также захотите убедиться att
, что на самом деле имеет значение, прежде чем отправлять сообщение, иначе вы получите ошибки.