star/shameboard command
This commit is contained in:
parent
d1e8dda148
commit
d4a56009fd
3 changed files with 104 additions and 0 deletions
38
commands/admin/shameboard.js
Normal file
38
commands/admin/shameboard.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
import { SlashCommandBuilder, PermissionFlagsBits } from 'discord.js';
|
||||
import fs from 'node:fs';
|
||||
|
||||
export default {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('shameboard')
|
||||
.setDescription('Set shameboard to the current channel.')
|
||||
.addStringOption(option =>
|
||||
option.setName('emote')
|
||||
.setDescription('The emote that should be used to enter the shameboard.'))
|
||||
.addStringOption(option =>
|
||||
option.setName('count')
|
||||
.setDescription('How many react for it to enter shameboard.'))
|
||||
.addBooleanOption(option =>
|
||||
option.setName('remove')
|
||||
.setDescription('Remove the shameboard')
|
||||
.setRequired(false)),
|
||||
category: 'admin',
|
||||
userPermissions: [PermissionFlagsBits.ManageChannels],
|
||||
async execute(interaction, args) {
|
||||
if (args.remove) {
|
||||
fs.unlink(`./json/board/shame${interaction.guild.id}.json`, (err) => {
|
||||
if (err) {return interaction.reply('There is no shameboard');}
|
||||
return interaction.reply('Deleted the shameboard');
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!args.emote || !args.count) return interaction.reply('You are missing the emote or the count arg!');
|
||||
fs.writeFile(`./json/board/shame${interaction.guild.id}.json`, `{"shameboard": "${interaction.channel.id}", "emote": "${args.emote}", "count": "${args.count}"}`, (err) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
|
||||
return interaction.reply(`This channel have been set as the shameboard with ${args.emote} with the minimum of ${args.count}`);
|
||||
}
|
||||
},
|
||||
};
|
38
commands/admin/starboard.js
Normal file
38
commands/admin/starboard.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
import { SlashCommandBuilder, PermissionFlagsBits } from 'discord.js';
|
||||
import fs from 'node:fs';
|
||||
|
||||
export default {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('starboard')
|
||||
.setDescription('Set starboard to the current channel.')
|
||||
.addStringOption(option =>
|
||||
option.setName('emote')
|
||||
.setDescription('The emote that should be used to enter the starboard.'))
|
||||
.addStringOption(option =>
|
||||
option.setName('count')
|
||||
.setDescription('How many react for it to enter starboard.'))
|
||||
.addBooleanOption(option =>
|
||||
option.setName('remove')
|
||||
.setDescription('Remove the starboard')
|
||||
.setRequired(false)),
|
||||
category: 'admin',
|
||||
userPermissions: [PermissionFlagsBits.ManageChannels],
|
||||
async execute(interaction, args) {
|
||||
if (args.remove) {
|
||||
fs.unlink(`./json/board/star${interaction.guild.id}.json`, (err) => {
|
||||
if (err) {return interaction.reply('There is no starboard');}
|
||||
return interaction.reply('Deleted the starboard');
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!args.emote || !args.count) return interaction.reply('You are missing the emote or the count arg!');
|
||||
fs.writeFile(`./json/board/star${interaction.guild.id}.json`, `{"starboard": "${interaction.channel.id}", "emote": "${args.emote}", "count": "${args.count}"}`, (err) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
|
||||
return interaction.reply(`This channel have been set as the starboard with ${args.emote} with the minimum of ${args.count}`);
|
||||
}
|
||||
},
|
||||
};
|
|
@ -193,6 +193,34 @@ const commands = [
|
|||
.addStringOption(option =>
|
||||
option.setName('command')
|
||||
.setDescription('The command you want more details about.')),
|
||||
|
||||
new SlashCommandBuilder()
|
||||
.setName('shameboard')
|
||||
.setDescription('Set shameboard to the current channel.')
|
||||
.addStringOption(option =>
|
||||
option.setName('emote')
|
||||
.setDescription('The emote that should be used to enter the shameboard.'))
|
||||
.addStringOption(option =>
|
||||
option.setName('count')
|
||||
.setDescription('How many react for it to enter shameboard.'))
|
||||
.addBooleanOption(option =>
|
||||
option.setName('remove')
|
||||
.setDescription('Remove the shameboard')
|
||||
.setRequired(false)),
|
||||
|
||||
new SlashCommandBuilder()
|
||||
.setName('starboard')
|
||||
.setDescription('Set starboard to the current channel.')
|
||||
.addStringOption(option =>
|
||||
option.setName('emote')
|
||||
.setDescription('The emote that should be used to enter the starboard.'))
|
||||
.addStringOption(option =>
|
||||
option.setName('count')
|
||||
.setDescription('How many react for it to enter starboard.'))
|
||||
.addBooleanOption(option =>
|
||||
option.setName('remove')
|
||||
.setDescription('Remove the starboard')
|
||||
.setRequired(false)),
|
||||
]
|
||||
.map(command => command.toJSON());
|
||||
|
||||
|
|
Loading…
Reference in a new issue