diff --git a/commands/admin/member_roles/slash.js b/commands/admin/member_roles/slash.js new file mode 100644 index 0000000..0a355d8 --- /dev/null +++ b/commands/admin/member_roles/slash.js @@ -0,0 +1,34 @@ +import { SlashCommandBuilder, PermissionFlagsBits } from 'discord.js'; + +export const data = new SlashCommandBuilder() + .setName('member_roles') + .setDMPermission(false) + .setDefaultMemberPermissions(PermissionFlagsBits.ManageRoles) + .setDescription('Assigns roles to new members.') + .addSubcommand((subcommand) => + subcommand + .setName('add') + .setDescription('Registers a role to be assigned to new members.') + .addRoleOption((option) => + option + .setName('role') + .setDescription('The role to assign to new members.') + .setRequired(true) + ) + ) + .addSubcommand((subcommand) => + subcommand + .setName('remove') + .setDescription('Unregisters a role from new member assignment.') + .addRoleOption((option) => + option + .setName('role') + .setDescription('The role to unregister from assignmment.') + .setRequired(true) + ) + ); + +/** @param {ChatInputCommandInteraction} interaction */ +export async function execute(interaction) { + const { options } = interaction; +} diff --git a/events/members/guildMemberAdd.js b/events/members/guildMemberAdd.js new file mode 100644 index 0000000..e176e68 --- /dev/null +++ b/events/members/guildMemberAdd.js @@ -0,0 +1,7 @@ +import { Events, GuildMember } from 'discord.js'; + +export const name = Events.GuildMemberAdd; +/** @param {GuildMember} member */ +export function execute(member) { + console.log(member); +} diff --git a/index.js b/index.js index 7b7aa55..2a6103e 100644 --- a/index.js +++ b/index.js @@ -17,6 +17,7 @@ const runClient = (commands, events) => { const client = new Client({ intents: [ GatewayIntentBits.Guilds, + GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMessageReactions