Записывать все сообщения с канала - PullRequest
0 голосов
/ 25 февраля 2019

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

Я пробовал это, но это не работает:

const fetched = await client.channels.get("505989241600213012")
.fetchMessages({limit: 1})
.then(message => console.log(`[${message.author.name}]${message.content}`));

Вот результат, который я получаю:
Undefined,
и [${message.author.name}]
Он даже ничего не возвращает, поскольку вы ничего не можете прочитать из undefined.

1 Ответ

0 голосов
/ 25 февраля 2019

fetchMessages всегда возвращает коллекцию, даже если вы используете limit: 1.Итак, если вы хотите получить доступ к первому элементу Коллекции, вам нужно

const fetched = await client.channels.get("505989241600213012")
.fetchMessages({limit: 1})
.then(messages => console.log(`[${messages.first().author.name}]${messages.first().content}`));

. Если вы планируете сохранять сообщения вне Discord, вы можете рассмотреть возможность использования cleanContent .Также не рекомендуется объединять await и then.Вероятно, хорошая идея, что вы выбираете один.

...