Почему я получаю сообщение об ошибке?
При вызове скрипта произошла ошибка. Вы можете попросить о помощи?
Ниже я вставляю код и ошибку.
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
. Но до тебя