Как сделать сохранение ролей пользователя Discord.js
Как сделать сохранение ролей пользователя? помогите пожалуйста
Ответы (1 шт):
Автор решения: zalof
→ Ссылка
Для этого можно использовать модуль quick.db (я им чисто все проблемы решаю).
Здесь есть два способа:
- сделать триггер(при входе юзера на сервер), который будет записывать id ролей в массив юзера
- сделать команду, которая будет их сохранять для юзера и команду, которая будет их выдавать(что описано ниже)
Сам код команды для сохранения роли таков:
const db = require('quick.db');
db.set(`guild${message.guild.id}.user${message.author.id}.roles`, []);
db.push(`guild${message.guild.id}.user${message.author.id}.roles`, message.member.roles.cache.array().slice());
А код команды для получения ролей уже:
const db = require('quick.db');
try{
db.get(`guild${message.guild.id}.user${message.author.id}.roles`).forEach(function(element){
for(i=0; i<=element.length; i++){
let c = element[i];
message.member.roles.add(message.guild.roles.cache.find(r => r.id == c.id))
}});
}
catch(e){}
На год опоздал с ответом, не знаю получишь ли ты его, но пусть хотя бы другие поймут как это решается