#javascript #discord.js
Вопрос:
Я пытаюсь заставить бота проверять статус пользователей, когда у них есть discord.gg/ или .gg/ по статусу дайте роль, и если они ее уберут, удалите ее
client.on('presenceUpdate', async (oldPresence, newPresence) =gt; { const role = newPresence.guild.roles.cache.get('910192386267840513'); const member = newPresence.member; const activities = member.user.presence.activities[0]; if (activities amp;amp; (activities.state.includes('.gg/') || activities.state.includes('discord.gg/'))) { return newPresence.member.roles.add(role); } else if (member.roles.cache.get(role.id)) { newPresence.member.roles.remove(role); }});
Это ошибка, которую он показывает
const activities = member.user.presence.activities[0]; ^ TypeError: Cannot read properties of undefined (reading 'activities')
Ответ №1:
User
у s больше нет presence
s. Вам нужно будет использовать GuildMember
, чтобы получить присутствие
const activities = member.presence.activities[0]
Комментарии:
1. О, спасибо тебе! но это работает только один раз, нужно ли мне зацикливать его?
2. Что вы имеете в виду 1 раз? Мероприятие проводится только один раз?
3. Да, он отслеживает только первое обновление
4. Однако проходит ли мероприятие? Поместите
console.log("Running")
в верхней части обратного вызова, чтобы убедиться, что5. Действительно, действительно спасибо вам! Я работаю над этой штукой уже 3 дня.