You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Haha-Yes/commands/admin/starboard.js

58 lines
2.2 KiB
JavaScript

const { Command } = require('discord-akairo');
const fs = require('fs');
class StarBoardCommand extends Command {
constructor() {
super('starboard', {
aliases: ['starboard'],
category: 'admin',
channelRestriction: 'guild',
args: [
{
id: 'delete',
type: 'string'
}
],
userPermissions: ['ADMINISTRATOR'],
description: {
content: 'Set starboard',
usage: '[]',
examples: ['']
}
});
}
async exec(message, args) {
let starboardChannel = message.channel.id;
fs.readFile(`./starboard/${message.guild.id}.json`, 'utf8', function readFileCallback(err, data){
if (err){
fs.writeFile(`./starboard/${message.guild.id}.json`, `{"starboard": "${starboardChannel}"}`, function (err) {
if (err){
console.log(err);
}
})
} else {
if (args.delete == 'delete') {
let starboard = JSON.parse(data); //now it an object
starboard ['starboard'] = '';
var json = JSON.stringify(starboard); //convert it back to json
var deleteBoard = true;
} else {
let starboard = JSON.parse(data); //now it an object
starboard ['starboard'] = starboardChannel;
var json = JSON.stringify(starboard); //convert it back to json
}
fs.writeFile(`./starboard/${message.guild.id}.json`, json, 'utf8', function(err) {
if(err) {
return console.log(err);
}
})}});
if (deleteBoard)
return message.channel.send('The starboard have been deleted')
else
return message.channel.send(`This channel have been set as the starboard`);
}
}
module.exports = StarBoardCommand;