Skip to content

Commit 6ec81c3

Browse files
committed
feat: Transition paidmember over to embed
1 parent 2683677 commit 6ec81c3

File tree

10 files changed

+128
-42
lines changed

10 files changed

+128
-42
lines changed

src/events/ready.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
const client = require('../index');
2-
const { ActivityType } = require('discord.js')
2+
const { ActivityType } = require('discord.js');
33

44
client.on('ready', () => {
55
console.log('HullCSS is online');
6-
client.user.setActivity('HullCSS.org', { type: ActivityType.Custom })
6+
client.user.setActivity('HullCSS.org', { type: ActivityType.Custom });
77

88
setInterval(() => {
99
const { memberCount } = client.guilds.cache.get('427865794467069962');

src/slashCommands/admin/lock.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ module.exports = {
1616
*/
1717

1818
run: async (client, interaction) => {
19-
interaction.channel.permissionOverwrites.edit(interaction.guild.everyone, { SendMessages: false });
19+
interaction.channel.permissionOverwrites.edit(interaction.guild.everyone, {
20+
SendMessages: false,
21+
});
2022
interaction.reply('Channel has been locked.');
2123
},
2224
};

src/slashCommands/admin/nukepaid.js

+28-23
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
const { Permissions } = require('discord.js');
2-
const { SlashCommandBuilder } = require('@discordjs/builders');
3-
const { PermissionFlagsBits } = require('discord-api-types/v10');
1+
const {
2+
Permissions,
3+
SlashCommandBuilder,
4+
PermissionFlagsBits,
5+
} = require('discord.js');
46

57
module.exports = {
68
...new SlashCommandBuilder()
@@ -18,33 +20,36 @@ module.exports = {
1820
*/
1921

2022
run: async (client, interaction) => {
21-
await interaction.deferReply({
22-
ephemeral: true,
23+
await interaction.deferReply({
24+
ephemeral: true,
2325
});
2426

25-
2627
try {
27-
const role = interaction.guild.roles.cache.find(r => r.name === 'Paid Member')
28-
29-
interaction.guild.roles.create({
30-
name: role.name,
31-
color: role.color,
32-
hoist: role.hoist,
33-
position: role.position,
34-
permissions: role.permissions,
35-
mentionable: role.mentionable,
36-
})
37-
38-
role.delete(role.id, 'The Nuke Paid Command Was Run. ');
28+
const role = interaction.guild.roles.cache.find(
29+
(r) => r.name === 'Paid Member'
30+
);
31+
32+
interaction.guild.roles.create({
33+
name: role.name,
34+
color: role.color,
35+
hoist: role.hoist,
36+
position: role.position,
37+
permissions: role.permissions,
38+
mentionable: role.mentionable,
39+
});
40+
41+
role.delete(role.id, 'The Nuke Paid Command Was Run. ');
3942

4043
const channel = client.channels.cache.get('1143157359917682711');
4144
channel.setName(`Paid Members: 0`);
4245

43-
const newRole = interaction.guild.roles.cache.find(r => r.name === 'Paid Member')
44-
interaction.editReply(`Role has been replaced. The paid members counter has been reset to 0.\n\n The new role ID is: ${newRole.id}. Please pass this to Kieran.`, true);
45-
46-
47-
46+
const newRole = interaction.guild.roles.cache.find(
47+
(r) => r.name === 'Paid Member'
48+
);
49+
interaction.editReply(
50+
`Role has been replaced. The paid members counter has been reset to 0.\n\n The new role ID is: ${newRole.id}. Please pass this to Kieran.`,
51+
true
52+
);
4853
} catch (error) {
4954
interaction.editReply({
5055
content: error,

src/slashCommands/admin/unlock.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
const { SlashCommandBuilder, PermissionFlagsBits, ThreadAutoArchiveDuration } = require('discord.js');
1+
const {
2+
SlashCommandBuilder,
3+
PermissionFlagsBits,
4+
ThreadAutoArchiveDuration,
5+
} = require('discord.js');
26

37
module.exports = {
48
...new SlashCommandBuilder()
@@ -16,7 +20,9 @@ module.exports = {
1620
*/
1721

1822
run: async (client, interaction) => {
19-
interaction.channel.permissionOverwrites.edit(interaction.guild.everyone, { SendMessages: true });
23+
interaction.channel.permissionOverwrites.edit(interaction.guild.everyone, {
24+
SendMessages: true,
25+
});
2026
interaction.reply('Channel has been unlocked.');
2127
},
2228
};
+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
const {
2+
SlashCommandBuilder,
3+
PermissionFlagsBits,
4+
EmbedBuilder,
5+
ActionRowBuilder,
6+
ButtonBuilder,
7+
} = require('discord.js');
8+
9+
module.exports = {
10+
...new SlashCommandBuilder()
11+
.setName('paidmemberembed')
12+
.setDescription('Create the paid member embed')
13+
.setDefaultMemberPermissions(
14+
PermissionFlagsBits.KickMembers || PermissionFlagsBits.BanMembers
15+
),
16+
17+
/**
18+
*
19+
* @param {Client} client
20+
* @param {CommandInteraction} interaction
21+
* @param {String[]} args
22+
*/
23+
24+
run: async (client, interaction) => {
25+
const embed = new EmbedBuilder()
26+
.setColor(0x3fb618)
27+
.setFooter({ text: `Called By: ${interaction.user.tag}` })
28+
.setTimestamp()
29+
.setTitle('Paid Member!')
30+
.setDescription(
31+
`Press the button below to get access to the paid member role.`
32+
)
33+
.addFields(
34+
{
35+
name: 'Benefits?',
36+
value:
37+
'Come to every event\r\n Vote in AGMs and EGMs\r\n Access a special area, just for paid members\r\n Access our archive of previous events and guest talks\r\nAnd support the society you are apart of!',
38+
},
39+
{
40+
name: 'Disclaimer!',
41+
value:
42+
'This is a manual process, executive members need to verify that you have paid your membership and then manually give you the role. **There is no notification of you receiving the role!**',
43+
},
44+
{
45+
name: 'Pay for a membership',
46+
value: 'Press the green button below!',
47+
}
48+
)
49+
.setThumbnail('https://i.imgur.com/ww6wKwJ.png')
50+
.setImage(`https://i.imgur.com/ro0U7LG.png?2048`);
51+
52+
const row = new ActionRowBuilder()
53+
.addComponents(
54+
new ButtonBuilder()
55+
.setURL('https://hulluniunion.com/shop?aid=304')
56+
.setLabel('Pay for a membership!')
57+
.setStyle('Link')
58+
)
59+
.addComponents(
60+
new ButtonBuilder()
61+
.setCustomId('paidModal')
62+
.setLabel('Paid Member Request')
63+
.setStyle('Primary')
64+
);
65+
66+
interaction.channel.send({ embeds: [embed], components: [row] });
67+
interaction.reply({ content: 'Embed sent.', ephemeral: true });
68+
},
69+
};

src/slashCommands/general/buy.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ module.exports = {
1313
run: async (client, interaction) => {
1414
const embed = new EmbedBuilder()
1515
.setTitle('Thanks for considering to become a paid member!')
16-
.setColor(0x3FB618)
16+
.setColor(0x3fb618)
1717
.setFooter({ text: `Called By: ${interaction.user.tag}` })
18-
.addFields(
19-
{name: 'You can purchase from below!', value: 'https://hulluniunion.com/shop?aid=304'}
20-
);
18+
.addFields({
19+
name: 'You can purchase from below!',
20+
value: 'https://hulluniunion.com/shop?aid=304',
21+
});
2122
interaction.reply({ embeds: [embed] });
2223
},
2324
};

src/slashCommands/general/freeside.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ module.exports = {
1818
.setDescription(
1919
'Freeside is the student run and maintained linux cluster within the University Of Hull Computer Science Department providing Linux administration experience, mentoring and technical advice alongside other peer-led support. It is completely free to all students to join, irrespective of degree pathway.'
2020
)
21-
.addFields(
22-
{ name: 'You can join them from below!', value: 'https://discord.freeside.co.uk' }
23-
);
21+
.addFields({
22+
name: 'You can join them from below!',
23+
value: 'https://discord.freeside.co.uk',
24+
});
2425
interaction.reply({ embeds: [embed] });
2526
},
2627
};

src/slashCommands/general/links.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ module.exports = {
1313
run: async (client, interaction) => {
1414
const embed = new EmbedBuilder()
1515
.setTitle('Links!')
16-
.setColor(0x3FB618)
16+
.setColor(0x3fb618)
1717
.setFooter({ text: `Called By: ${interaction.user.tag}` })
18-
.addFields({name: 'Find us here:', value: 'https://hullcss.org'});
18+
.addFields({ name: 'Find us here:', value: 'https://hullcss.org' });
1919
interaction.reply({ embeds: [embed] });
2020
},
2121
};

src/slashCommands/general/ping.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@ module.exports = {
1717
const seconds = Math.floor(client.uptime / 1000) % 60;
1818

1919
const embed = new EmbedBuilder()
20-
.setColor(0x3FB618)
20+
.setColor(0x3fb618)
2121
.setFooter({ text: `Called By: ${interaction.user.tag}` })
2222
.setTimestamp()
2323
.setTitle('Pong!')
2424
.setDescription(`${client.ws.ping} ping to host`)
25-
.addFields(
26-
{ name: 'Uptime', value: `${days}days ${hours}hrs ${minutes}min ${seconds}sec`, inline: true }
27-
);
25+
.addFields({
26+
name: 'Uptime',
27+
value: `${days}days ${hours}hrs ${minutes}min ${seconds}sec`,
28+
inline: true,
29+
});
2830
interaction.reply({ embeds: [embed] });
2931
},
3032
};

src/slashCommands/general/robsoc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = {
2020
)
2121
.addFields({
2222
name: 'You can join them from below!',
23-
value: 'https://discord.gg/cMP5CavnK4'
23+
value: 'https://discord.gg/cMP5CavnK4',
2424
});
2525
interaction.reply({ embeds: [embed] });
2626
},

0 commit comments

Comments
 (0)