const Discord = require('discord.js')
client.on("messageCreate" , async message => {
if(message.content == "nop"){
const button = new Discord.MessageButton()
.setCustomId('1')
.setLabel('Мальчик')
.setStyle('SUCCESS')
const button2 = new Discord.MessageButton()
.setCustomId('2')
.setLabel('Девочка')
.setStyle('SUCCESS')
const buttons = new Discord.MessageActionRow();
buttons.addComponents(button);
buttons.addComponents(button2);
message.channel.send({content: `После входа на сервер, вы автоматически соглашаетесь и принимаете <#1039680818156670996> сервера.` , components: [buttons]});
}
})
client.on("interactionCreate" , async (Integration) =>{
if(Integration.isButton() && Integration.customId == "1"){
guildMember.roles.set(['880828678278352937'])
}
if(Integration.isButton() && Integration.customId == "2"){
var role = message.guild.roles.cache.find(role => role.id === "880828678278352937");
user.roles.add(role)
}
})
client.on("interactionCreate" , async (Integration) =>{
if(Integration.isButton() && Integration.customId == "1"){
guildMember.roles.set(['880828678278352937'])
}
if(Integration.isButton() && Integration.customId == "2"){
var role = message.guild.roles.cache.find(role => role.id === "880828678278352937");
user.roles.add(role)
}
})
Integration
лучше было бы использовать название interaction
, т.к мы всё-таки работаем с взаимодействием, а не с интеграцией.if (Integration.isButton()) {
// проверки на .customId (можно использовать switch/case, если их много) //
}
1. guildMember.roles.set(['880828678278352937'])
guildMember
не определена, будет ошибка.Integration.member
, и в итоге будет Integration.member.roles.set(["880828678278352937"])
var role = message.guild.roles.cache.find(role => role.id === "880828678278352937");
message
не определена, тоже будет ошибка.interaction.guild.roles
.get()
..find()
используйте в случае, если нужно найти роль по её названию или другим параметрам.