Как проверить, собрал ли сборщик сообщений изображение? И как мне получить Discord URL этого изображения / proxyURL? - PullRequest
0 голосов
/ 18 апреля 2020

Я кодирую в Discord. js V12, и я хочу знать, как извлечь вложения собранного сообщения в сборщик сообщений awaitMessages ().

Вывод collected ( собранное сообщение, содержащее только изображение):

Collection [Map] {
  '701180292689297429' => Message {
    channel: DMChannel {
      type: 'dm',
      deleted: false,
      id: '700086368558121047',
      recipient: [User],
      lastMessageID: '701180292689297429',
      lastPinTimestamp: null,
      messages: [MessageManager],
      _typing: Map {}
    },
    deleted: false,
    id: '701180292689297429',
    type: 'DEFAULT',
    content: '',
    author: User {
      id: '252268366079852584',
      bot: false,
      username: 'EBB',
      discriminator: '5732',
      avatar: 'd60958dccad619bd70225373ed312bbf',
      flags: [UserFlags],
      lastMessageID: '701180292689297429',
      lastMessageChannelID: '700086368558121047'
    },
    pinned: false,
    tts: false,
    nonce: undefined,
    system: false,
    embeds: [],
    attachments: Collection [Map] { '701180291405971506' => [MessageAttachment] },
    createdTimestamp: 1587244809077,
    editedTimestamp: null,
    reactions: ReactionManager {
      cacheType: [Function: Collection],
      cache: Collection [Map] {},
      message: [Circular]
    },
    mentions: MessageMentions {
      everyone: false,
      users: Collection [Map] {},
      roles: Collection [Map] {},
      _members: null,
      _channels: null,
      crosspostedChannels: Collection [Map] {}
    },
    webhookID: null,
    application: null,
    activity: null,
    _edits: [],
    flags: MessageFlags { bitfield: 0 },
    reference: null
  }
}

Это код, на который я ссылаюсь:

dmc.awaitMessages(resp => resp.author.id === message.author.id, {
                max: 1,
                time: 60000,
                errors: ['time']
              }) 
              .then(collectedfive => {
                    let imageOrNo = collectedfive.first().content
                    console.log(imageOrNo)
                    message.channel.send(<I WOULD SEND THE IMAGE BACK TO THEM, BUT I DON'T KNOW HOW TO, AND I ALSO WOULD CHECK TO SEE IF THERE IS AN ATTACHED IMAGE TO THE MESSAGE)
                  })
})

Я хочу получить вложения и их URL (в частности, proxyURL s), а также проверьте, есть ли в собранном сообщении какие-либо вложения, используя Discord. js V12. Как бы я go об этом?

1 Ответ

0 голосов
/ 19 апреля 2020

Вам просто нужно проверить, есть ли в сообщении вложения, затем получить вложения и l oop через них и отправить их на канал.

dmc.awaitMessages(resp => resp.author.id === message.author.id, {
    max: 1,
    time: 60000,
    errors: ['time']
})
.then(collectedfive => {
        if (collectedfive.first().attachments.array().length) {
            collectedfive.first().attachments.forEach((attachment) => {
                message.channel.send({ files: [attachment] })
            })
        }
    })

Вы также можете получить proxyURL свойство вложений с помощью attachment.proxyURL в forEach() l oop выше

...