#javascript #node.js #discord #discord.js
#javascript #node.js #Discord #discord.js
Вопрос:
Я пытаюсь обнаружить сообщение, которое приходит от другого бота discord. Например, если другой бот discord произнесет слово «captcha», мой бот discord обнаружит это и отправит мне пинг. Надеюсь, есть также способ обнаружить встраивание другого бота, а не только сообщения.
Комментарии:
1. Привет, я думаю, у каждого сообщения есть свойство user, содержащее флаг, если пользователь является ботом, подобным message.author.bot
Ответ №1:
Вы можете определить, является ли пользователь ботом, используя bot
свойство на User
.
// create a message event
client.on('message', (message) => {
if (message.author.bot) {
// if the message is a bot
console.log(`${message.author.username} sent: '${message.content}'`); // you can fetch the message text through `message.content`
if (message.embeds[0])
// if the message includes an embed
console.log(
`${message.author.username} sent an embed with the title ${message.embeds[0].title}`
); // you can fetch the embed content through `message.embeds[0]`
}
});
Комментарии:
1. работает так, как я хотел, чтобы это было! Единственная проблема, оставшаяся прямо сейчас, заключается в том, что я получил содержимое нужного мне встраивания, которое находится в нижнем колонтитуле. Я хочу поставить условие, что если определенное слово включено в полученную вставку, я помещу реакцию на саму вставку. Кстати, спасибо за помощь ^^
2. Вы могли бы попробовать:
if (message.embeds[0].footer.includes('specific word')) message.react(reaction)
3. в нем говорится
Cannot read property footer of undefined
. Я пытался изменить код, который вы мне прислали, но безрезультатно.4. Это просто означает, что конкретное сообщение, в котором вы это вызвали, не имеет встроенного
5. Нашел решение проблемы благодаря коду, который вы все еще отправляли, и, задав несколько вопросов,
for (var i = 0; i < message.embeds.length; i ) { if (message.embeds[i] amp;amp; message.embeds[i].footer amp;amp; message.embeds[i].footer.text.includes('left')) { message.react('📌')
решил его и сделал свое дело. Большое вам спасибо за всю помощь ^^
Ответ №2:
Вы можете получить bot
свойство из author
(пользовательского объекта)
message.author.bot
вернет, true
если тот, кто отправил сообщение, является ботом, в противном случае false
.
Для вашего обнаружения «captcha» вам просто нужно проверить
message.content