Astroreen
@Astroreen
Юный начинающий программист

Как отправить сообщение в первый упомянутый аккаунт?

Доброго времени суток, моя проблема заключается в том, что я не могу отправить сообщение в первый упомянутый канал. Есть пример который работает, вот он:
client.channels.cache.find(e=>e.name == "bugs")
        .send(embed).then( bug =>
            db.set(`${GetLastMID}`, {realid: `${bug.id}`, type: "bugs", channelid:`${message.channel.id}`, color: `${Color}`, title: `${dbTitle}`, bug: `${dbBug}`, 
            po: `${dbPO}`, launcher: `${dbLauncher}`, version: `${dbVersion}`, server: `${dbServer}`, url: `${dbUrl}`})
        );

Там где начинается с db, это библиотека для хранения данных в локальном файле (npm - если короче).
В прошлом примере мы использовали канал с уже существующим именем.
А тут:
const Mchannel = message.mentions.channels.first().name;


client.channels.cache.find(e=>e.name == `${Mchannel}`)
            .send(embed).then( repeat =>
            db.set(`${ID}`, {realid: `${repeat.id}`, type: "repeated", channelid:`${message.channel.id}`, rname:`${repeatname}`, rtext: `${textrepeat}`})
            );

Я использую тот же подход, но к сожалению он не работает по какой-то причине. И выдаёт ошибку:
TypeError: client.channels.cache.find(...).send is not a function

Можете помочь?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
KIRIK12
@KIRIK12
Если вы хотите использовать конкретный канал, то лучше вместо
const Mchannel = message.mentions.channels.first().name;
client.channels.cache.find(e=>e.name == `${Mchannel}`)
            .send(embed).then( repeat =>
            db.set(`${ID}`, {realid: `${repeat.id}`, type: "repeated", channelid:`${message.channel.id}`, rname:`${repeatname}`, rtext: `${textrepeat}`})
            );
использовать
const Mchannel = message.mentions.channels.first().id;
client.channels.cache.get(Mchannel)
            .send(embed).then( repeat =>
            db.set(`${ID}`, {realid: `${repeat.id}`, type: "repeated", channelid:`${message.channel.id}`, rname:`${repeatname}`, rtext: `${textrepeat}`})
            );

Пользуйтесь документацией
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AndromedaStar
client.channels.cache.find(e=>e.name == `${Mchannel}`) - видимо возвращает undefined
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы