Почему я получаю сообщение об ошибке?

При вызове скрипта произошла ошибка. Вы можете попросить о помощи?

Ниже я вставляю код и ошибку.

let chn = client.channels.find(channel => channel.id === '717019301357420554');
let msg = chn.fetchMessage('717369584801546273');
msg.edit(embedit);
TypeError: msg.edit is not a function

1 ответ

Решение

Это v11?

Независимо от того, что получение чего-либо является асинхронным, вам нужно дождаться разрешения msg.

https://discord.js.org/#/docs/main/11.1.0/class/TextChannel?scrollTo=fetchMessage

Вот как это сделать:

Первый использует ожидание, которое должно быть внутри асинхронной функции.

let chn = client.channels.find(channel => channel.id === '717019301357420554');
let msg = await chn.fetchMessage('717369584801546273');
msg.edit(embedit);

Во-вторых, .then

let chn = client.channels.find(channel => channel.id === '717019301357420554');
chn.fetchMessage('717369584801546273').then(msg => msg.edit(embedit));

Если вы хотите сохранить его в переменной

let chn = client.channels.find(channel => channel.id === '717019301357420554');
let msg;
chn.fetchMessage('717369584801546273').then(m => msg = m);
//note you will have to wait for the promise to resolve to use 
//the variable msg correctly
//any code beyond this isn't guranteed to have access to 

Кстати, это плохие имена переменных, вам не следует использовать сокращения вроде chn скорее channel, а также embedit => embEdit. Но до тебя

Другие вопросы по тегам