Как получить URL-адрес вложения из указанного канала c? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть следующий код, и сейчас он захватывает все вложения из любого канала и отправляет его в канал "luv" в качестве встраивания. Я хочу, чтобы он только захватывал вложения из канала "luv" и также размещал вставку в "luv". Любая помощь?

  client.on("message", async (message) => {
    const channel = message.guild.channels.find(channel => channel.name === "luv");
    if (!channel) return;
    message.attachments.forEach(attachment => { // do something with the attachment // changes all attachements into embed #luv
      if (message.deletable) {
        message.delete(1000)
        const url = attachment.url;
        const aesEmbed = new RichEmbed()
        .setImage(attachment.url)

        client.channels.get("678987398838747166").send(aesEmbed);
        console.log(attachment.url);
        }
      })
    });

1 Ответ

0 голосов
/ 18 февраля 2020

Вы можете проверить идентификатор канала сообщения или имя для этого.

client.on("message", async (message) => {
    if (message.channel.id !== 'PLACE CHANNEL ID HERE') return //Stop function if channel ID !== 'luv' channeld.id 
    const channel = message.guild.channels.find(channel => channel.name === "luv");
    if (!channel) return;
    message.attachments.forEach(attachment => { // do something with the attachment // changes all attachements into embed #luv
        if (message.deletable) {
            message.delete(1000)
            const url = attachment.url;
            const aesEmbed = new RichEmbed()
                .setImage(attachment.url)
            client.channels.get("678987398838747166")
                .send(aesEmbed);
            console.log(attachment.url);
        }
    })
});

И действительно лучше не использовать метод find by name для получения канала.

Заменить

const channel = message.guild.channels.find(channel => channel.name === "luv");

На

const channel = message.guild.channels.get('CHANNEL ID')
...