Discord. js роль создана, но не с информацией - PullRequest
0 голосов
/ 17 апреля 2020

В настоящее время я нахожусь в процессе написания функции, которая будет создавать новую роль пользователя, назначать случайный цвет и имя этой роли после пользователя, который выполнил команду. Код выглядит следующим образом:

            message.guild.createRole({
              data: {
                name: 'Super Cool People',
                color: 'BLUE',
              },
              reason: 'we needed a role for Super Cool People',
            })
              .then(console.log)
              .catch(console.error);

Что, как некоторые из вас могут знать, это прямо из документации для CreateRole. Тем не менее, проблемы, с которыми я сталкиваюсь, состоят в том, что она успешно создает роль, но имя роли - «новая роль», а не имя, указанное выше. На цвет роли это не влияет. Журналы показывают:

2020-04-16T23:01:35.133373+00:00 app[worker.1]: id: '700481043597099059',
2020-04-16T23:01:35.133373+00:00 app[worker.1]: name: 'new role',
2020-04-16T23:01:35.133374+00:00 app[worker.1]: color: 0,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: hoist: false,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: position: 1,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: permissions: 104324673,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: managed: false,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: mentionable: false

Разрешения по умолчанию, здесь ничего особенного не происходит. Пользователи, которые будут иметь доступ к этой команде, уже будут иметь достаточные разрешения, назначенные для более высокой упорядоченной роли. Однако проблема заключается в том, что указанная роль c не названа как предназначенная и цвета не назначены. использование message.guild.createRole, кажется, вписывается в границы, которые я использую, поскольку оно находится в сообщении, ожидают асинхронного вызова c. Почему это?

1 Ответ

1 голос
/ 17 апреля 2020

Ваше решение должно быть простым, вы можете рандомизировать цвет, используя RANDOM в качестве значения, и вы можете использовать имя пользователя GuildMember для роли

message.guild.createRole({
                name: message.author.username,
                color: 'RANDOM',
            })
              .then(console.log)
              .catch(console.error);
...