Это в моем файле index.js.
У моего бота
Ошибка типа: невозможно прочитать свойство 'id' из неопределенного
хотя код работал раньше.
Поток в основном:
- Событие сообщения происходит
- Получает веб-крюки гильдии, где появляется сообщение
- тогда для каждого webhook это:
- проверьте имя webhook.
- проверить идентификатор владельца и посмотреть, совпадает ли он с идентификатором бота
- проверить, находится ли webhook там, где было отправлено сообщение
- Реагирует с эмодзи.
Проблема в том, что он не знает, что такое webhook.owner.id
Я перепутал веб-крючок с другими неправильными веб-крюками.
Либо мой код ничего не делает, либо выдает ошибку в консоли.
Немного изменились операторы if (). Иногда возникает ошибка или ничего не происходит.
Добавление и удаление! в webhook.owner.id
doopliss.on('message', async (message) => {
const webhooks = await message.guild.fetchWebhooks();
await webhooks.forEach(async webhook => {
if(message.author.id == doopliss.user.id)
return //checks if author is me(bot)
else if(message.author.bot)
return //checks if author is a bot
else if(webhook.name == `Marker`)
return //checks if webhook name is "Marker"
else if(webhook.owner.id !== doopliss.user.id)
return //checks if the webhook owner id equals the bot's id
else if(message.channel.id == webhook.channelID)
return //checks if the channel ID is equal to the webhook channel's ID.
else
var thisWord = ">groc";
if(!message.content.includes(thisWord))
return
else
var thatWord = ">sc";
if(!message.content.includes(thatWord))
return
else
message.react(doopliss.emojis.find(emoji => emoji.id === "596458828011405334")) //approve
.then(() => message.react(doopliss.emojis.find(emoji => emoji.id === "596458827994497024"))) //deny
.catch(() => console.error('One of the emojis failed to react.'));
})})
Я ожидаю, что бот будет проверять все перед тем, как реагировать на каждое сообщение, но фактический результат - бот либо ничего не делает, либо выдает ошибку в консоли. Одно из ранних утверждений if () должно быть ложным, но я не знаю, какое из них.