Как сделать сохранение ролей пользователя 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){}

На год опоздал с ответом, не знаю получишь ли ты его, но пусть хотя бы другие поймут как это решается

→ Ссылка