const { SlashCommandBuilder } = require('@discordjs/builders');
const fs = require('fs');
const path = require('path');
const whitelistedUsers = [
"614485941423177729",
"1132790424990404659",
"1088653427397107712",
"1259481504065654854"
]
module.exports = {
data: new SlashCommandBuilder()
.setName('upload')
.setDescription('Upload a file')
.addAttachmentOption(option =>
option.setName('file')
.setDescription('The file to upload')
.setRequired(true)),
async execute(interaction) {
if (!whitelistedUsers.includes(interaction.user.id)) {
return interaction.reply({ content: 'You do not have permission to use this command.' });
}
const file = interaction.options.getAttachment('file');
if (!file) {
return interaction.reply({ content: 'No file was provided.', ephemeral: true });
}
const filePath = path.join(__dirname, '../../public/uploads', file.name);
const fileStream = fs.createWriteStream(filePath);
const https = require('https');
https.get(file.url, response => {
response.pipe(fileStream);
fileStream.on('finish', () => {
fileStream.close();
interaction.reply({ content: `File uploaded successfully: http://localhost:3000/uploads/${file.name}`, ephemeral: true });
});
}).on('error', err => {
fs.unlink(filePath, () => {
interaction.reply({ content: 'Failed to upload file.', ephemeral: true });
console.error(err);
});
});
},
};
const { SlashCommandBuilder } = require('@discordjs/builders');
const fs = require('fs');
const path = require('path');
const whitelistedUsers = [
"614485941423177729",
"1132790424990404659",
"1088653427397107712",
"1259481504065654854"
]
module.exports = {
data: new SlashCommandBuilder()
.setName('upload')
.setDescription('Upload a file')
.addAttachmentOption(option =>
option.setName('file')
.setDescription('The file to upload')
.setRequired(true)),
async execute(interaction) {
if (!whitelistedUsers.includes(interaction.user.id)) {
return interaction.reply({ content: 'You do not have permission to use this command.' });
}
const file = interaction.options.getAttachment('file');
if (!file) {
return interaction.reply({ content: 'No file was provided.', ephemeral: true });
}
const filePath = path.join(__dirname, '../../public/uploads', file.name);
const fileStream = fs.createWriteStream(filePath);
const https = require('https');
https.get(file.url, response => {
response.pipe(fileStream);
fileStream.on('finish', () => {
fileStream.close();
interaction.reply({ content: `File uploaded successfully: http://localhost:3000/uploads/${file.name}`, ephemeral: true });
});
}).on('error', err => {
fs.unlink(filePath, () => {
interaction.reply({ content: 'Failed to upload file.', ephemeral: true });
console.error(err);
});
});
},
};