[go: up one dir, main page]

0% found this document useful (0 votes)
65 views4 pages

Message

This document outlines a Discord bot command structure for a help menu, detailing various command categories such as Antinuke, Automod, Fun, and more. It includes the setup for interactive components like select menus and buttons for user engagement. The bot provides a user-friendly interface to access commands and functionalities within the server.

Uploaded by

arpitranjan4958
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views4 pages

Message

This document outlines a Discord bot command structure for a help menu, detailing various command categories such as Antinuke, Automod, Fun, and more. It includes the setup for interactive components like select menus and buttons for user engagement. The bot provides a user-friendly interface to access commands and functionalities within the server.

Uploaded by

arpitranjan4958
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

const { SlashCommandBuilder, EmbedBuilder, ActionRowBuilder,

StringSelectMenuBuilder, ButtonBuilder, ButtonStyle } = require('discord.js');

// Manually define emojis using their IDs


const EMOJI_INFO = "<:info:1348290096620638362>";
const EMOJI_TICK = "<:tick_tick:1348271801481826315>";
const EMOJI_CROSS = "<a:cross_cross:1348070723243216946>";
const EMOJI_PARTNER = "<a:partner:1345899310511816750>";
const EMOJI_ANTINUKE = "<:antinuke:1345897693808951416>";
const EMOJI_AUTOMOD = "<:Automod:1345897951381164183>";
const EMOJI_FUN = "<a:trick_supreme:1344331473922297867>";
const EMOJI_GIVEAWAY = "<a:unnamed_emoji:1343351495394988094>";
const EMOJI_MODERATION = "<:moderation:1345901513515728927>";
const EMOJI_UTILITY = "<:OG_Commands:1345901067266691192>";
const EMOJI_TICKET = "<a:ticket:1345901724585427004>";
const EMOJI_ROLES = "<:roles1:1345902183140556860>";
const EMOJI_MIC = "<a:mic:1345902292670480384>";
const EMOJI_AUTOREACT = "<:Autoreact:1345902215356747828>";
const EMOJI_TRANSLATE = "<:translate:1346853740904317028>";

const categoryCommands = {
"Antinuke": `
/antinuke on → Enable Antinuke protection
/antinuke off → Disable Antinuke protection
/wl @user → Whitelist a user
/lc #channel → Set log channel`,
"Automod": `
/automod on → Enable Automod
/automod off → Disable Automod
/blacklist word → Add a word to the blacklist
/whitelist word → Remove a word from the blacklist`,
"Fun": `
/roast @user → Roast a user
/joke → Get a random joke
/fact → Get a random fun fact
/avatar @user → Show a user's avatar
/coinflip → Flip a coin
/8ball <question> → Ask the magic 8-ball`,
"Giveaway": `
/giveaway start → Start a giveaway
/giveaway reroll → Reroll a giveaway
/giveaway end → End a giveaway`,
"Ignore": `
/ignore channel → Ignore a channel
/unignore channel → Unignore a channel`,
"Moderation": `
/ban @user → Ban a user
/unban userID → Unban a user
/kick @user → Kick a user
/mute @user → Mute a user
/unmute @user → Unmute a user
/purge 10 → Delete 10 messages
/purge user @user 10 → Delete 10 messages from a user
/purge bots → Delete bot messages`,
"Utility": `
/afk <reason> → Set AFK status
/role @user @role → Add/remove a role
/rolelist @role → List members with a role
/roleicon @role <emoji> → Set a role icon
/data @user → Get user info
/badges → Show your badges
/ping → Check bot's latency
/prefix → Show current bot prefix
/prefix set <prefix> → Change bot prefix
/stats → Show bot statistics
/steal <emoji> → Steal an emoji`,
"Ticket": `
/ticket create → Create a ticket
/ticket close → Close a ticket
/ticket add @user → Add a user to a ticket
/ticket remove @user → Remove a user from a ticket`,
"Custom Roles": `
/role create <name> → Create a custom role
/role delete <role> → Delete a custom role
/role color <role> <hex> → Change a role's color`,
"TempVoice": `
/voice create → Create a temporary voice channel
/voice limit <number> → Set a user limit
/voice name <name> → Change the channel name`,
"Autoreact": `
/autoreact add <trigger> <emoji> → Add an auto-reaction
/autoreact remove <trigger> → Remove an auto-reaction
/autoreact list → List all auto-reactions`,
"Translate": `
/translate <language> <text> → Translate text
/translate list → List supported languages`
};

module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Shows the help menu'),

async execute(interaction) {
const mainEmbed = new EmbedBuilder()
.setTitle(`${EMOJI_PARTNER} Azynox Help Panel`)
.setDescription(
`${EMOJI_INFO} **Prefix on this server:** \`/\`\n` +
`${EMOJI_INFO} Type \`/help <category>\` for more info\n` +
`${EMOJI_INFO} **Total commands:** 85\n\n` +
`${EMOJI_PARTNER} **Main Categories**\n\n` +
`${EMOJI_ANTINUKE} **Antinuke**\n` +
`${EMOJI_AUTOMOD} **Automod**\n` +
`${EMOJI_FUN} **Fun**\n` +
`${EMOJI_GIVEAWAY} **Giveaway**\n` +
`${EMOJI_CROSS} **Ignore**\n` +
`${EMOJI_MODERATION} **Moderation**\n` +
`${EMOJI_UTILITY} **Utility**\n` +
`${EMOJI_TICKET} **Ticket**\n` +
`${EMOJI_ROLES} **Custom Roles**\n` +
`${EMOJI_MIC} **TempVoice**\n` +
`${EMOJI_AUTOREACT} **Autoreact**\n` +
`${EMOJI_TRANSLATE} **Translate**`
)
.setColor(0x00ff00)
.setFooter({
text: `Requested by ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL()
})
.setThumbnail(interaction.client.user.displayAvatarURL());

const selectMenu = new StringSelectMenuBuilder()


.setCustomId('help_select')
.setPlaceholder('Select a category...')
.addOptions([
{ label: 'Home', emoji: '🏠', description: 'Go back to the main help
menu' },
{ label: 'Antinuke', emoji: EMOJI_ANTINUKE, description: 'View
Antinuke commands' },
{ label: 'Automod', emoji: EMOJI_AUTOMOD, description: 'View
Automod commands' },
{ label: 'Fun', emoji: EMOJI_FUN, description: 'View Fun
commands' },
{ label: 'Giveaway', emoji: EMOJI_GIVEAWAY, description: 'View
Giveaway commands' },
{ label: 'Ignore', emoji: EMOJI_CROSS, description: 'View Ignore
commands' },
{ label: 'Moderation', emoji: EMOJI_MODERATION, description: 'View
Moderation commands' },
{ label: 'Utility', emoji: EMOJI_UTILITY, description: 'View
Utility commands' },
{ label: 'Ticket', emoji: EMOJI_TICKET, description: 'View Ticket
commands' },
{ label: 'Custom Roles', emoji: EMOJI_ROLES, description: 'View
Custom Roles commands' },
{ label: 'TempVoice', emoji: EMOJI_MIC, description: 'View
TempVoice commands' },
{ label: 'Autoreact', emoji: EMOJI_AUTOREACT, description: 'View
Autoreact commands' },
{ label: 'Translate', emoji: EMOJI_TRANSLATE, description: 'View
Translate commands' }
]);

const inviteButton = new ButtonBuilder()


.setLabel('Invite Me')
.setURL('https://discord.com/oauth2/authorize?
client_id=YOUR_CLIENT_ID&permissions=8&scope=bot')
.setStyle(ButtonStyle.Link);

const supportButton = new ButtonBuilder()


.setLabel('Support')
.setURL('https://discord.gg/YOUR_SUPPORT_SERVER')
.setStyle(ButtonStyle.Link);

const row1 = new ActionRowBuilder().addComponents(selectMenu);


const row2 = new ActionRowBuilder().addComponents(inviteButton,
supportButton);

await interaction.reply({
embeds: [mainEmbed],
components: [row1, row2],
ephemeral: true
});
},

async handleSelect(interaction) {
const selectedCategory = interaction.values[0];
if (selectedCategory === 'Home') {
const mainEmbed = new EmbedBuilder()
.setTitle(`${EMOJI_PARTNER} Azynox Help Panel`)
.setDescription(
`${EMOJI_INFO} **Prefix on this server:** \`/\`\n` +
`${EMOJI_INFO} Type \`/help <category>\` for more info\n` +
`${EMOJI_INFO} **Total commands:** 85\n\n` +
`${EMOJI_PARTNER} **Main Categories**\n\n` +
`${EMOJI_ANTINUKE} **Antinuke**\n` +
`${EMOJI_AUTOMOD} **Automod**\n` +
`${EMOJI_FUN} **Fun**\n` +
`${EMOJI_GIVEAWAY} **Giveaway**\n` +
`${EMOJI_CROSS} **Ignore**\n` +
`${EMOJI_MODERATION} **Moderation**\n` +
`${EMOJI_UTILITY} **Utility**\n` +
`${EMOJI_TICKET} **Ticket**\n` +
`${EMOJI_ROLES} **Custom Roles**\n` +
`${EMOJI_MIC} **TempVoice**\n` +
`${EMOJI_AUTOREACT} **Autoreact**\n` +
`${EMOJI_TRANSLATE} **Translate**`
)
.setColor(0x00ff00)
.setFooter({
text: `Requested by ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL()
})
.setThumbnail(interaction.client.user.displayAvatarURL());

await interaction.update({ embeds: [mainEmbed] });


return;
}

const categoryEmbed = new EmbedBuilder()


.setTitle(`${selectedCategory} Commands`)
.setDescription(categoryCommands[selectedCategory])
.setColor(0x00ff00)
.setFooter({
text: `Requested by ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL()
});

await interaction.update({ embeds: [categoryEmbed] });


}
};

You might also like