Skip to content

Commit 0349f3d

Browse files
committed
🚀 | First commit.
0 parents  commit 0349f3d

File tree

23 files changed

+826
-0
lines changed

23 files changed

+826
-0
lines changed

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
BOT_TOKEN=YourDiscordBotToken
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//? Message Buttons Example.
2+
// This is the code that will run when a user interacts with the buttons from buttonExample.js
3+
module.exports = {
4+
name: 'blurple_button',
5+
aliases: ['grey_button', 'green_button', 'red_button'],
6+
async execute(interaction) {
7+
if (interaction.customId == 'blurple_button') {
8+
interaction.reply({
9+
content: 'Primary button pressed.',
10+
ephemeral: true,
11+
})
12+
}
13+
else if (interaction.customId == 'grey_button' || 'green_button' || 'red_button') {
14+
interaction.reply({
15+
content: `${interaction.component.label} button pressed.`,
16+
ephemeral: true,
17+
})
18+
}
19+
},
20+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const { MessageEmbed } = require('discord.js')
2+
const { ContextMenuCommandBuilder } = require('@discordjs/builders');
3+
const { lightBlue } = require(`../../../util/config.json`)
4+
5+
//? Message Context Menu Example Command.
6+
module.exports = {
7+
data: new ContextMenuCommandBuilder()
8+
.setName('Fetch user ID')
9+
.setType(2),
10+
async execute(interaction, client) {
11+
let user = await client.users.fetch(interaction.targetId)
12+
const embed = new MessageEmbed()
13+
.setColor(lightBlue)
14+
.setDescription(`${user.username}'s user ID: \`${user.id}\``)
15+
interaction.user.send({ embeds: [embed], ephemeral: true })
16+
interaction.reply({ content: 'User ID sent.', ephemeral: true })
17+
},
18+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//? Select Menu Example.
2+
// This is the code that will run when a user interacts with the Select Menu from selectMenuExample.js
3+
module.exports = {
4+
name: 'select_example',
5+
async execute(interaction) {
6+
let picked = ''
7+
await interaction.values.forEach(async (value) => { picked += `${value}, ` })
8+
interaction.reply({
9+
content: `${picked} option selected.`,
10+
ephemeral: true,
11+
})
12+
},
13+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
const { MessageButton, MessageActionRow } = require('discord.js')
2+
const { SlashCommandBuilder } = require('@discordjs/builders')
3+
const { lightBlue } = require(`../../../util/config.json`)
4+
const { customEmbed } = require(`../../../util/embed`)
5+
6+
//? Using Buttons Example.
7+
module.exports = {
8+
data: new SlashCommandBuilder()
9+
.setName('button-example')
10+
.setDescription('An example command to show how to create buttons.'),
11+
cooldown: 5000,
12+
async execute(interaction) {
13+
let primaryButton = new MessageButton()
14+
.setLabel('Primary')
15+
.setStyle('PRIMARY')
16+
.setCustomId('blurple_button')
17+
let secondaryButton = new MessageButton()
18+
.setLabel('Cancel')
19+
.setStyle('SECONDARY')
20+
.setCustomId('grey_button')
21+
let successButton = new MessageButton()
22+
.setLabel('Success')
23+
.setStyle('SUCCESS')
24+
.setCustomId('green_button')
25+
let dangerButton = new MessageButton()
26+
.setLabel('Danger')
27+
.setStyle('DANGER')
28+
.setCustomId('red_button')
29+
let linkButton = new MessageButton()
30+
.setLabel('Link')
31+
.setStyle('LINK')
32+
.setURL('https://ebaa.dev')
33+
const row = new MessageActionRow().addComponents(
34+
primaryButton,
35+
secondaryButton,
36+
successButton,
37+
dangerButton,
38+
linkButton
39+
)
40+
interaction.reply({
41+
embeds: [customEmbed('This is an example of all the buttons you can make.', lightBlue)],
42+
components: [row],
43+
})
44+
},
45+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const { SlashCommandBuilder } = require('@discordjs/builders');
2+
const { lightBlue } = require(`../../../util/config.json`)
3+
const { errorEmbed, customEmbed } = require(`../../../util/embed`)
4+
5+
//? Reusable embeds example.
6+
module.exports = {
7+
data: new SlashCommandBuilder()
8+
.setName('embed-example')
9+
.setDescription('Reusable embeds example.'),
10+
async execute(interaction) {
11+
errorEmbed(interaction, 'Error embed example description', 'Error embed example footer')
12+
interaction.channel.send({
13+
embeds: [
14+
customEmbed('Custom embed example description', lightBlue, '', '', 'Custom embed example footer'),
15+
],
16+
})
17+
},
18+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const { SlashCommandBuilder } = require('@discordjs/builders');
2+
const { successEmbed } = require(`../../../util/embed`)
3+
4+
//? Permissions System Example.
5+
module.exports = {
6+
data: new SlashCommandBuilder()
7+
.setName('permissions-example')
8+
.setDescription('Permissions system example'),
9+
cooldown: 5000,
10+
permissions: ['ADMINISTRATOR'],
11+
async execute(interaction) {
12+
successEmbed(interaction, 'You have permission to run this command!')
13+
}
14+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const { MessageEmbed } = require('discord.js')
2+
const { SlashCommandBuilder } = require('@discordjs/builders');
3+
const { green, greenTick } = require(`../../../util/config.json`)
4+
5+
//? A simple ping slash command.
6+
module.exports = {
7+
data: new SlashCommandBuilder()
8+
.setName('ping')
9+
.setDescription('Slash command ping example.'),
10+
cooldown: 5000,
11+
async execute(interaction) {
12+
const embed = new MessageEmbed().setColor(green).setDescription('Calculating ping...')
13+
const loadingMessage = await interaction.reply({ embeds: [embed], fetchReply: true })
14+
embed.setDescription(greenTick + ' Pong! ' + `\`${loadingMessage.createdTimestamp - interaction.createdTimestamp}ms\``)
15+
interaction.editReply({ embeds: [embed] })
16+
}
17+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
const { MessageSelectMenu, MessageActionRow } = require('discord.js')
2+
const { SlashCommandBuilder } = require('@discordjs/builders')
3+
const { lightBlue } = require(`../../../util/config.json`)
4+
const { customEmbed } = require(`../../../util/embed`)
5+
6+
//? Using Select Menus Example.
7+
module.exports = {
8+
data: new SlashCommandBuilder()
9+
.setName('select-example')
10+
.setDescription('An example command to show how to create select menus.'),
11+
cooldown: 5000,
12+
async execute(interaction) {
13+
let selectMenu = new MessageSelectMenu()
14+
.setCustomId('select_example')
15+
.setPlaceholder('Nothing selected')
16+
.setMinValues(1)
17+
.setMaxValues(3)
18+
.addOptions([
19+
{
20+
label: 'Option #1',
21+
description: 'This is a description for option #1',
22+
value: 'first_option',
23+
emoji: '1️⃣',
24+
},
25+
{
26+
label: 'Option #2',
27+
description: 'This is a description for option #2',
28+
value: 'second_option',
29+
emoji: '2️⃣',
30+
}, {
31+
label: 'Option #3',
32+
description: 'This is a description for option #3',
33+
value: 'third_option',
34+
emoji: '3️⃣',
35+
}, {
36+
label: 'Option #4',
37+
description: 'This is a description for option #4',
38+
value: 'fourth_option',
39+
emoji: '4️⃣',
40+
},
41+
])
42+
const row = new MessageActionRow().addComponents(selectMenu)
43+
interaction.reply({
44+
embeds: [customEmbed('This is an example of a select menu.', lightBlue)],
45+
components: [row],
46+
})
47+
},
48+
}

0 commit comments

Comments
 (0)