#node.js #discord.js
#node.js #discord.js
Вопрос:
Я пытаюсь создать регистратор сообщений для моего бота discord, который регистрирует отредактированные и удаленные сообщения. Однако журнал работает один раз, а затем перестает работать. Что происходит после того, как он регистрирует одно сообщение, во второй раз он регистрирует 2 таких же сообщения, а затем 3 и в конечном итоге отправляет журналы в спам с одним и тем же сообщением.
Вот мой код:
client.on("messageUpdate", message => {
var messages = [1]
if(messages.includes(message.id)){return;}
channel = message.guild.channels.cache.get('channelID')
const channel9 = client.channels.cache.find(channel => channel.id === '816339882233561129');
const ediembed = new Discord.MessageEmbed()
.setColor(1752220)
.setTitle(":pencil: Message Edited")
.addFields (
{name: "__Channel:__", value: `<#${message.channel.id}>`},
{name: "__Message Author:__", value: `${message.author.tag} - <@${message.author.id}>`},
{name: "__Original Message:__", value: message.content}
)
.setTimestamp()
.setThumbnail(message.author.avatarURL())
.setFooter("DM reloaded#1269 with any inquiries regarding bot API")
channel9.send(ediembed)
}
)
Ответ №1:
Я сталкивался с такой же проблемой раньше. Когда он отправляет сообщение, он обновляет и перечитывает сообщение и снова отправляет ответ, я рекомендую сохранить массив идентификаторов сообщений, которые он отслеживал, и проверить, есть ли идентификатор сообщения уже в массиве, а затем вернуть его следующим образом: var messages = []
if(messages.includes(message.id)){return;}
если это не сработает, извините, но я не знаю, что делать
Комментарии:
1. Хорошо, это сработало… В какой-то степени. Теперь он отправляет журнал один раз, а затем завершает работу скрипта со следующей ошибкой:
RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty.
я сталкивался с этой ошибкой ранее и не смог найти решение. Может быть, вы знаете?2. какой код вы добавили непосредственно перед тем, как начала возникать ошибка?
3. Вот что это такое сейчас: (проверьте обновленный код выше)