Чтобы сделать автоматическую выдачу роли на сервере при написании сообщения в определенном канале, вам понадобится использовать Node.js и библиотеку discord.js.
Во-первых, вам нужно установить discord.js, чтобы иметь возможность взаимодействия с Discord API. Вы можете установить его, выполнив следующую команду в командной строке:
npm install discord.js
После установки discord.js вы можете начать разработку бота для вашего сервера Discord. Предположим, что у вас уже есть токен бота. Если нет, то вы можете создать нового бота в Developer Portal Discord и получить токен.
Итак, давайте начнем. Создайте новый файл index.js
и добавьте следующий код:
const Discord = require('discord.js'); const client = new Discord.Client(); const prefix = '!'; // Установите свой префикс для команд client.once('ready', () => { console.log('Бот готов к работе!'); }); client.on('message', message => { if (message.channel.id === 'ваш_идентификатор_канала') { // Замените на ID вашего канала const role = message.guild.roles.cache.find(role => role.name === 'имя_роли'); // Замените на имя роли, которую вы хотите выдать if (role) { const member = message.member; member.roles.add(role) .then(() => { console.log(`Роль ${role.name} успешно выдана пользователю ${member.user.tag}`); }) .catch(console.error); } else { console.log(`Роль с именем ${role.name} не найдена!`); } } }); client.login('ваш_токен'); // Замените на свой токен бота
В коде выше мы определяем токен бота, префикс команд, а также событие message
, которое будет срабатывать при каждом новом сообщении на сервере. Внутри обработчика мы проверяем, является ли данный канал тем, где мы хотим выдать роль. Затем мы ищем роль по ее имени и пытаемся добавить ее к пользователю, отправившему сообщение.
Не забудьте заменить 'ваш_идентификатор_канала'
на ID вашего канала, 'имя_роли'
на имя роли, которую вы хотите выдать, и 'ваш_токен'
на ваш токен бота.
После сохранения кода вы можете запустить его, выполнив команду node index.js
в командной строке. Если все настроено правильно, ваш бот должен быть онлайн и готов выдавать роли при написании в нужном канале.