если message.attachments.size> 0, отправьте это вложение на другой канал discord.js

#image #discord #discord.js

#изображение #Discord #discord.js

Вопрос:

Поэтому всякий раз, когда один человек отправляет изображение или сообщение, мне нужно отправить то же изображение или сообщение на другой канал, я попытался с помощью: message.channel.send(message.content) но это работает только для сообщений, можете ли вы объяснить мне, как сделать то же самое с изображениями? Спасибо

Ответ №1:

Во-первых, вы хотели бы отправить вложение в сообщении, а затем, конечно, проверить, было ли вообще вложение! Это можно сделать с помощью .attachments расширения message класса:

 const attachment = message.attachments.first(); // Would get the first attachment found in the message
if (!attachment) return; // Would do nothing if there was no attachment in the message.
 

После того, как это было сделано, мы можем просто получить объект канала, используя его идентификатор или имя, а затем отправить ему вложение, набрав:

 const channel = message.guild.channels.cache.get('id here'); // Gets the channel object
channel.send('some text here, can be left blank', attachment); // Sends the attachment with text (Will only send the attachment if left blank)
 

Комментарии:

1. Спасибо! Я постараюсь

2. Привет, я попробовал ваш код, но вместо изображения есть такая надпись: [ object Объект]

3. client.on('message', message => { if (message.channel.id === 'id') { const attachment = message.attachments.first(); if (!attachment) return; let channel = client.channels.cache.get('id'); channel.send(message.author.username ': ' message.content attachment); }})

4. Позвольте мне очистить его для вас: channel.send(`${message.author.username}: ${message.content}`, attachment)