Я знаю, как проверить, имеет ли отправитель сообщения роль:
if(message.member.roles.has(role.id)) < console.log(`Yay, the author of the message has the role!`); >else
Однако как я могу проверить, играет ли конкретный пользователь (используя идентификатор пользователя) определенную роль?
var authorID = «111111111111111111» //Find role var role = message.guild.roles.find(role => role.name === «Private Splash Ping»); //Find member let member = message.guild.members.get(authorID); console.log(member.roles.has(role)) if(member.roles.has(role)) < roleadded = «User already has Private spalsh role.» >else
member.roles.has (role) всегда возвращает false, и я подтвердил, что переменные-члены и роли корректны через точки останова.
Есть что-то, чего я здесь не хватает?
message.member.roles считается GuildMemberRoleManager ( Документация ), чтобы получить доступ к коллекции ролей, вы должны получить доступ к свойству, .cache которое является коллекцией. Эта коллекция затем имеет .has(. ) функцию метода. ( Документация )
КАК СДЕЛАТЬ ВЫДАЧУ РОЛИ ПРИ ВХОДЕ ИГРОКА НА СЕРВЕР DISCORD / СОЗДАНИЯ БОТА DISCORD НА JavaScript #2
Таким образом, вы вместо этого хотите получить доступ message.member.roles.cache.has(. )
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
Источник: www.javaer101.com
Как я могу перечислить всех членов с ролью в Discord.Js
Как я могу перечислять участников в роли с помощью Discord.js .
client.on(«message», message => < var guild = message.guild; let args = message.content.split(» «).slice(1); if (!message.content.startsWith(prefix)) return; if (message.author.bot) return; if(message.content.startsWith(prefix + ‘go4-add’)) < guild.member(message.mentions.users.first()).addRole(‘415665311828803584’); >>);
Как мне перечислить всех участников, которые имеют роль go4 в встраивании. Когда сообщение .go4-list вводится в канал, я бы хотел, чтобы бот ответил вставкой.
Лучший ответ:
.members возвращает коллекцию GuildMember s. Просто нарисуйте эту коллекцию, чтобы получить нужную вам собственность.
Вот пример по вашему сценарию:
message.guild.roles.get(‘415665311828803584’).members.map(m=>m.user.tag);
Это выведет массив пользовательских тегов из членов, имеющих роль “go4”. Теперь вы можете .join(. ) этот массив в нужный вам формат.
Кроме того, guild.member(message.mentions.users.first()).addRole(‘415665311828803584’); может быть сокращено до: message.mentions.members.first().addRole(‘415665311828803584’);
Вот пример того, как это выглядело бы в результате:
client.on(«message», message => < if(message.content.startsWith(‘$go4-add’)) < message.mentions.members.first().addRole(‘415665311828803584’); // gets the from a mention and then adds the role to that member > if(message.content == ‘$go4-list’) < const ListEmbed = new Discord.RichEmbed() .setTitle(‘Users with the go4 role:’) .setDescription(message.guild.roles.get(‘415665311828803584’).members.map(m=>m.user.tag).join(‘n’)); message.channel.send(ListEmbed); > >);
if(message.content.startsWith(«//inrole»)) < let roleName = message.content.split(» «).slice(1).join(» «); //Filtering the guild members only keeping those with the role //Then mapping the filtered array to their usernames let membersWithRole = message.guild.members.filter(member =>< return member.roles.find(«name», roleName); >).map(member => < return member.user.username; >) let embed = new discord.RichEmbed( < «title»: ‘Users with the $role’, «description»: membersWithRole.join(«n»), «color»: 0xFFFF >); return message.channel.send(); >
Пример использования разлада:
Система выдачи Персональных ролей — Discord.js v13
Обратите внимание, что если в роли есть много членов, вы можете получить сообщение об ошибке, указав, что вы превысили количество символов, которые вы можете вставить. В таком случае вы можете решить отправить несколько вложений, разделяющих пользователей.
Источник: techarks.ru
КАК СДЕЛАТЬ ВЫДАЧУ РОЛИ ПРИ ВХОДЕ ИГРОКА НА СЕРВЕР DISCORD / СОЗДАНИЯ БОТА DISCORD НА JavaScript #2
КАК СОЗДАТЬ DISCORD БОТА НА JAVASCRIPT | ЗАПУСК, СОЗДАНИЕ КОМАНД
Привет! Сегодня я покажу вам, как создать дискорд бота на языке javascript. Мы создадим бота, запустим его и сделаем .
СОЗДАНИЕ БОТА ДЛЯ DISCORD #1 (Discord JS 11)
В этом курсе видео уроков мы будем создавать своего бота для Дискорд на Discord.js ——Ссылки: NodeJS: .
КАК СОЗДАТЬ И НАСТРОИТЬ DISCORD СЕРВЕР?! — Добавить Ботов, Настроить Роли и т.д
Вы узнаете про СОЗДАНИЕ И НАСТРОЙКУ DISCORD СЕРВЕРА! Мы НАСТРОИМ БОТОВ, Mee6, Juniper, Vexera и т.д .
БОТ для Discord [ 9 ] | Авто выдача роли
Полезные Ссылки -=-=-=-=-=-=- Группа ВК: https://vk.com/fsoky Личка: https://vk.com/ansqqq ⬜️ Мой дискорд: .
Как настроить выдачу ролей с помощью команд в дискорда | Выдача ролей через команду Discord
Скачать дискорд — https://discordapp.com/ Сайт Бота Dyno — https://dyno.gg/ Мой Дискорд Сервер — https://discord.gg/zpHxQ3G .
Генератор Рандомных Серверов Discord / Изучаем функции создания / Создание Дискорд Бота На Node.JS
Всем привет! В этом видео мы продолжим изучать discord.js и рассмотрим функции, позволяющие боту создавать что-либо .
#1 | Туториал по созданию бота для Discord на JavaScript | От приложения до запуска
По многочисленным просьбам наших зрителей мы выпустили подробный гайд по созданию своего собственного бота.
КАК СДЕЛАТЬ ВЫДАЧУ РОЛЕЙ ПО ЭМОДЗИ | YAGPDB discord bot |
В этом видео я вам покажу как сделать выдачу ролей по эмодзи в дискорд с помощью discord бота YAGPDB!
[Устаревший Discord.js] Радуга роль Discord.JS
Познавательное видео про создание Радуга роли для сервера с использованием Discord.JS. Подробное описание и .
Пишем бота на Discord #7 Выдача роли по реакции на сообщение | 3/3 — кеширование старых сообщений
Привет мой дорогой друг, спасибо за просмотр, скорее всего ты сюда заглянул в поиске ссылок, по-этому не буду томить, .
Источник: thichhat.com